KNIME

ワークフロー型データ分析プラットフォーム

STEP3. ワークフローを作る

KNIME Analytics Platform のワークフロー作成手順を説明します。

3-1. データの準備

3-2. プロジェクトの作成

3-3. ワークフローの作成

  1. 1. データの読み込み
  2. 2. 列名の編集
  3. 3. 統計情報(最大値、最小値、標準偏差など)の表示
  4. 4. 色情報の付加
  5. 5. 散布図マトリックスの作成
  6. 6. 決定木モデルの作成
  7. 7. 仕上げ

3-1. データの準備

読み込むデータを準備します。ここでは定番の「フィッシャーのあやめ」データを使います。https://archive.ics.uci.edu/ml/machine-learning-databases/iris/ (外部サイト)のiris.dataを右クリックでファイルに保存します。iris.data は "," 区切りのCSVフォーマットです。


3-2. プロジェクトの作成

1. 「File」メニューから「New」を選択します。「Select a wizard」ダイアログが開くので「New KNIME Workflow」を選択し、「Next>」ボタンをクリックします。

「Select a wizard」ダイアログ│KNIME

2.「New KNIME Workflow Wizard」ダイアログの「Name of the workflow to create:」に任意のワークフロー名(デフォルトは「KNIME_project」)を入力します。入力が終わったら「Finish」ボタンをクリックします。

「New KNIME Workflow Wizard」ダイアログ│KNIME

3.「KNIME Explorer」と「Workflow Editor」が表示されることを確認します。これでプロジェクト作成は完了です。

「Desktop」画面│KNIME

3-3. ワークフローの作成

1. データの読み込み

1.「Node Repository」から「File Reader」ノードを選択し、ダブルクリックまたは「Workflow Editor」にドラッグ&ドロップし、ノードを配置します。ノードの信号マークは赤色になっていますが問題ありません。

「Desktop」画面│KNIME

2. 配置した「File Reader」ノードをダブルクリックするとノードの設定ダイアログが起動されます。「Enter ASCII data file location:」の「Browse」ボタンをクリックし、先ほどダウンロードした iris.data を開くと、ノード設定画面の「Preview」にファイルの内容が表示されます。「OK」ボタンをクリックすると設定画面が閉じられ、ノードの信号マークが黄色に変わります。

「File Reader」ダイアログ│KNIME

3. 再度「File Reader」ノードを右クリックし、メニューから「Execute」を選択すると処理実行されます。処理が完了すると、ノードの信号マークが青色に変わります。

「File Reader」ノード│KNIME

4. 配置した「File Reader」ノードを右クリックし、メニュー最下部の「File Table」を選択すると、「File Table」ダイアログに読み込み結果が表示されます。表示を確認したらダイアログを閉じます。(以降は、表示確認後のダイアログを閉じる手順は省略します。)

「File Table」ダイアログ│KNIME

2. 列名の編集

1.今度は「Node Repository」から「Column Rename」ノードを配置します。配置済みの「File Reader」ノードの出力ポートをクリック&ドラッグすると線が表示されるので、そのまま「Column Rename」の入力ポートまで引っ張ってドロップすると、ノード同士が接続されます。

ノードをつなげる│KNIME ノードをつなげる│KNIME ノードをつなげる│KNIME

2. 配置した「Column Rename」ノードをダブルクリックして設定ダイアログを起動します。ダイアログの左側に列名(Col0~Col4)が表示されていることを確認します。「Col0」を選択してダブルクリックすると、ダイアログの右側に「Col0」の設定内容が表示されます。「Col0」の設定内容部分の「Change」にチェックを入れるとテキストエリアが編集できるようになります。列名「Col0」を「sepal length」に書き換えます。

「Column Rename」ダイアログ│KNIME

3. 残りの「Col1」~「Col4」も同様に列名を書き換えていきます。それぞれ「Col1」→「sepal width」、「Col2」→「petal length」、「Col3」→「petal width」、「Col4」→「class」に変更します。「OK」をクリックして設定ダイアログを閉じます。

「File Reader」ノード│KNIME

4. 「Column Rename」ノードを右クリックし、メニューから「Execute」を選択し処理を実行します。実行完了した「Column Rename」ノードを右クリックし、メニュー最下部の「Renamed/Retyped table」を選択して、テーブルの列名が変更されていることを確認します。

「Renamed/Retyped table」ダイアログ│KNIME

3. 統計情報の表示

