1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Home Pricesの予測に挑戦①~量的変数に対して重回帰分析~

Posted at

kaggleの中古物件価格予測にチャレンジ

他の人のチュートリアルを見ながら理解したり、チューニングしたりは
ある程度できるようになってきたので、自分なりのやり方でkaggleの中古物件価格予測をやってみる

課題のリンクはこちら

初見の感想・方針

変数が多い・・・
説明変数・・・80!

signateのお弁当の需要予測のように、yと各変数をプロットするのは難しい
ちょっと変数が多すぎるのでまずは量的変数だけで重回帰分析をやってみようと思う。
チューニングとか質的変数、非線形モデルの利用はまた別の機会に

変数選択

方針:量的変数に絞り、相関係数のヒートマップで関係ありそうな値を算出

データフレームの相関係数算出の書き方は以下
train.corr()

[相関係数のヒートマップの書き方]
(https://qiita.com/tmp_llc/items/db626c9e331bfdc4857a)
相関係数のヒートマップの書き方その2

ヒートマップを見ても判断できなかった・・・
純粋に相関係数の絶対値が高いものをランキングして、それらを変数に代入することとした
絶対値の取り方
データフレームのソート

target_var = abs(corr_mat.loc["SalePrice",:]).sort_values(ascending=[False])[1:11]

この結果で上位10件の変数を説明変数とした

モデル選択

今回はシンプルにscikit-learnの線形回帰を実施。
http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html

ちなみに提出ファイルを作成する際も少しはまった。sckit-learnの線形回帰の結果は配列で
出力されるので、このままでは提出ファイルにうまく結合することができな。
以下のようにデータ型をpandasデータフレーム型に変換してあげる必要がある

sample["SalePrice"] = pd.Series(y_test)

結果

RMSE(平均平方二乗誤差)のスコアは 0.73044

順位は4236/4313位

本当はデータをもっと俯瞰的に見たりしないといけないので、
チューニングについては次回以降に実施する

コードはGitHub gistに提出した。ほとんど参考にならないけど、
そもそも投稿することに意義がある(と思う)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?