コロナで外出自粛するので、機械学習でもはじめてみますか。

お久しぶりです。タイトルのままです。
先行き不透明で不安な日々が続きますが、明日は来るのでできることからはじめていきましょう。

とりあえず今回は機械学習をはじめるための準備を自分のために残します。
間違っているかもしれませんのでご指摘お願いします。

いきなり機械学習といってもよくわからないので、過去のデータから何かを予測するモデルを作ることを考えようと思います。
(教師あり学習の線形回帰というアルゴリズムを活用した機械学習モデルをつくるということになります)
それでは順番にやるべきことを書いていきます。

1.目的変数を決める

簡単に言えば目的変数とは予測したい数値のことです。
ただ機械学習を使ってみたいと思っても、目的がないと何をすれば良いかわからず路頭に迷いますので、何を予測したいのかを決めましょう。

有名な事例でいうと住宅の価格を予測するモデルなどがあります。
住宅の価格は立地(駅からの距離など)や部屋の数、人口密度、治安の良さなど様々な変数(説明変数)によって決まります。
このように複数の変数によって予測できる目的変数を決めましょう。

ちなみに目的関数は正規分布となるもののほうが予測しやすいです。

2.データを集める

一番大変なのはデータを集めることだと思います。機械学習は大量のデータを集めることによって効果的に学習します。まずは動かしてみようと思う方は少ないデータもしくはオープンデータを活用してアウトプットしてみると良いと思います。

ここで集めるデータは1で決めた目的変数に関係の深い(相関の強い)説明変数です。

住宅の価格が目的変数の場合、部屋の数や窓の数、立地条件、治安などのデータが説明変数になります。

3.データのクレンジング

データの前処理を行います。集めたデータはそのまま使えないことのほうが多いです。例えば日時のデータなどは[ 4/1 ]では数値として扱うことが難しいので、変換する必要があります。

ここでは詳しく話しませんが、ダミー変数や重み付けなどを使って使えるデータに処理していきましょう。

4.集めたデータの分析

集めたデータの分析というかどういったデータなのか確認しておきます。
まずは欠損値つまりデータに抜け漏れがないかの確認を行います。
そして、回帰の場合は目的変数と相関の強い説明変数を見つけておきます。
相関の強い説明変数を使って学習させるほうが精度が上がるためです。

5.学習モデルをつくる

集めたデータを使って学習させていきます。pythonの場合ライブラリを使って簡単に学習させることができます。

過学習とならないようにデータを学習用と検証用に分けます。こちらもpythonライブラリで簡単にできます。

6.学習モデルを評価する

つくったモデルの精度を評価していきます。

精度の評価指標はいくつかあります。RMSEやR2を使って評価をしてみてください。


以上が機械学習の始め方になります。
備忘録に近いものなので、これだけではあまり参考にならないかもしれませんが、何かのきっかけとなってもらえれば幸いです。

人工知能や機械学習を学びたいというモチベーションよりも、何かを予測してみたいというものを探してみるのが近道かな?と思います。

それではまた。

この記事が参加している募集

おうち時間を工夫で楽しく

あなたとの出会いが僕の人生を変えるかもしれない。変わることは決まってたのかもしれない。 僕のやる気スイッチ押してみない?