またタイタニックです。とりあえずの勉強にはすごく使いやすいです。
MicrosoftのAzure Machine Learning(以下AzureML)はずっと触りたいと思っていたのですが、今日時間が取れてやっと触れました。
軽くチュートリアル的なのをやった感じ、かなり直観的に機械学習を行えそうだなと感じました。
ということで、タイタニックのデータセットを使って生存予測をAzureMLでやっていきたいと思います。
パソコンにあるデータセットをAzureMLで使えるようにする。
1.左のメニューからDATASETを選択
2.左下の+NEWを押す
3.FROM LOCAL FILEを押して、データセットをアップロードする
4.プロジェクト内でMy Datasetsの中に、アップロードしたファイルがあるので置く
右クリックでデータを見れる
ここからは以下の記事でやった手順で進めていく。
k最近傍法でTitanic生存者予測 - 森と秋刀魚と備忘録
学習に使えそうなデータだけ抽出する
Select Columns in Datasetを使う。
Select Columns in Datasetをアクティブにして、プロパティーのLaunch column selectorを選択する。
抽出したいのを右欄に移動させて、右下のチェックマークで反映。
画面下のRUNで動かす。
Select Columns in DatasetをVisualizeする。
できた。
欠損値を中央値で埋める
Missing Values Scrubberを使う。
プロパティのFor missing valuesはReplace with medianを選択
RUNで動かす。
できた。
文字列を数字に置き換える。
Convert to Datasetを使う。
1つ目のパラメータはこう
2つ目のConver to Datasetはfemaleを1に置き換えてる。
できた。
本当は1つのモジュールで済ませたいんですが、カンマや””で区切ってもうまくいかなかった。
恐らく方法はあるのでしょうが、今回は流します。
訓練用とテスト用で分ける
上の記事ではやらなかったけれど、最後に言及はしたのでやってみる。
Split Dataを使う。
プロパティのFraction of rows in the firs...が割合
訓練:テスト=8:2でやるので、0.8を入力
訓練する
k近傍法を使おうと思ったけど、k平均法しかなかった。
本当か?って感じ。もしかしたらあるかもしれない。無ければPythonやRコードが書けるのでそれでやればいい。
今回はコードを書かないと心に決めてるので、Two-Class Boosted Decision Tree Regressionを使う。決定木。
Train Modelのプロパティは、予測したいものを選択するのでSurvivedを選択する。
RANで動かす。
こんな感じで訓練してるらしい。今回100回
できた。
学習したモデルをテストデータで評価する
Score Modelでテストデータを予測。
Evaluate Modelで評価。
RANで動かす。
テストデータの予測結果。
Scored Labelsが予測、Scored Probabilitiesは1に属する確率。
見る限りは0.5が閾値っぽい。当たり前ですね。
評価結果
ROC曲線やらが見れる。
Accuracyが0.775だった。まぁそんなもんでしょって感じです。
Kaggleに提出した
せっかくだし用意されたテストデータも予測して提出してみた。
順位が上がった。
以上です。