コンペチュートリアル データハンドリング 前処理 可視化 機械学習

ボストン住宅価格 〜決定木〜

投稿日:5月 26, 2019 更新日:

線形回帰とは

線形回帰
複数の変数における相関関係を直線モデルによって説明する分析手法。

具体的に言うと?
ボストンの住宅価格を、住宅の立地や間取り、築年数などから予測するモデルを作ること

分類と何か違うのか
分類がグループ分けに対して、回帰は値を予測する点で異なる

 

基本的なデータ探索について

データセットの説明

ボストン近郊の住宅価格を分析するためのデータ

カラムの説明

  • CR:人口1人当たりの犯罪発生数
  • ZN:25,000平方フィート以上の住居区画の占める割合
  • INDUS:小売業以外の商業が占める面積の割合
  • CHAS:チャールズ川によるダミー変数 (1: 川の周辺, 0: それ以外)
  • NOX:NOxの濃度
  • RM:住居の平均部屋数
  • AGE:1940年より前に建てられた物件の割合
  • DIS:5つのボストン市の雇用施設からの距離
  • RAD:環状高速道路へのアクセスしやすさ
  • TAX:$10,000ドルあたりの不動産税率の総計
  • PTRATIO:町毎の児童と教師の比率
  • B:町毎の黒人(Bk)の比率を次の式で表したもの。
  • LSTAT:給与の低い職業に従事する人口の割合
  • target:住宅価格の中央値
  CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX PTRATIO B LSTAT
count 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000 506.000000
mean 3.593761 11.363636 11.136779 0.069170 0.554695 6.284634 68.574901 3.795043 9.549407 408.237154 18.455534 356.674032 12.653063
std 8.596783 23.322453 6.860353 0.253994 0.115878 0.702617 28.148861 2.105710 8.707259 168.537116 2.164946 91.294864 7.141062
min 0.006320 0.000000 0.460000 0.000000 0.385000 3.561000 2.900000 1.129600 1.000000 187.000000 12.600000 0.320000 1.730000
25% 0.082045 0.000000 5.190000 0.000000 0.449000 5.885500 45.025000 2.100175 4.000000 279.000000 17.400000 375.377500 6.950000
50% 0.256510 0.000000 9.690000 0.000000 0.538000 6.208500 77.500000 3.207450 5.000000 330.000000 19.050000 391.440000 11.360000
75% 3.647423 12.500000 18.100000 0.000000 0.624000 6.623500 94.075000 5.188425 24.000000 666.000000 20.200000 396.225000 16.955000
max 88.976200 100.000000 27.740000 1.000000 0.871000 8.780000 100.000000 12.126500 24.000000 711.000000 22.000000 396.900000 37.970000
 
  • データの種類:各特徴量が量的変数か質的変数か。質的変数の場合、その取りうる値の数が多すぎないか、その比率に大きな偏りがないか、を確認する。また、データの中に個々を特定するIDが存在する場合、正答率100%など異常な値になってしまうので注意が必要
  • 欠損値の有無:欠損値があると機能しないアルゴリズムもあるため処理方法を検討する。対処法として、除外、補完、補完の方法についてデータ数や偏りに注意して処理する
  • 外れ値:外れ値はも、精度に影響する場合があるため処理方法を検討する
  • p/nの比率:分類する場合、p/nが偏っている場合うまく機能しない場合がある
  • 特徴量の個数:数が多い場合、うまく機能しないアルゴリズムや膨大な時間がかかってしまうアルゴリズムがある
 
 

MEDVと相関が高いのは以下3つ

  • RM(相関係数0.7)
  • LSTAT(相関係数-0.74)
  • PTRATIO(相関係数-0.51)

目的変数に対して、相関の強い説明変数に限定することで、よりシンプルなモデルを作ることができる

depth = 1, R2 = 0.4027923438986055, std = 0.10364725059149096 depth = 2, R2 = 0.6168655658914497, std = 0.10675497464307494 depth = 3, R2 = 0.688982165844494, std = 0.09379878317463618

R2 = 0.4027923438986055, std = 0.10364725059149096 depth = 2, R2 = 0.6168655658914497, std = 0.10675497464307494 depth = 3, R2 = 0.688982165844494, std = 0.09379878317463618

 
 
 
 
 
 
 
 
 
 

学習曲線について

High varianceとは

  • データに対して、過学習している状態のこと
  • モデルが複雑すぎ、または、データが不足している可能性がある

High Biasとは

  • データに対して、十分に学習できていない状態のこと
  • モデルの柔軟性が低いまたは、特徴量が少なすぎる可能性がある

もっとも結果が良い値について

degree = 4が最適。理由は、cvスコアが他の深さに対して高い位置で収束している。また、訓練スコアと繁華の差が小さいため

すでにデータ量に対して改善は収束しているため、データを増やしても、結果の改善は期待できない

グリッドサーチについて

グリッドサーチとは

ハイパーパラメータの格子を作り、総当たりで結果を検証し、最適な組み合わせを見つけるハイパーパラメータの最適化手法

グリッドサーチと同じようにハイパーパラメーターを探索する手法

ランダムサーチ

優れている点:総当たりではないので計算が早い
使い分け:時間をかけずに、ある程度の結果を出したい場合に適している

グリッドサーチの使いこなし

グリッドサーチの際、Kfoldの折りたたみの回数を5回と設定しているが、それぞれ3回と10回に変えて検証してみる

折り畳み回数の増加にともない、スコアが改善し、k=6程度から収束している。 これは、折り畳み回数が 計算効率の良いk=6がベストと言える。

グリッドサーチにおいて評価方法を決定係数を使用していたが、平均二乗誤差に変更してみる

-コンペチュートリアル, データハンドリング, 前処理, 可視化, 機械学習

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

不均衡データの取り扱い | PortoSeguro コンペ

Contents1 概要説明2 コンペの説明3 インデックス4 不均衡データセット5 メトリックの罠6 Resampling7 Random under-sampling8 Random over-s …

no image

機械学習スタッキング例

汎化性能を上げるためkaggleでよく利用されている、スタッキングの実行例をメモしておきます。 スタッキングとは、単一の学習器をそのまま使うのではなく、複数の学習きを組み合わせることで、過学習を防ぎ予 …

no image

kerasでCNN実装

Contents0.0.1 CNNとは0.0.2 畳み込み層とプーリング層について0.0.3 CNNの精度を向上させる方法0.0.4 CNN構造0.0.5 モデルの選定理由1 中間層の表示 CNNとは …

no image

毒キノコの判定 〜SVM〜

Contents1 SVMとは2 標準化3 カーネルとは4 コストペナルティCとは5 ハイパーパラメータの調整6 学習およびテスト SVMとは クラス間のマージンを最大化するように境界線を引く手法。ク …

no image

kaggle:House Price チュートリアル(EDA探索的データ解析)

Contents1 概要説明1.1 データ探索の流れ2 ライブラリインポート3 データの読み込み4 データ項目からの考察5 SalePriceの分析5.1 ヒストグラムで分布の可視化5.2 数値変数と …