アメリカのデータ分析コンペKaggleでは、世界中の優秀なデータサイエンティストによって作成された様々なeラーニング教材が無料で公開されています。
その中でも、この記事では以下の講座について解説します。

ただ、全編英語ですし、ところどころ説明を省略しているところもあるので、私なりにかみ砕いて解説していきます。
この記事で取り扱うクラスは以下の通りです。
sklearn.ensemble.RandomForestRegressor
Random Forests(ランダムフォレスト)
Introduction(イントロダクション)
決定木で陥ったアンダーフィットやオーバーフィットの問題を解決しつつ、予測精度を上げる方法として、ランダムフォレストが挙げられます。
ランダムフォレストでは多くの決定木の予測の平均値を取ることで、1つの決定木に比べてはるかによい予測精度が得られ、しかもパラメータも既定値のままで問題ありません。
Example(例)
これまでのコードとほぼ同じです。ここでは決定木DecisionTreeRegressorの代わりにランダムフォレストRandomForestRegressorを呼び出しています。
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
forest_model = RandomForestRegressor(random_state=1)
forest_model.fit(train_X, train_y)
melb_preds = forest_model.predict(val_X)
print(mean_absolute_error(val_y, melb_preds))
Conclusion(結論)

まだ改善の余地はありますが、決定木のときの誤差である250,000を大きく上回る精度となりました。
決定木では木の深さを調整したように、ランダムフォレストにも調整することができるパラメータがあります。しかし、ランダムフォレストの場合は、このようなチューニングを行わなくても一般的に問題なく動作します。
Your Turn(練習問題)
ここでも、Kaggle notebook上で実際のコードを使った練習問題があるので、知識の定着にトライしてみてください。
Machine Learning Competitions(機械学習のコンペ)
これまで学んできたことを試すため、Kaggle学習者のための住宅価格コンペで実際に予測データを提出する練習問題です。
Intro to AutoML(AutoMLの紹介)
最後に、Googleの有料サービスAutoMLの紹介と使い方のレクチャーがあります。
費用は掛かりますが、機械学習モデルのプロセスのうち、データの前処理から予測まで一括して実行してくれるので、興味がある方は覗いてみるといいかもしれません。
Certificate(修了証の授与)
Courseの受講を終えたので、修了証がもらえました!やはり、嬉しいものです。

今回はランダムフォレストや機械学習のコンペについて学びました。ランダムフォレストはパラメータをあまり気にせずとも高い精度が出せる便利なモデルだと思います。Intro to Machine Learningはこれで終わりですので、次回はIntermediate Machine LearningのCourseを受けてみようと思います。
以上、最後までお読みいただきありがとうございました。
コメント