機械学習のための「前処理」入門

1.4 統計量の計算

f:id:bitop:20190611092658p:plain

f:id:bitop:20190611092734p:plain

1.5 データの可視化(その1)

f:id:bitop:20190611092840p:plain

f:id:bitop:20190611092920p:plain

このplotting.scatter_matrixは比較的新しい
関数のようでpandas version 0.19ではエラーが
でたのでversion(0.24.2)をあげたら描画OKとなった。
f:id:bitop:20190611092951p:plain

value_countsによる頻度(出現率)を算定できる
f:id:bitop:20190611093358p:plain

1.6 データの可視化(その2)

plt.gca()は直前に操作したaxesを取得する関数。
plt.setp()は第一引数のobjectにいろいろ設定するための
ここではaxisの横軸の目盛にラベルを後付け設定している。
f:id:bitop:20190611095206p:plain

2 データ準備

2.2 欠損値の除外

もともとより 300行(4%)除外された
f:id:bitop:20190611100829p:plain

dropnaは通常欠損値が存在する行を削除するがaxis=1と引数を指定すると列を削除できる

2.3欠損値の補完

f:id:bitop:20190611101444p:plain

2.4 外れ値の除外

f:id:bitop:20190611102014p:plain

2.5 文字列を数値へ変換

f:id:bitop:20190611102854p:plain One-Hot表現 f:id:bitop:20190611103114p:plain

2.6 分析データセットの作成

ここでto_csv('bank-prep.csv')として保存したファイルはGoogleDriveではなく
Google Colaboratoryが動作している環境(Linux)の/contentに保存されていた。

3 モデル作成

3.2 不均衡データの均衡化

imbalancedは既に入っていた。
f:id:bitop:20190611110707p:plain
imbalancedにはunder_sampling以外にもbase,exceptions,over_sampling,utilsも実装されているようです。
f:id:bitop:20190611112654p:plain

均衡化した結果おなじ数となった。
f:id:bitop:20190611112037p:plain
RandomUnderSampler関数の引数の意味はこちらのサイトにある
tekenuko.hatenablog.com

3.3 決定木モデルの作成と検証

精度の平均は0.76768,標準偏差は0.02992 
f:id:bitop:20190611115815p:plain
再現率は0.84615,適合率は0.7857
f:id:bitop:20190611120008p:plain

3.4 パラメータの最適化

決定木のパラメータは13ある。
f:id:bitop:20190611120241p:plain

もっともよい組み合わせは
f:id:bitop:20190611120906p:plain
となり本とは若干異なった。