機械学習自動化ツール 〜分類編〜

初めまして。

オリエンタル情報システム、データサイエンティストの”たけまる”です。

今日から機械学習データ分析まわりの記事をかいていきますので、たまにみていただけると嬉しいです。

 

ということで早速機械学習の話題。

最近データサイエンティストの不足にともない、機械学習自動化ツールが流行っています。ということで当社でもプロトタイプを作ってみました。

 

対応しているのは教師あり学習で、

分類 → カテゴリの予測

回帰 → 数値の予測

 

とりあえずsklearnにあるアルゴリズムだけで対応してます。

 

では実際に分類の予測をしていきましょう(次回は回帰の予定)。

f:id:ois-blog:20191115092212p:plain

学習データのCSV

上のような学習データCSVで用意しました。

このデータを学習させて、

 

身長、体重、年齢 → 性別

 

の予測をしていきたいと思います。

 

予測用のデータはこちら。

f:id:ois-blog:20191115092622p:plain

予測用データのCSV

性別のところが抜けているのがわかります。

その他のデータも学習データとは違う値になっています。

 

この2つのCSVをインプットして予測させてみましょう。

 

結果がこちら。

f:id:ois-blog:20191115093008p:plain

性別の予測結果

かなり妥当な結果が得られていると思います。

 

それぞれの特徴量がどれだけ影響しているかもわかります。

f:id:ois-blog:20191115093253p:plain

特徴量の影響度合

そして正解率です。

f:id:ois-blog:20191115093405p:plain

正解率

かなり高い数値が出ています。

 

最後に各アルゴリズムの比較結果です(上の結果はベストなアルゴリズムの結果)

f:id:ois-blog:20191115093628p:plain

アルゴリズム比較結果

圧倒的にサポートベクターマシン(SVM)でした。

 

データによって適切なアルゴリズムは違います。

さらにいうとアルゴリズムを設定した上でハイパーパラメータのチューニングも行うことで高い精度が得られます。

それらは普通データサイエンティストがデータの形状から判断したり試してみたりするのですが、そのフローを自動化したのがこのツールです。

汎用性が高い分、オリジナルでアルゴリズムを組むよりは精度は劣るかもしれませんが、データをインプットするだけで予測できるので、手頃に機械学習ができるという大きな強みがあります。