線形回帰
以下のようなカラムを持つデータについて考えます。
['Avg. Area Income', 'Avg. Area House Age', 'Avg. Area Number of Rooms','Avg. Area Number of Bedrooms', 'Area Population', 'Price', 'Address'] Avg. Area Income Avg. Area House Age ... Price Address
0 79545.458574 5.682861 ... 1.059034e+06 208 Michael Ferry Apt. 674\nLaurabury, NE 3701...
1 79248.642455 6.002900 ... 1.505891e+06 188 Johnson Views Suite 079\nLake Kathleen, CA...
2 61287.067179 5.865890 ... 1.058988e+06 9127 Elizabeth Stravenue\nDanieltown, WI 06482...
3 63345.240046 7.188236 ... 1.260617e+06 USS Barnett\nFPO AP 44820
4 59982.197226 5.040555 ... 6.309435e+05 USNS Raymond\nFPO AE 09386ここでは、目的変数をPriceとして線形回帰を適用していきます。
そのため、以下のようにデータを分割します。
X = df[['Avg. Area Income', 'Avg. Area House Age', 'Avg. Area Number of Rooms',
'Avg. Area Number of Bedrooms', 'Area Population']]
Y = df["Price"]上記の従属変数Xおよび目的変数yを用いて、テスト用データを取得します。
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.33,random_state=42)train_test_split関数は、データセットをトレーニングセットとテストセットに分割するために使用されます。
random_stateパラメータは、データセットを分割するために使用されるランダムシードを指定するために使用されます。
ランダムシードは、データを分割するための疑似乱数ジェネレータのシードとして使用されます。同じランダムシードを使用すると、分割が毎回同じようになるため、再現性が確保されます。
線形回帰モデルを以下のようにして生成します。
from sklearn.linear_model import LinearRegression
linearR_model = LinearRegression()
linearR_model.fit(X_train,y_train)

