Knime-quick-guide
KNIME-はじめに
機械学習モデルの開発は、その不可解な性質のため、常に非常に難しいと考えられています。 一般に、機械学習アプリケーションを開発するには、コマンド駆動型開発の専門知識を持つ優れた開発者である必要があります。 KNIMEの導入により、機械学習モデルの開発が一般の人の視野に入りました。
KNIMEは、開発全体にグラフィカルインターフェイス(ユーザーフレンドリーなGUI)を提供します。 KNIMEでは、リポジトリで提供されるさまざまな定義済みノード間のワークフローを定義するだけです。 KNIMEは、データの読み取り、さまざまなMLアルゴリズムの適用、さまざまな形式でのデータの視覚化など、さまざまなタスクのためのノードと呼ばれるいくつかの定義済みコンポーネントを提供します。 したがって、KNIMEを使用するには、プログラミングの知識は必要ありません。 これはエキサイティングではありませんか?
このチュートリアルの今後の章では、十分にテストされたいくつかのMLアルゴリズムを使用してデータ分析をマスターする方法を説明します。
KNIME-インストール
KNIME Analytics Platformは、Windows、Linux、およびMacOSで利用できます。 この章では、Macにプラットフォームをインストールする手順について説明します。 WindowsまたはLinuxを使用している場合は、KNIMEダウンロードページに記載されているインストール手順に従ってください。 3つのプラットフォームすべてのバイナリインストールは、https://www.knime.com/next-steps?download = [[1]] cocoa.x86_64.dmg [KNIMEのページ]。
Macのインストール
KNIME公式サイトからバイナリインストールをダウンロードします。 ダウンロードした dmg ファイルをダブルクリックして、インストールを開始します。 インストールが完了したら、次のようにKNIMEアイコンをアプリケーションフォルダにドラッグするだけです-
KNIME-最初の実行
KNIMEアイコンをダブルクリックして、KNIME Analytics Platformを起動します。 最初に、作業を保存するためのワークスペースフォルダーをセットアップするように求められます。 あなたの画面は次のようになります-
選択したフォルダをデフォルトとして設定できますが、次回KNIMEを起動したときには、
このダイアログをもう一度表示します。
しばらくすると、デスクトップでKNIMEプラットフォームが起動します。 これは、分析作業を行うワークベンチです。 ここで、ワークベンチのさまざまな部分を見てみましょう。
KNIME-ワークベンチ
KNIMEが起動すると、次の画面が表示されます-
スクリーンショットでマークされているように、ワークベンチはいくつかのビューで構成されています。 私たちにすぐに役立つビューは、スクリーンショットでマークされ、以下にリストされています-
- ワークスペース
- アウトライン
- ノードリポジトリ
- KNIME Explorer
- コンソール
- 説明
この章で先に進むとき、これらの見解をそれぞれ詳細に学びましょう。
ワークスペースビュー
私たちにとって最も重要なビューは*ワークスペース*ビューです。 これは、機械学習モデルを作成する場所です。 ワークスペースビューは、以下のスクリーンショットで強調表示されています-
スクリーンショットは、開いているワークスペースを示しています。 既存のワークスペースを開く方法はすぐに学習します。
各ワークスペースには1つ以上のノードが含まれます。 これらのノードの重要性については、チュートリアルの後半で学習します。 ノードは矢印を使用して接続されます。 通常、プログラムフローは左から右に定義されますが、これは必須ではありません。 ワークスペース内の任意の場所で各ノードを自由に移動できます。 2つの間の接続線は適切に移動して、ノード間の接続を維持します。 ノード間の接続はいつでも追加/削除できます。 各ノードについて、オプションで小さな説明を追加できます。
外形図
ワークスペースビューでは、一度にワークフロー全体を表示できない場合があります。 そのため、アウトラインビューが提供されます。
アウトラインビューには、ワークスペース全体のミニチュアビューが表示されます。 このビュー内にはズームウィンドウがあり、スライドして Workspace ビューでワークフローのさまざまな部分を確認できます。
ノードリポジトリ
これは、ワークベンチの次の重要なビューです。 ノードリポジトリには、分析に使用できるさまざまなノードが一覧表示されます。 リポジトリ全体は、ノードの機能に基づいて適切に分類されます。 次のようなカテゴリがあります-
- IO
- ビュー *アナリティクス
各カテゴリの下には、いくつかのオプションがあります。 各カテゴリビューを展開するだけで、そこにあるものを確認できます。* IO *カテゴリの下には、ARFF、CSV、PMML、XLSなどのさまざまなファイル形式でデータを読み取るノードがあります。
入力ソースのデータ形式に応じて、データセットを読み取るための適切なノードを選択します。
この時点で、おそらくノードの目的を理解しているでしょう。 ノードは、ワークフローに視覚的に含めることができる特定の種類の機能を定義します。
Analyticsノードは、ベイズ、クラスタリング、デシジョンツリー、アンサンブル学習などのさまざまな機械学習アルゴリズムを定義します。
これらのさまざまなMLアルゴリズムの実装は、これらのノードで提供されます。 分析にアルゴリズムを適用するには、目的のノードをリポジトリから選択してワークスペースに追加するだけです。 データリーダーノードの出力をこのMLノードの入力に接続すると、ワークフローが作成されます。
リポジトリで利用可能なさまざまなノードを調べることをお勧めします。
KNIME Explorer
ワークベンチの次の重要なビューは、下のスクリーンショットに示すように Explorer ビューです-
最初の2つのカテゴリには、KNIMEサーバーで定義されたワークスペースがリストされます。 3番目のオプションLOCALは、ローカルマシンで作成したすべてのワークスペースを保存するために使用されます。 これらのタブを展開して、さまざまな事前定義ワークスペースを確認してください。 特に、「使用例」タブを展開します。
KNIMEは、プラットフォームの使用を開始するためのいくつかの例を提供します。 次の章では、これらの例のいずれかを使用して、プラットフォームに精通します。
コンソールビュー
名前が示すように、 Console ビューは、ワークフローの実行中にさまざまなコンソールメッセージのビューを提供します。
説明ビュー
私たちに直接関連する最後の重要なビューは、*説明*ビューです。 このビューは、ワークスペースで選択されたアイテムの説明を提供します。 典型的なビューは、以下のスクリーンショットに示されています-
上記のビューは、 File Reader ノードの説明を示しています。 ワークスペースで File Reader ノードを選択すると、このビューにその説明が表示されます。 他のノードをクリックすると、選択したノードの説明が表示されます。 したがって、ワークスペースやノードリポジトリのさまざまなノードの目的が正確にわからない場合、このビューは学習の初期段階で非常に役立ちます。
ツールバー
上記のビューに加えて、ワークベンチにはツールバーなどの他のビューがあります。 ツールバーには、迅速なアクションを容易にするさまざまなアイコンが含まれています。 アイコンは、コンテキストに応じて有効/無効になります。 マウスをホバーすることで、各アイコンが実行するアクションを確認できます。 次の画面は、 Configure アイコンによって実行されるアクションを示しています。
ビューの有効化/無効化
これまでに表示したさまざまなビューは、簡単にオン/オフを切り替えることができます。 ビューの閉じるアイコンをクリックすると、ビューが*閉じ*ます。 ビューを元に戻すには、[表示]メニューオプションに移動し、目的のビューを選択します。 選択したビューがワークベンチに追加されます。
ここで、ワークベンチに精通しているので、ワークフローを実行し、それによって実行される分析を調査する方法を示します。
KNIME-最初のワークフローの実行
KNIMEは、学習を容易にするためのいくつかの優れたワークフローを提供しています。 この章では、インストールで提供されるワークフローの1つを取り上げて、分析プラットフォームのさまざまな機能とパワーについて説明します。 私たちの研究では、*決定ツリー*に基づいた単純な分類器を使用します。
デシジョンツリー分類子の読み込み
KNIME Explorerで次のワークフローを見つけます-
これは、クイックリファレンスとして以下のスクリーンショットにも示されています-
選択したアイテムをダブルクリックして、ワークフローを開きます。 ワークスペースビューを確認します。 いくつかのノードを含むワークフローが表示されます。 このワークフローの目的は、UCI Machine Learning Repositoryから取得した成人データセットの民主的な属性から収入グループを予測することです。 このMLモデルのタスクは、特定の地域の人々を5万人以上の収入があると分類することです。
ワークフローの実行
ワークフローの実行を調べる前に、各ノードのステータスレポートを理解することが重要です。 ワークフロー内のノードを調べます。 各ノードの下部には、3つの円を含むステータスインジケーターがあります。 ディシジョンツリー学習ノードは、次のスクリーンショットに示されています-
ステータスインジケータは赤で、このノードがまだ実行されていないことを示します。 実行中、黄色の中心の円が点灯します。 正常に実行されると、最後の円が緑色に変わります。 エラーが発生した場合にステータス情報を提供するインジケータがさらにあります。 処理中にエラーが発生すると、それらを学習します。
現在、すべてのノードのインジケータは赤で、これまでにノードが実行されていないことを示しています。 すべてのノードを実行するには、次のメニュー項目をクリックしてください-
しばらくすると、各ノードのステータスインジケータが緑色に変わり、エラーがないことがわかります。
次の章では、ワークフロー内のさまざまなノードの機能について説明します。
KNIME-ワークフローの探索
あなたがワークフロー内のノードをチェックアウトする場合、あなたはそれが次が含まれていることがわかります-
- ファイルリーダー、
- カラーマネージャー
- パーティショニング
- 決定木学習器
- 決定木予測子
- スコア
- インタラクティブテーブル
- 散布図
- 統計
これらは、ここに示すように*概要*ビューで簡単に見ることができます-
各ノードは、ワークフローの特定の機能を提供します。 次に、これらのノードを構成して、目的の機能を満たす方法を検討します。 ワークフローを調査する現在のコンテキストでは、関連するノードのみを説明することに注意してください。
ファイルリーダー
ファイルリーダーノードは、以下のスクリーンショットに示されています-
ワークフローの作成者によって提供されるウィンドウの上部にいくつかの説明があります。 このノードはアダルトデータセットを読み取ることを示しています。 ファイルの名前は、ノードシンボルの下の説明からわかるように、 adult.csv です。 File Reader には2つの出力があります-1つは Color Manager ノードに行き、もう1つは Statistics ノードに行きます。
- ファイルマネージャ*を右クリックすると、ポップアップメニューが次のように表示されます-
今、 Configure メニューオプションを選択すると、それはここのスクリーンショットに見られるadult.csvファイルからのデータを含む画面を示しています-
このノードを実行すると、データがメモリにロードされます。 データをロードするプログラムコード全体は、ユーザーには表示されません。 このようなノードの有用性を理解できるようになりました-コーディングは不要です。
次のノードは Color Manager です。
カラーマネージャー
あなたの画面は次のようになります-
2つの制約が存在することに注意してください。 収入が50K未満の場合、データポイントは緑色になり、それ以上の場合は赤色になります。 この章の後半で散布図を見ると、データポイントマッピングが表示されます。
パーティショニング
機械学習では、通常、利用可能なデータ全体を2つの部分に分割します。 大きい部分はモデルのトレーニングに使用され、小さい部分はテストに使用されます。 データのパーティション分割に使用されるさまざまな戦略があります。
目的のパーティショニングを定義するには、 Partitioning ノードを右クリックして、 Configure オプションを選択します。 次の画面が表示されます-
この場合、システムモデラーは Relative (%)モードを使用しており、データは80:20の比率で分割されています。 分割中に、データポイントはランダムに取得されます。 これにより、テストデータが偏らないようになります。 線形サンプリングの場合、テスト中に使用される残りの20%データは、収集中に完全にバイアスされる可能性があるため、トレーニングデータを正しく表さない場合があります。
データ収集中にランダム性が保証されていることが確実な場合は、線形サンプリングを選択できます。 データをモデルのトレーニングの準備ができたら、次のノード(決定ツリー学習器)にデータを送ります。
決定木学習器
名前が示す Decision Tree Learner ノードは、トレーニングデータを使用してモデルを構築します。 以下のスクリーンショットに描かれているこのノードの構成設定を確認してください-
ご覧のように、 Class は income です。 したがって、ツリーは収入列に基づいて構築され、それがこのモデルで達成しようとしているものです。 私たちは、収入が5万人より多いか少ない人々の分離を望んでいます。
このノードが正常に実行されると、モデルをテストする準備が整います。
決定木予測子
ディシジョンツリー予測ノードは、開発されたモデルをテストデータセットに適用し、モデル予測を追加します。
予測子の出力は、2つの異なるノード- Scorer および Scatter Plot に供給されます。 次に、予測の出力を調べます。
得点者
このノードは*混同行列*を生成します。 表示するには、ノードを右クリックします。 次のポップアップメニューが表示されます-
これは、開発したモデルの精度が83.71%であることを示しています。 これに満足していない場合は、モデル構築の他のパラメーターをいじることができます。特に、データを再確認してクレンジングすることができます。
散布図
データ分布の散布図を表示するには、*散布図*ノードを右クリックし、メニューオプション*インタラクティブビュー:散布図*を選択します。 次のプロットが表示されます-
このプロットは、2つの異なる色のドット(赤と青)の50Kのしきい値に基づいて、さまざまな所得グループの人々の分布を示しています。 これらは、 Color Manager ノードで設定された色です。 分布は、x軸にプロットされている年齢に関連しています。 ノードの構成を変更することにより、x軸に異なる機能を選択できます。
ここでは、x軸の機能として marital-status を選択した構成ダイアログが表示されます。
これで、KNIMEが提供する事前定義モデルに関する説明は完了です。 自習用のモデルでは、他の2つのノード(統計とインタラクティブテーブル)を使用することをお勧めします。
チュートリアルの最も重要な部分である、独自のモデルの作成に移りましょう。
KNIME-独自のモデルの構築
この章では、観察されたいくつかの特徴に基づいて植物を分類するための独自の機械学習モデルを構築します。 この目的のために、 UCI Machine Learning Repository の有名な iris データセットを使用します。 データセットには、3つの異なるクラスの植物が含まれています。 モデルをトレーニングして、未知の植物をこれらの3つのクラスのいずれかに分類します。
機械学習モデルを作成するために、KNIMEで新しいワークフローを作成することから始めます。
ワークフローを作成する
新しいワークフローを作成するには、KNIMEワークベンチで次のメニューオプションを選択します。
次の画面が表示されます-
[新しいKNIMEワークフロー]オプションを選択し、[次へ]ボタンをクリックします。 次の画面で、ワークフローの目的の名前と、保存する保存先フォルダーの入力を求められます。 必要に応じてこの情報を入力し、[完了]をクリックして新しいワークスペースを作成します。
ここに見られるように、指定された名前を持つ新しいワークスペースが*ワークスペース*ビューに追加されます-
このワークスペースにさまざまなノードを追加して、モデルを作成します。 ノードを追加する前に、使用する iris データセットをダウンロードして準備する必要があります。
データセットの準備
UCI Machine Learning Repositoryサイトhttps://archive.ics.uci.edu/ml/datasets/iris [アイリスデータセットのダウンロード]からアイリスデータセットをダウンロードします。 ダウンロードしたiris.dataファイルはCSV形式です。 列名を追加するために、いくつかの変更を加えます。
お気に入りのテキストエディターでダウンロードしたファイルを開き、先頭に次の行を追加します。
- ファイルリーダー*ノードがこのファイルを読み取ると、上記のフィールドが列名として自動的に取得されます。
ここで、さまざまなノードの追加を開始します。
ファイルリーダーの追加
データファイルがロードされると、設定画面は次のようになります。
データセットを読み込むには、*参照*ボタンをクリックして、iris.dataファイルの場所を選択します。 ノードは、構成ボックスの下部に表示されるファイルの内容をロードします。 データファイルが適切に配置されロードされたことを確認したら、[OK]ボタンをクリックして構成ダイアログを閉じます。
このノードに注釈を追加します。 ノードを右クリックして、[新しいワークフローアノテーション]メニューオプションを選択します。 次のスクリーンショットに示すように、画面に注釈ボックスが表示されます。
ボックス内をクリックし、次の注釈を追加します-
ボックスの外側をクリックして、編集モードを終了します。 必要に応じて、ノードの周囲にボックスのサイズを変更して配置します。 最後に、この文字列を次のように変更するには、ノードの下の Node 1 テキストをダブルクリックします-
この時点で、画面は次のようになります-
ロードされたデータセットをトレーニングとテストに分割するための新しいノードを追加します。
パーティショニングノードの追加
ノードをワークスペースに追加します。 次のように構成を設定します-
次のスクリーンショットは、構成パラメーターを示しています。
次に、2つのノード間を接続します。 これを行うには、 File Reader ノードの出力をクリックし、マウスボタンをクリックしたまま、ラバーバンドラインが表示され、それを Partitioning ノードの入力にドラッグし、マウスボタンを離します。 これで、2つのノード間に接続が確立されました。
注釈を追加し、説明を変更し、必要に応じてノードと注釈ビューを配置します。 この段階では、画面は次のようになります-
次に、 k-Means ノードを追加します。
k-Meansノードの追加
リポジトリから k-Means ノードを選択し、ワークスペースに追加します。 k-Meansアルゴリズムに関する知識を更新する場合は、ワークベンチの説明ビューでその説明を調べてください。 これは、以下のスクリーンショットに示されています-
ちなみに、使用するアルゴリズムを最終的に決定する前に、説明ウィンドウでさまざまなアルゴリズムの説明を調べることができます。
ノードの構成ダイアログを開きます。 ここに示すように、すべてのフィールドにデフォルトを使用します-
以下に注釈と説明を設定します-
注釈:クラスターの分類
説明:クラスタリングを実行します
次に、 Cluster Assigner ノードを追加します。
Cluster Assignerの追加
したがって、このノードでは、2つの接続を作成する必要があります-
- Partitioning ノードのPMMLクラスターモデル出力→ Cluster Assigner のプロトタイプ入力
- Partitioning ノードの2番目のパーティション出力→ Cluster Assigner の入力データ
これらの2つの接続は、以下のスクリーンショットに示されています-
次に、このノードに注釈と説明を追加します。 ノードを再配置します。 画面は次のようになります-
この時点で、クラスタリングは完了しました。 出力をグラフィカルに視覚化する必要があります。 このために、散布図を追加します。 散布図では、3つのクラスの色と形状を別々に設定します。 したがって、 k-Means ノードの出力を最初に Color Manager ノード、次に Shape Manager ノードでフィルター処理します。
カラーマネージャーの追加
リポジトリで Color Manager ノードを見つけます。 ワークスペースに追加します。 構成をデフォルトのままにします。 デフォルトを受け入れるには、構成ダイアログを開いて OK を押す必要があることに注意してください。 ノードの説明テキストを設定します。
形状マネージャーの追加
リポジトリで Shape Manager を見つけて、ワークスペースに追加します。 設定はデフォルトのままにします。 前のものと同様に、構成ダイアログを開き、 OK を押してデフォルトを設定する必要があります。 Color Manager の出力から Shape Manager の入力への接続を確立します。 ノードの説明を設定します。
画面は次のようになります-
次に、モデルの最後のノードを追加します。これが散布図です。
散布図の追加
リポジトリで Scatter Plot ノードを見つけて、ワークスペースに追加します。 Shape Manager の出力を Scatter Plot の入力に接続します。 設定はデフォルトのままにします。 説明を設定します。
最後に、最近追加した3つのノードにグループアノテーションを追加します
注釈:視覚化
必要に応じてノードを再配置します。 この段階では、画面は次のようになります。
これでモデル構築のタスクが完了しました。
KNIME-モデルのテスト
モデルをテストするには、次のメニューオプションを実行します。ノード→すべて実行
すべてが正しければ、各ノードの下部のステータス信号が緑色に変わります。 そうでない場合は、 Console ビューでエラーを検索し、それらを修正して、ワークフローを再実行する必要があります。
これで、モデルの予測出力を視覚化する準備が整いました。 このために、散布図*ノードを右クリックして、次のメニューオプションを選択します。*インタラクティブビュー:散布図
これは、以下のスクリーンショットに示されています-
ここに示すように、画面に散布図が表示されます-
x軸とy軸を変更することにより、さまざまな視覚化を実行できます。 これを行うには、散布図の右上隅にある設定メニューをクリックします。 以下のスクリーンショットに示すように、ポップアップメニューが表示されます-
この画面のプロットにさまざまなパラメーターを設定して、いくつかの側面からデータを視覚化できます。
これでモデル構築のタスクが完了しました。
KNIME-まとめと今後の作業
KNIMEは、機械学習モデルを構築するためのグラフィカルツールを提供します。 このチュートリアルでは、KNIMEをマシンにダウンロードしてインストールする方法を学びました。
概要
KNIMEワークベンチで提供されるさまざまなビューを学びました。 KNIMEは、学習用にいくつかの事前定義されたワークフローを提供します。 このようなワークフローの1つを使用して、KNIMEの機能を学習しました。 KNIMEは、さまざまな形式のデータを読み取り、いくつかのMLアルゴリズムを使用してデータを分析し、最終的にさまざまな方法でデータを視覚化するための事前にプログラムされたノードを提供します。 チュートリアルの終わりに向かって、ゼロから始めて独自のモデルを作成しました。 既知のアヤメのデータセットを使用して、k-Meansアルゴリズムを使用して植物を分類しました。
これで、これらの手法を独自の分析に使用する準備が整いました。
今後の仕事
開発者であり、プログラミングアプリケーションでKNIMEコンポーネントを使用したい場合、KNIMEがJava、R、Pythonなどの幅広いプログラミング言語とネイティブに統合されていることをご存知でしょう。