AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  至れり尽くせり!データ前処理から機械学習までできるRapidMinerを使って分類問題を解く方法

公開日:2018.09.10 

至れり尽くせり!データ前処理から機械学習までできるRapidMinerを使って分類問題を解く方法

カテゴリー: AI(人工知能)の作り方

こんにちは、AI研究所パートナー研究員の光本(みつもと)です。

AIを導入するにあたって最も労力がかかるのは、学習のために投入するデータの収集とデータのクリーニングや加工作業です。
Pythonでプログラミングしてデータ加工しても良いのですが、もっと楽に、早くできないかということで、その可能性を感じたRapidMiner社のソフトウエアRapidMiner Studio(無料版)を試してみました。

Rapid Minerとは?

Rapid Minerは、プログラミングすることなく、データの前処理加工から機械学習の手法の適用、学習と評価を一通り行なうことができるGUIのデータ分析ソフトウエアです。

データの読み込み、そして、データの分割や欠損値の補完などの前処理加工、k近傍法や決定木などの適用といった機能が、それぞれの箱(ブロック)で表現され、それらを配置して線で繋いでいくことで簡単に処理機能を組む込むことができるようになっています。

今回は、お馴染みの「Iris_Flowerデータセット(※)」を使って、RapidMinerの機械学習(決定木)で分類問題を解いてみたいと思います。
(※)説明変数をがくの長さ、がくの幅、花びらの長さ、花びらの幅として、目的変数をあやめの花の種類とするデータセット

入力データを読み込む

まず、CSVデータ読み込みのブロック(Read CSV)を配置して、読み込むCSVファイルを指定します。

読み込むCSVファイルを指定

区切り文字(今回はカンマ)を選択して、各列が正しく表示されていることを確認して次へ進みます。

表示を確認して次へ

まず、読み込みたい列を選択します。
今回はすべての列をチェック。また、各列の型を指定してどの列がラベル(目的変数:あやめの種類)」なのかを指定します。

列を選択

ウィザードを完了させると読み込まれたデータが表示され、ラベル(あやめの種類)に色がついています。

読み込まれたデータが表示される

なかなか良いと思ったのは、欠損値があるかどうかをチェックしてくれ、各列の数値の分布などがグラフで視覚的に分かるところです。
学習が上手くいかなった場合などに入力データの傾向を確認しながら原因追及にも役立ちそうです。

グラフ

入力データのクリーニング機能

今回は、よく整備されたデータセットを使ったので欠損値もなく、除外すべきレコードもなかったのですが、下記のような種類のブロックも用意されており、一連の流れの中でデータ加工も行えるようになっていました。

入力データのクリーニング機能

決定木(Decision Tree)を使ってみる

それでは学習をさせる前に一旦、Read CSVの後ろに決定木(Decision Tree)ブロックを配置し、実行ボタンを押してみます。

決定木を使ってみる-1

結果がツリー表示され、データのどの列をみて、どのような判定基準(ルール)で分類されていったのかが決定木(Decision Tree)として表現されています。

決定木を使ってみる-2

学習を実行する

「教師あり学習(※)」でよく使われる交差検証法(Cross Validation)で学習をさせてみます。
交差検証法では、学習データをランダムに分割して、訓練データとテストデータを作成します。
今回は10個に分割して、9個を訓練データ、1個をテストデータとして使用し、10回検証して精度の平均をとることにします。

(※)正解データ(目的変数という)を含むデータセットを入力として使用し、正解データを除く残りのデータ(説明変数という)から得られる出力結果の値ができるだけ正解データに近くなるようにモデルを作成する学習方法

学習を実行する-1

訓練エリアの決定木で学習したモデルをテストエリアに適用してテストデータで評価してみます。

学習を実行する-2

評価結果は以下のようになりました。モデルの精度は、91.67%という結果でした。

学習を実行する-3

評価を実行する

最後に別に用意されていた評価データセットを読み込んで、モデルの評価を行なってみます。
評価データセットを読み込むRead CSVオペレータをもう一つ追加して、評価を実行します。

評価を実行する-1

評価に使ったデータ数が少ないものの、精度100%で分類できました。

評価を実行する-2

評価データにモデルを適用した結果の一覧も確認できました。Predictionが出力結果で、Confidence(0)とConfidence(1)がそう判断した信頼度になっているようです。

評価を実行する-3

今後、実際に収集したデータが不完全で欠損値を埋めたり、クリーニングをしなければならないときにはデータ加工作業の中で使ってみたいと思います。

タグ:


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー IoT入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

Facebookページ