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
簡単に回帰分析ができる