回帰の機械学習でテスト用のデータで精度を確認する
こんにちは!
ぷもんです。
前回はデータセットのどの指標が不動産の価格に大きな影響を与えているのか
を求めました。
今回は学習用のデータで学習させてから、テスト用のデータで精度を確認します。
まずは、sklearn.model_selectionをインポートします。
import sklearn.model_selection
これはデータをテスト用と学習用に分けるために使います。
前回、説明変数としてXに
CRIM、ZN、INDUS、CHAS、NOX、RM、AGE、DIS、RAD、TAX、PTRATIO、B、LSTATなどのデータ
目的関数としてYに価格を入れました。
詳しくは機械学習で不動産の価格に大きな影響を与えている要素を考える
というnoteを見てください。
これをテスト用と学習用に分けます。
X_train, X_test, Y_train, Y_test = sklearn.model_selection.train_test_split(X,Y)
次にデータの大きさを見ます。
X_test.shape
X_train.shape
X.shape
結果がこちら!
この数字は行と列を表していて
縦に127行、横に13列の大きさのデータがあることがわかります。
データの項目がCRIM、ZN、INDUS、CHAS、NOX、RM、AGE、DIS、RAD、TAX、PTRATIO、B、LSTATの13種類なので
127つのデータが入っていることになります。
さらに、重点回帰分析に使う線形回帰モデルを呼び出し
学習用のデータを当てはめて学習させます。
multi_lreg = LinearRegression()
multi_lreg.fit(X_train, Y_train)
結果は次のコードで出力されます。
print(multi_lreg.score(X_train,Y_train))
print(multi_lreg.score(X_test,Y_test))
こんな感じになりました!
正答率が出ています。
ボストン市の住宅価格のデータのデータセットを使った
回帰が終了しました!
今回は学習用のデータで学習させてから
テスト用のデータで精度を確認しましたが
住宅価格を出すにはどうすればいいのか気になったので
さらに勉強しておきます。
回帰の前にアヤメのデータセットで分類の勉強をやっていたことで
似ているとこ、違うとこを意識しながら勉強できて
確実に理解するスピードが速くなったと感じました。
分類と回帰は教師あり学習という同じくくりの似ているものだったので
これが教師なし学習や強化学習だとどうなるのか
さらに勉強していきます。
参考にしたサイトはこちらです!
最後まで読んでいただきありがとうございました。
ぷもんでした!