今回から、オープンソースのデータ分析ソフト「KNIME(ナイム)」を使いながら、データ分析の手順を具体的に解説します。本講座の画面を追うだけでもイメージがつかめるはずですが、実際に操作しながら読み進めればより理解が進みます。KNIMEは無料で利用できますから、じっくり試したい方はぜひダウンロードしてみてください(ダウンロード方法は後述)。

 KNIMEは、ドイツのコンスタンツ大学で作られたデータ分析用ソフトです。グラフィカルな部品をマウス操作で組み合わせることで、データ分析の一連の流れを実行できます。現時点で日本語版はないためメニューなどの表記は英語版ですが、日本語のデータは問題なく扱えます。

 本講座の第1回で解説した「CRISP-DM」に沿って、KNIMEをどう使うか見ていきましょう。

1.ビジネスの理解
 このプロセスではKNIMEは使いません。担当者が集まってビジネスの情報や業務知識を整理し、問題点を明確にします。また、分析目標を設定してスケジュールを検討します。

2.データの理解
 データの平均値や分散値といった統計量を算出したり、棒グラフやヒストグラム、箱ひげ図といったグラフ機能によってデータを可視化して、特徴を確認できます。

3.データの準備
 データベースやテキストファイルなど、散在するデータを読み込んで結合できます。さらに分析に必要な行・列の選択や、新たな変数の作成ができます。
 データに欠けている値(欠損値)があった場合、該当するレコードの削除はもちろん、補完も可能です。具体的には、平均値や定数によって補完できます。
 これ以外にも、KNIMEにはデータ準備のための機能が豊富にあります。

4. モデリング
 分析に適したモデリング手法を選び、3.で用意したデータを使って予測や判別、分類などを実行します。
 KNIMEでは、様々なモデリング手法を選べます。ニューラルネットワークや決定木といった機械学習の手法だけでなく、マーケティングでよく使われるロジスティック回帰、クラスター分析・アソシエーションモデルなどがあります。近ごろ人気の、アンサンブル学習も選べます。

5. 評価
 作成したモデルを使用して、予測値の精度を確認します。例えば数値の予測なら、どれだけの誤差が発生したかをチェックします。正常/不良の判別ならば、正解と実際の判別結果のマトリックス(「混同行列」と呼ばれる)を表示し、精度を確認します。

6. 展開/共有
 KNIMEで作成したモデルは、広く展開できます。作成したモデルを基にKNIMEで予測システムを構築したり、モデルを他のソフトウエアに移行したりすることが可能です。

 このようにKNIMEには分析作業に必要な機能が一通り備わっているため、ダウンロードすればすぐに分析作業を始められます。「Extension」と呼ぶ拡張機能もあり、これを追加すればビッグデータ連携機能やディープラーニングの部品、「RDKit」を代表としたケモインフォマティクス(化学情報学)、マテリアルインフォマティクス(材料情報学)向けの部品も豊富に用意しています。

公式サイトからダウンロードする

 KNIMEは、以下のWebサイトからダウンロードできます。なお筆者はKINME使用時に発生する問題に対するサポートは提供していませんので、自己責任にてご利用ください。

 利用者情報の登録を済ませたら、利用しているOSを選んでダウンロードし、インストールをします。インストールが完了すれば「knime.exe」をダブルクリックして、KNIMEを起動します 。

 「Select a directory as workspace」と書かれたダイアログボックスが表示されたら、「Workspace:」の入力欄に、作業用のフォルダーを指定します。このフォルダーに、KNIMEで作成した各種データが保存されます。次回起動からこのダイアログボックスが表示されないようにするには「Use this as the default and do not ask again」にチェックを入れ、「Launch」ボタンをクリックします(図1)。

図1●データ保存用のフォルダーを指定する
[画像のクリックで拡大表示]

 KNIMEのメイン画面が起動しました。まずは、「ワークフロー」を作成します。

 ワークフローとは、分析の一連の流れをまとめたものです。KNIMEでは、データの種類や処理内容などを表す「ノード」と呼ぶ部品を配置することで分析を実行します。そのノードのまとまりがワークフローに当たります。

 まず、画面左上の「KNIME Explorer」を右クリックします。表示されたメニューから「New KNIME Workflow...」を選び、新規ワークフローを作成します(図2)。

図2●新規ワークフローを作成する
[画像のクリックで拡大表示]

 「New KNIME Workflow Wizard」ダイアログボックスが表示されたら「Name of the workflow to create:」に任意のプロジェクト名を入力します。そして、「Finish」をクリックします(図3)。

図3●プロジェクト名を入力する
[画像のクリックで拡大表示]

 ワークフローを作成すると、KINME Explorer内に新規ワークフローが追加されます。また中央には、ワークフローの編集画面「Workflow Editor」が作られます。図4に、KNIMEの画面の名称をまとめました。

