先日、Kaggleを始めて、最初にタイタニック号のチュートリアルをやってみたところ、何とかやっていけそうという手ごたえをつかんだところで、より精度を高めるために、機械学習の基礎的なコースを受けてみることにしました。Kaggleでは全編英語ではありますが、無料でこのような充実したコースが用意されております。機械学習、データサイエンスの裾屋が広がって、オフィスソフトのようにITの基礎スキルになる日も近いのかもしれませんね。
このコースでは、基礎的なDecision Treeを使って、お家の価格予測を行いながら基礎的な機械学習について学んでいけます。
How Models Work
ここでは、Dicision Treeの概要と、Dicision Treeでの精度の上げ方の概念的なことが記載されています。具体的な方法の学習は始まりません。
Basic Data Exploration
ここでは、pandasライブラリを活用してデータの読み込み、データの情報の見方を学びました。
pandasライブラリの read_csv()を用いることでCSVファイルからデータをDataFrameとして取り込む方法と、DataFrameのdescribe()を使用することで、データの count(データの個数), mean(平均), std(標準偏差), min(最小値), 25%, 50%, 75%, max(最大値)の値を見ることができることを学びました。
Your First Machine Learning Model
ここでは、モデル構築に用いるデータを選別する方法について学びました。
慣例的に、推論値は y で表現し、推論に用いるデータ項目(Features)はX(大文字)で表現されます。
またモデルの構築の流れとして、Define(どのようなモデルを使用するかを決める)⇒ Fit(Featuresで与えられたデータからパターンを抽出する)⇒ Predict(値を推論する)⇒ Evaluate(モデルの精度を評価する)となることを学習しました。
なお、pandasライブラリについては別のコース Pandas Micro-Courseで学ぶことができるそうです。
Model Validation
ここではどのようにモデルの評価を行うかを学びます。ここでは、Mean Absolute Error(平均絶対誤差)を用いて評価する方法を学びました。また評価するためには、訓練データは使用できないので、既存のデータを訓練データと評価データとに分割する方法についても学びました。
Underfitting and Overfitting
ここでは、UnderfittingとOverfittingについて学びます。
実際にDecision TreeのLeafの数を変更してみて、Underfitting, Overfittingしているモデルを複数作り評価することで、これらについて学びまして。
Random Forests
ここではより精度を高めるためにRandom Forestを使う方法について学習します。思った以上に簡単に使用できることに驚きでした。
Machine Learning Competitions
ここまでで学んだことを活用して、コンペティションに参加してみます。
ここで参加するコンペは、Housing Prices Competitionです。
このレッスン通りに実施した段階では、Scoreは21217.91640であり55,510チーム中38,814位となりました。
まとめ
KaggleでIntro to Machine Learningを受けてみました。大まかなモデル構築の流れとそれを実現するためのコードの書き方が分かった気がします。ここまででタイタニック号のチュートリアルとあわせて2つのコンペに参加し、コンペへの参加のハードルも下がった気がします。
次は、Pandas Micro-CourseかIntermediate Machine Learningへ進むことが薦められていたので次回は、Intermediate Machine Learningを進めていきたいと思います。