本記事では、機械学習入門におすすめのライブラリscikit-learnを使って、あやめの分類を行います。 機械学習の概要から、scikit-learnの基本的な使用法を学びましょう。
機械学習とは
機械学習とは、簡単に言うとコンピュータに学習能力を持たせる技術です。大きく分けて3つの学習方法があります。
- 教師あり学習: ラベル付きデータから学習する手法(分類、回帰など)
- 教師なし学習: ラベルなしデータから知識を獲得する手法(クラスタリングなど)
- 強化学習: 試行錯誤から最適な行動を学ぶ手法
用途に応じて適切な手法を選択することが重要です。
また、同時にAIや深層学習(ディープラーニング)なども耳にするかと思いますが、以下のようにAI ⊃ 機械学習 ⊃ 深層学習という包含関係にあります。
![](https://arika-blog.com/wp-content/uploads/2023/11/aa26426f95aa140606a73e229d708bfe.png)
ざっくり言うと、人間の思考と同じような形で動作するプログラムをAIと言い、特定のタスク(分析の方向性が明確)に対して予測できるのが機械学習で、より複雑なデータも処理できるのが深層学習です。
ただし深層学習は機械学習に比べ、学習に要する時間やデータは多くなります。
あやめの分類をしてみよう
あやめの分類はその名の通り分類なので、教師あり学習で行います。
以下がイメージです。
![](https://arika-blog.com/wp-content/uploads/2023/11/8e39e0d917149f19cd298fc52fdee9dc.png)
実行環境はGoogle Colabratoryになります。
はじめに、アヤメのデータセットをダウンロードし、pandasを使って整形します。
pandasとは、表形式を扱うライブラリになります。
![](https://arika-blog.com/wp-content/uploads/2023/11/caa6887e75401f3aca77b9de5e7f38fb.png)
整形ができたら、学習用とテスト用にデータを分けます。
出力結果の例になります。
![](https://arika-blog.com/wp-content/uploads/2023/11/472182c935fafd7895eb3ea0b6ce4c8b.png)
![](https://arika-blog.com/wp-content/uploads/2023/11/fa50e337a6af01ad97305f01ec3b1b52.png)
次に学習用のデータを使ってモデルを作成(model.fit
)します。今回はサポートベクトルマシンというアルゴリズムを使用します。
テスト用のデータを使って推論(model.predict
)を行います。
predの中身を見てみると、
![](https://arika-blog.com/wp-content/uploads/2023/11/256789ed591a2bd2aa12d123b3f1c47d.png)
となっています。y_testが以下のようになるため、
![](https://arika-blog.com/wp-content/uploads/2023/11/a5516ae63261bd94791d4dc760d7592c.png)
正答率が、14/15=0.93333…ということが分かります。
まとめ
scikit-learnは機械学習入門に適したライブラリです。基礎的な使用法を習得して実践的な機械学習にチャレンジしましょう。
関連記事
【Python】Pandasだけでグラフを作成する方法
2023年10月追記
ExcelにPythonが搭載された(Python in Excel)ので、こちらでもあやめの分類をしてみました。
Python 基礎文法の教科書を執筆しました!
コメント