コンテンツにスキップ

第1章 機械学習とは?

1 機械学習とは?

従来のプログラミングでは人間が何らかの判定基準をプログラミングで書き、それによって判定を行います。

機械学習では人間の指示では無く、プログラム自身が判定基準を作ります。大量のデータを元に学習し、法則を見つけます。それによって、新規のデータも判定することが出来ます。

機械学習の方法には「教師あり学習」と「教師なし学習」があります。「教師あり学習」では、あらかじめ、そのデータに対する答えがあるデータを元に学習します。「教師なし学習」ではそのような答えが無いデータを使用し、データから関連性があるものを見つけます。

2 機械学習の手順

機械学習の手順は一般に以下のように行われます。

◆1.教師データの用意

学習する元となるデータを用意します。これを教師データと呼び、大量のデータが望ましいです。ただし、データに不正な値があるかどうかは事前に確認しなければなりません(前処理)。例えば存在しない部分(欠損値)がある場合には、それを何らかの方法で処理します。

◆2.アルゴリズムの選択

どのような方法で機械学習を行うかを決定するアルゴリズムにはいろいろな種類があります。用意したデータと得たい結果にふさわしいものを選択する必要があります。

◆3.機械学習を行う

選択したアルゴリズムを使って用意した学習用データを元に機械学習を行い、法則を見つけ、「モデル」を構築します。「モデル」には、学習データから学んだ結果から得たルールが格納されています。

◆4.モデルの評価

テストデータを使ってモデルがどこまで正確に予測できるかを評価します。テストデータはあらかじめ答えが分かっているものを用意します。90%以上の正解が望ましいです。

◆5.予測

教師データには存在しないデータを用意し、それをモデルを使って予測します。

3 教師データ

教師有り学習の場合、教師データは以下のようなデータです。

体高 体重 種類
0.54 30
0.30 8
0.91 44

教師データは2種類の項目に分けられます。入力データと答えです。入力データから答えを導き出す法則を見つけることが機械学習です。

入力データのことを特徴量や説明変数と呼びます。本資料では特徴量と呼ぶことにします。

答えとなるデータのことを目的変数や正解ラベル、あるいは単にラベル、とも呼びます。本資料では正解ラベルと呼ぶことにします。

上のデータは体高や体重を元に種類を導き出すことが出来ますので、体高や体重が特徴量、種類が正解ラベルになります。

4 モデル

モデルとはデータを学習した結果、導き出されたルールを格納しているオブジェクトです。

例えば、気温とアイスクリームの売り上げのデータがあったとします。気温が上がればアイスクリームの売り上げもそれにつれて上昇します。

このようなとき、売上を求めるにはどのような式で求めれば良いか、という式がモデルの中に格納されています。

5 準備

ターミナルから必要なライブラリをインストールしておきます。

pip install scikit-learn lightgbm prophet