1.「Node Repository」から「Statistics」ノードを配置し、「Column Rename」ノードの出力ポートと接続します。「Statistics」ノードの信号マークが黄色に変わるのでそのまま処理を実行します。

「File Table」ダイアログ│KNIME

2.実行完了した「Statistics」ノードを右クリックし、メニュー中段の「View:Statistics View」を選択すると、統計情報(最大値、最小値、標準偏差など)が表示されます。

「View:Statistics View」ダイアログ│KNIME

4. 色情報の付加

1.「Node Repository」から「Color Manager」ノードを配置し、「Column Rename」ノードの出力ポートと接続します。接続すると「Color Manager」ノードの信号マークに警告が表示されます。

「Color Manager」ノード配置後│KNIME

2. 配置した「Color Manager」ノードをダブルクリックして設定ダイアログを起動します。自動で「class」列の「Iris-setosa」→赤色、「Iris-versicolor」→緑色、「Iris-virginica」→青色 が設定されています。そのまま「OK」ボタンをクリックしてダイアログを閉じます。

「Color Manager」ダイアログ│KNIME

3.「Color Manager」ノードを実行します。処理が完了したら「Color Manager」ノードを右クリックし、メニュー下部の「Table with Colors」を選択すると色付き(左部)のテーブルが表示されます。

「Table with Colors」ダイアログ│KNIME

5. 散布図マトリックスの作成

1.「Node Repository」から「Scatter Matrix」ノードを配置し、「Color Manager」ノードの出力ポートと接続します。接続すると「Scatter Matrix」ノードの信号マークに警告が表示されます。

「Scatter Matrix」ノード配置後│KNIME

2.「Scatter Matrix」ノードを実行します。処理が完了したら「Scatter Matrix」ノードを右クリックし、メニュー中段の「View:Scatter Matrix」を選択すると、散布図マトリックスが表示されます。

「Scatter Matrix」ダイアログ│KNIME

6. 決定木モデルの作成

1.「Node Repository」から「Partitioning」ノードを配置し、「Column Rename」ノードの出力ポートと接続します。

「Partitioning」ノード配置後│KNIME

2.「Partitioning」ノードをダブルクリックして設定ダイアログを開き、Relative[%]を選択してテキストボックスに「80」を入力し、「OK」ボタンをクリックします。

「Partitioning」ダイアログ│KNIME

3.「Partitioning」ノードを実行します。処理が完了したら「Partitioning」ノードを右クリックし、メニュー下部に「First partition」と「Second partition」が存在することを確認します。iris.data が「First partition」テーブルに80%(データ数:120)、「Second partition」テーブルに残りの20%(データ数:30)が割り振られていることを確認します。

「Partitioning」ダイアログ1│KNIME

「Partitioning」ダイアログ2│KNIME


4.「Node Repository」から「Decision Tree Learner」ノードを配置し、「Partitioning」ノードの出力ポート(上側:First partition)と接続します。

「Decision Tree Learner」ノード配置後│KNIME

5.「Decision Tree Learner」ノードをダブルクリックして設定ダイアログを開き、「Class column」に「class」列が指定されていることを確認し、「OK」をクリックします。

「Decision Tree Learner」ダイアログ│KNIME

6.「Decision Tree Learner」ノードを実行します。処理が完了したら「Decision Tree Learner」ノードを右クリックし、メニュー中段の「View:Decision Tree View」を選択すると作成した決定木モデルが表示されます。

「Decision Tree View」│KNIME

7.「Node Repository」から「Decision Tree Predictor」ノードを配置し、「Decision Tree Predictor」ノードの入力ポート(上側:青四角)と「Decision Tree Learner」ノードの出力ポートを接続します。

「Decision Tree Predictor」ノード配置後1│KNIME

8.「Decision Tree Predictor」ノードの入力ポート(下側:黒三角)と「Partitioning」ノードの出力ポート(下側:Second partition)と接続します。

「Decision Tree Predictor」ノード配置後2│KNIME

9.「Decision Tree Predictor」ノードを実行します。処理が完了したら「Decision Tree Predictor」ノードを右クリックし、メニュー最下部の「Classified Data」を選択すると予測結果(Prediction 列)を含むテーブルが表示されます。

「Decision Tree Predictor」ダイアログ│KNIME

7. 仕上げ

各ノードの文字列「Node X」をダブルクリックするとコメントが入力できるので、コメントを入力して完成です。

作成したワーフクロー│KNIME