目的
IBM Watson studioを使って、機械学習をしてみよう!
クレジットカードの登録が不必要なライトアカウントを使って、無料で簡単に実装してみたいと思います。
Watson Studioのセットアップ
私は、以下のサイトを参考に作成する事ができました!
10分でできるPython機械学習環境! Watson Studioセットアップガイド
Azure同様、有料版もありますが、実験やデモ程度なら無料版で色々試す事ができるのは嬉しいです。
機械学習で使用するデータの準備
機械学習ではお馴染みのあやめのデータを使って識別を行います。
アイリスデータ
今回は、このWebサイトにあったデータを使ってみます。データ数は合計で150程度ですが、機械学習に触れてみるにはこれくらいで良いと思います。
CSVの形式になっており、一番右が識別を行う対象のあやめの名称。
他のデータは、あやめの特徴を表すデータです。
1行目のデータを表す名前が日本語だと文字化けしてしまうので注意です。
次は、データをWatson Studioに取り込む作業です。
projectの画面から、この部分をクリックするとデータを取り込む事ができます
Watson studio New Modeler flow作成まで
New Modeler flowを選択
New Modeler flowは、Azure Machine Learningみたいにドラック&ドロップの感覚で作成できます。
project名(任意)を書いて、createをクリック。
Select flow typeはデフォルトのままで行きたいと思います。
Watson studio アルゴリズムの選択まで
この白いキャンバスに必要なモジュールをドラック&ドロップしていきます。
左のImportをクリックすると以下のようなモジュールが出てきます。
その後、Data Assetをクリックしたままキャンバスまでドラック&ドロップ
Data Assetをダブルクリックし、Change data assetをクリック
その後、先ほどのデータを選択、以下のようになったのを確認したら、
次に、データの分割と何を識別するのかWatsonに教えてあげましょう!
教師あり学習で識別するので、今回は半分のデータで学習させて、半分のデータで評価をします。
Field OperationからPartitionはデータの分割、Typeは識別するターゲットを選択します。
今回は、あやめの種類がターゲットとなります。
こんな感じで並べて、Azure Machine Learningのようにモジュールを繋げていきましょう。
Data Assetの丸い部分をクリックしたまま、Partitionの左側の丸い部分まで持っていくと線を引くことができます。
繋げ終わったら、Partitionをダブルクリック。
デフォルトでTrainingとTestは半分ずつのようです。
Seedの部分は、データを分割する時のRandom seedで、Generateを押すとRandomで数字が変わります(指定も可能)。
Configure Typesをクリックします。この時には、まだデータがこのモジュールまでやってきていないので、Read Valuesを押して、データをこのモジュールまで到達させてあげます。
Watson Studio アルゴリズムの選択から実行まで
データを識別する為のアルゴリズムを選択していきます。
様々用意されており、今回はRandom Treesを利用していきます。
Random Treesの概要
数秒待つと、黄色いモジュールが出てきました。これで機械学習による識別は終わりです。
学習モデルの評価
黄色いモジュールを右クリックをして、View Modelをクリックしてみましょう。
もちろん、Confusion Matrixも見る事ができます。
これはモデルを作成した時の、特徴量の重要度を示すグラフです。
Azure Machine Learningでは、このようなものが無かったのですが、Watsonでは知る事ができます。petal.lengthが一番重要度が高いことが分かりました。
これは、Random Treesで作成した決定木のルールをみる事ができます。
Top Decision Rulesのタブを押すと他にも、Top Rules by Insightでは、あやめの種類ごとの作成した決定木、All Rulesで全ての決定木を見る事ができます。
まとめ
機械学習のシンプルな部分を簡単に実装できました!
今回使った、あやめのデータを3次元のグラフにしてみました。
IBMのWatson studioでデータの可視化をノンプログラミングでやってみる