Pythonの練習4

これまでのライブラリと,新しくscikit-learnを使用して回帰分析の練習

import numpy as np 
from sklearn.linear_model import LinearRegression
import pandas as pd
import matplotlib.pyplot as plt

# csv_read
train_data = pd.read_csv('ファイルの場所・名前')

#今回は,一つの変数,一つの出力で実行
train = train_data.values
x_train = train[:,0:1]
y_train = train[:,1]

model = LinearRegression()
lm = model.fit(x_train, y_train)

#重み係数,切片の表示,係数は変数が複数の場合のために行列になっている
print(lm.coef_[0])
print(lm.intercept_)

#図を書く際に使用,回帰線
b = lm.intercept_
a = lm.coef_[0]
x = train_data.yoko
y = a*x+b

# 好きなサイズのfigureを作成
fig = plt.figure(figsize =(6,4))

#figureにaxesを1つ追加
ax = fig.add_subplot(111)

#線形に等間隔な数列を用意,回帰線のため
X = np.linspace(0,100)

#dataをplot
ax.plot(train_data.yoko,train_data.tate, 'o')
ax.plot(X,a*X + b, 'r')

#label
plt.ylabel('tate')
plt.xlabel('yoko')

#表示範囲
ax.set_xlim([5,100])
ax.set_ylim([0,25])

#保存
plt.savefig('保存する場所・名前')

算出した係数と切片は以下の通り
係数=0.20776161128209528
切片=3.232568233629527

簡単に回帰分析ができる

コメントを残す

メールアドレスが公開されることはありません。