Knime-building-own-model
KNIME-独自のモデルの構築
この章では、観察されたいくつかの特徴に基づいて植物を分類するための独自の機械学習モデルを構築します。 この目的のために、 UCI Machine Learning Repository の有名な iris データセットを使用します。 データセットには、3つの異なるクラスの植物が含まれています。 モデルをトレーニングして、未知の植物をこれらの3つのクラスのいずれかに分類します。
機械学習モデルを作成するために、KNIMEで新しいワークフローを作成することから始めます。
ワークフローを作成する
新しいワークフローを作成するには、KNIMEワークベンチで次のメニューオプションを選択します。
File → New
次の画面が表示されます-
[新しいKNIMEワークフロー]オプションを選択し、[次へ]ボタンをクリックします。 次の画面で、ワークフローの目的の名前と、保存する保存先フォルダーの入力を求められます。 必要に応じてこの情報を入力し、[完了]をクリックして新しいワークスペースを作成します。
ここに見られるように、指定された名前を持つ新しいワークスペースが*ワークスペース*ビューに追加されます-
このワークスペースにさまざまなノードを追加して、モデルを作成します。 ノードを追加する前に、使用する iris データセットをダウンロードして準備する必要があります。
データセットの準備
UCI Machine Learning Repositoryサイトhttps://archive.ics.uci.edu/ml/datasets/iris [アイリスデータセットのダウンロード]からアイリスデータセットをダウンロードします。 ダウンロードしたiris.dataファイルはCSV形式です。 列名を追加するために、いくつかの変更を加えます。
お気に入りのテキストエディターでダウンロードしたファイルを開き、先頭に次の行を追加します。
sepal length, petal length, sepal width, petal width, class
- ファイルリーダー*ノードがこのファイルを読み取ると、上記のフィールドが列名として自動的に取得されます。
ここで、さまざまなノードの追加を開始します。
ファイルリーダーの追加
*Node Repository* ビューに移動し、検索ボックスに「file」と入力して、 *File Reader* ノードを見つけます。 これは、以下のスクリーンショットで見られます-
*File Reader* を選択してダブルクリックし、ノードをワークスペースに追加します。 または、ドラッグアンドドロップ機能を使用して、ノードをワークスペースに追加することもできます。 ノードを追加したら、構成する必要があります。 ノードを右クリックし、 *Configure* メニューオプションを選択します。 これは前のレッスンで行いました。
データファイルがロードされると、設定画面は次のようになります。
データセットを読み込むには、*参照*ボタンをクリックして、iris.dataファイルの場所を選択します。 ノードは、構成ボックスの下部に表示されるファイルの内容をロードします。 データファイルが適切に配置されロードされたことを確認したら、[OK]ボタンをクリックして構成ダイアログを閉じます。
このノードに注釈を追加します。 ノードを右クリックして、[新しいワークフローアノテーション]メニューオプションを選択します。 次のスクリーンショットに示すように、画面に注釈ボックスが表示されます。
ボックス内をクリックし、次の注釈を追加します-
Reads iris.data
ボックスの外側をクリックして、編集モードを終了します。 必要に応じて、ノードの周囲にボックスのサイズを変更して配置します。 最後に、この文字列を次のように変更するには、ノードの下の Node 1 テキストをダブルクリックします-
Loads data
この時点で、画面は次のようになります-
ロードされたデータセットをトレーニングとテストに分割するための新しいノードを追加します。
パーティショニングノードの追加
*Node Repository* 検索ウィンドウで、下のスクリーンショットに示すように、 *Partitioning* ノードを見つけるために数文字を入力します-
ノードをワークスペースに追加します。 次のように構成を設定します-
Relative (%) : 95
Draw Randomly
次のスクリーンショットは、構成パラメーターを示しています。
次に、2つのノード間を接続します。 これを行うには、 File Reader ノードの出力をクリックし、マウスボタンをクリックしたまま、ラバーバンドラインが表示され、それを Partitioning ノードの入力にドラッグし、マウスボタンを離します。 これで、2つのノード間に接続が確立されました。
注釈を追加し、説明を変更し、必要に応じてノードと注釈ビューを配置します。 この段階では、画面は次のようになります-
次に、 k-Means ノードを追加します。
k-Meansノードの追加
リポジトリから k-Means ノードを選択し、ワークスペースに追加します。 k-Meansアルゴリズムに関する知識を更新する場合は、ワークベンチの説明ビューでその説明を調べてください。 これは、以下のスクリーンショットに示されています-
ちなみに、使用するアルゴリズムを最終的に決定する前に、説明ウィンドウでさまざまなアルゴリズムの説明を調べることができます。
ノードの構成ダイアログを開きます。 ここに示すように、すべてのフィールドにデフォルトを使用します-
*OK* をクリックしてデフォルトを受け入れ、ダイアログを閉じます。
以下に注釈と説明を設定します-
注釈:クラスターの分類
説明:クラスタリングを実行します
*Partitioning* ノードの一番上の出力を *k-Means* ノードの入力に接続します。 アイテムの位置を変更すると、画面は次のようになります-
次に、 Cluster Assigner ノードを追加します。
Cluster Assignerの追加
*Cluster Assigner* は、プロトタイプの既存のセットに新しいデータを割り当てます。 プロトタイプモデルと、入力データを含むデータテーブルの2つの入力が必要です。 以下のスクリーンショットに描かれている説明ウィンドウでノードの説明を調べます-
したがって、このノードでは、2つの接続を作成する必要があります-
- Partitioning ノードのPMMLクラスターモデル出力→ Cluster Assigner のプロトタイプ入力
- Partitioning ノードの2番目のパーティション出力→ Cluster Assigner の入力データ
これらの2つの接続は、以下のスクリーンショットに示されています-
*Cluster Assigner* には特別な設定は必要ありません。 デフォルトをそのまま使用します。
次に、このノードに注釈と説明を追加します。 ノードを再配置します。 画面は次のようになります-
この時点で、クラスタリングは完了しました。 出力をグラフィカルに視覚化する必要があります。 このために、散布図を追加します。 散布図では、3つのクラスの色と形状を別々に設定します。 したがって、 k-Means ノードの出力を最初に Color Manager ノード、次に Shape Manager ノードでフィルター処理します。
カラーマネージャーの追加
リポジトリで Color Manager ノードを見つけます。 ワークスペースに追加します。 構成をデフォルトのままにします。 デフォルトを受け入れるには、構成ダイアログを開いて OK を押す必要があることに注意してください。 ノードの説明テキストを設定します。
*k-Means* の出力から *Color Manager* の入力に接続します。 この段階では、画面は次のようになります-
形状マネージャーの追加
リポジトリで Shape Manager を見つけて、ワークスペースに追加します。 設定はデフォルトのままにします。 前のものと同様に、構成ダイアログを開き、 OK を押してデフォルトを設定する必要があります。 Color Manager の出力から Shape Manager の入力への接続を確立します。 ノードの説明を設定します。
画面は次のようになります-
次に、モデルの最後のノードを追加します。これが散布図です。
散布図の追加
リポジトリで Scatter Plot ノードを見つけて、ワークスペースに追加します。 Shape Manager の出力を Scatter Plot の入力に接続します。 設定はデフォルトのままにします。 説明を設定します。
最後に、最近追加した3つのノードにグループアノテーションを追加します
注釈:視覚化
必要に応じてノードを再配置します。 この段階では、画面は次のようになります。
これでモデル構築のタスクが完了しました。