こんにちは、しらすです。
Pythonでの機械学習について、基礎的な部分から徐々に実装しながら勉強していきたいと思います。第一回は、人工知能とは言いつつどうやってソフトを作ればいいんだ!?という人に向けて、実はすごく簡単に実装できるんだよーということを記載していきたいと思います。
精度とか細かいことを気にせず、とりあえず動くものを作るのは、実は非常に簡単です。まずこのページを参考にはじめの一歩を踏み出してみてもらえたら幸いです。
ちなみに、以下の書籍を参考に進めていきたいと思います。今回は第2章 機械学習入門について記載していきます。
scikit-learnについて
scikit-learnはPythonの機械学習ライブラリです。このライブラリを使用することで、SVNやRandom forestなど様々な手法を簡単に実装することができます。
その反面、様々な手法があるため、初心者が簡単にどれを実装すべきかを判断することは難しいという問題があります。
そんな方のために、サンプル数や目的に応じて適切な手法を調べることができるのがこのCheat-sheetです。解析したいデータがある場合は、まずはこのシートに沿ってやってみることをお勧めします。
やってみよう!線形SVCによるアヤメの分類
基本的な手法である線形SVMを使ったクラスタリング手法のLinerSVCを実装してみました。基本的にはどんな手法でも以下のステップで実装が可能です。 実装自体もご覧の通り非常に簡単です。
- データを読み込む
- データをラベルとデータに分割
- 学習データと評価データに分割
- モデルの設定
- 学習
- 評価
結果としては93%の精度で分類できるモデルを作成することができました。これで、線形SVCによるアヤメの分類器作成は完了になります。簡単!
他の手法も試してみましょう
線形SVCではなくSVCを使用してみたいと思います。
変更するのは”Select algorithm”の部分で、LinerSVCをSVCに書き換えるだけです。
#Select algorizm clf = LinearSVC()
#Select algorizm clf = SVC()
精度は96%程度まで向上しました。
次回はハイパーパラメータの設定方法について記載したいと思います。
コメント