図4●KNIMEの画面の各部分の名称
[画像のクリックで拡大表示]

 「Node Repository」には、各種ノードがそろっています。Node Repositoryから必要なノードをWorkflow Editorに配置して、分析用のワークフローを作成します 。どれかノードを選択すると、「Description」画面にそのノードの説明が表示されます。

 ノードの種類は数千あり、目的のノードがNode Repositoryのどこにあるかを全て覚えるのは大変です。そこで使いたいのが、検索機能です。よく使用するノードはキーワードを覚えておくとよいでしょう。例えばファイルを読み込む場合は「file」や「read」といったキーワードを覚えておけば検索できます。

KNIMEによるファイルの読み込みによるファイルの読み込み

 それでは、実際にデータを読み込んでみましょう。演習用に用意した「味覚センサー.csv」を読み込みます。和食・タイ料理・アメリカ料理の3種類の味を、味覚センサーで数値化したデータです。以下のリンクからzip形式でダウンロードできますので、解凍して利用してください。

ダウンロード用URL:「mikaku.zip」のダウンロード

 Node Repositoryの「IO」の項目から、「Read」の中にある「File Reader」をダブルクリック、またはWorkflow Editorにドラッグ・アンド・ドロップします。これで、部品を配置できます(図5)。

図5●「File Reader」ノードを配置する
[画像のクリックで拡大表示]

 今回使用するデータはCSV形式のファイルなので「File Reader」ノードを使用しますが、KNIMEではExcel形式に対応した「Excel Reader」やデータベースに対応した「Data base Reader」なども用意しています。化学構造式で使用するSDFファイルを読み込む「SDF Reader」など専門的なものもあります。データの種類に合わせて適切なノードを選択しましょう。

 ノードが配置できたら、設定に移ります。ここでは、読み込むファイルを指定します。

 ノードをダブルクリックするか、右クリックして表示された画面から「Configure」を選択し、設定画面を表示します。「Browse」をクリックして読み込むファイルを指定し、ファイルの中身が表示されたら「OK」をクリックします(図6)。

図6●ノードの設定をする
[画像のクリックで拡大表示]

 設定が完了したら、マウスの右クリックから「Execute」を選択します。これで、当該ノードの処理が実行されます。処理が正常に終わったノードについては、その結果を確認できます(図7)。

図7●ノードの実行をする
[画像のクリックで拡大表示]

 なお、KNIMEではノードの状態が分かるようにアイコンに信号機のマークが付いています。それぞれ、「未設定」「未実行」「実行完了」「警告あり」を示しています(図8)。

図8●ノードに表示される信号機マークの意味
[画像のクリックで拡大表示]

 警告やエラーが発生した場合には、Console画面に表示されるメッセージを確認します。

 KNIMEでワークフローを作成する場合、作業内容を分かるようにしておくことが重要です。作成したノードには、名前を付けて分かりやすくしましょう。ノード下部のテキストをダブルクリックすると入力モードになりますので、作業内容を示す文字列を入力します(図9)。

図9●ノードに名前を付ける
[画像のクリックで拡大表示]

 ワークフローに対してコメントを追加したい場合には、Work flow Editorで右クリックし、メニューから「New Workflow Annotation」を選択します。すると黄色い四角が表示され、コメントを入力できるようになります。四角のサイズや場所は変更できるので、作業内容を後から振り返りやすいようにコメントを記入しておくとよいでしょう (図10、図11)。

図10●「New Workflow Annotation」をクリックしてコメント欄を作成
[画像のクリックで拡大表示]
図11●コメントを追加した例
[画像のクリックで拡大表示]

 今回はファイルの入力まで操作しました。ここまで作成したワークフローを保存するには、ツールバーの「Save」ボタンをクリックします(図12)。

図12●ワークフローの保存
[画像のクリックで拡大表示]

 作業が終われば、KNIMEを終了します。メニューの「File」から「Exit」をクリックします(図13)。

図13●KNIMEを終了する
[画像のクリックで拡大表示]

 次回は、KNIMEを使ったデータの理解について解説します。

太田 佳秀
日立産業制御ソリューションズ 情報システム本部 AI&ビッグデータソリューション部 AI&ビッグデータソリューションセンタ 技師
太田 佳秀 八代学院大学(現神戸国際大学)経済学部卒業後、日立産業制御ソリューションズ入社。金融システム部門で金融情報システムや発注約定システム、資本市場システムの設計・開発を担当。2016年からAI&ビッグデータソリューション部門にてデータ分析を担当し、2017年から分析セミナーの講師を兼任。豊富な事例で分かりやすい講義に定評がある。『AI、IoTを成功に導く データ前処理の極意』(日経BP)共著