ここで学習すること
scikit-learnを用いて線形回帰モデルを作成する流れを理解します。
線形回帰
scikit-learnとは回帰や分類といった機械学習を行うためのライブラリです。scikit-learnには下記の機械学習を行うためのモデルを作成するモジュールが組み込まれています。
線形回帰
y=2x+3zのような1次方程式で予測する回帰を線形回帰といいます。
線形短回帰
y=2x+3のような予測したい値yを1つのデータxから計算する回帰分析です。
最小二乗法
y=ax+bの関係があるx、yからa、bを推測します。
実際のyの値と予測値したyの値の差の二乗の総和が最小となるa、bを求める方法です。
二乗とする理由は+とーの誤差がお互いに相殺するのを防ぐためです。
LinarRegressionを用いて線形回帰モデルを作成する
線形回帰モデルを作成するにはscikit-learnのlinear-model内にあるLinarRegressionというモデルを使います。
以下はLinearRegressionを用いて線形回帰モデルを作成しています。
#LinearRegressionをインポートします。
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression
scikit-learnのmodel_selectionにあるtrain_test_splitをインポートします。train_test_splitとはデータセットを学習用と訓練用に分けるツールです。
from sklearn.model_selection import train_test_split
scikit-learnにあるボストン住宅価格データセットをインポートします
from sklearn.datasets import load_boston
インポートしたデータセットを読み込みます
data = load_boston()
データを訓練用、テスト用に分けます
train_X, test_X, train_y, test_y = train_test_split(data.data, data.target,random_state=42)
学習モデルを構築します
model = LinearRegression()
訓練データを用いで学習します
model.fit(train_X, train_y)
テストデータを用いて予測値を表示します
print(model.predict(test_X))