-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_DataMiningKNIME
- ドイツのコンスタンツ大学で作られたOSS
- 分析、レポート、および統合プラットフォーム。
- GUI、データ分析の一連の流れを実行できる。
- 日本語版は無いため表記は英語。
- Downloads | KNIME
https://www.knime.com/downloads
インストーラを起動して、
既定値でインストール
インストール後、スタート・メニューから起動。
「Select a directory as workspace」ダイアログの「Workspace:」欄に、
任意の作業用フォルダを指定して「Launch」ボタンを押下する。
-
「KNIME Explorer」の「Local (Local Workspace)」を右クリックし「New KNIME Workflow」を選択
-
「New KNIME Workflow Wizard」ダイアログの「Name of the workflow to create:」欄に、
任意のプロジェクト名を入力して「Finish」ボタンを押下する。 -
最も基本的な操作として、ファイルの読み込みを行う。
- [Node Repository]の検索窓に[File]と入力し[File Reader]を検索する。
- [File Reader]を[Workflow Editor]に [D & D] する。
- [Workflow Editor]上の[File Reader]をダブルクリックする。
- [File]欄にファイル・パスを指定して[OK]ボタンを押下する。
- [Workflow Editor]上の[File Reader]を右クリックし、
- 実行ボタンを押下することで、読み込みが完了する。
- [File Table]ボタンを押下することで、読み込みを確認する。
※ Sample DataSet
-
ワークフロー作成で説明した手順で、
[Workflow Editor]上にNumericとNormalの列を持つ
データを読み込んだ[File Reader]が存在すること。 -
基本統計量の計算と確認
-
[Node Repository]の検索窓に[Stat...]と入力し[Statistics]を検索する。
-
[Statistics]を[Workflow Editor]に [D & D] する。
-
[Workflow Editor]上の
- [File Reader]と[Statistics]を結線する。
- [Statistics]をダブルクリックする。
-
(NumericとNormalの)設定を確認して[OK]ボタンを押下する。
-
メニューの実行ボタンを押下して統計量を計算する。
-
[Workflow Editor]上の[Statistics]を右クリックし、
[View: Statistics View]ボタンを押下することで、
計算したさまざまな統計量(データ分析の該当節を参照)や ヒストグラム(統計解析の該当節を参照)を確認する。
-
-
欠損率の計算と確認
-
[Node Repository]の検索窓に[Math]と入力し[Math Formula]を検索する。
-
[Math Formula]を[Workflow Editor]に [D & D] する。
-
[Workflow Editor]上の
-
[Statistics]の一番上の出力[▶]
(Statistics Table)と[Math Formula]を結線する。 -
[Math Formula]をダブルクリックして設定を行う。
-
-
以下の設定を行い、
-
[Expression]に以下を設定して、
($No. missings$ / $$ROWCOUNT$$) * 100 -
[Add column]欄にカラム名として「欠損率」を入力する。
-
-
[OK]ボタンを押下する。
-
メニューの実行ボタンを押下して欠損率を計算する。
-
[Workflow Editor]上の[Math Formula]を右クリックし、
[Output data]ボタンを押下することで、計算した欠損率を確認できる。
-
-
可視化(データ分析の該当節を参照)
-
[Node Repository]の検索窓に
- [Color]と入力し[Color Manager]を検索する。
- [Scatter]と入力し[Scatter Plot]を検索する。
- [Pie]と入力し[Pie Chart]を検索する。
- [Conditional]と入力し[Conditional Box Plot]を検索する。
- [Histo]と入力し[Histogram]を検索する。
- [Line]と入力し[Line Plot]を検索する。
-
上記のノードを其々、[Workflow Editor]に [D & D] する。
-
[Workflow Editor]上の
-
ノードを以下のように結線する。
・NumericとNormalの列を持つデータを読み込んだ[File Reader][File Reader] ┬> [Color Manager] ┬> [Scatter Plot] │ └> [Pie Chart] ├> [Conditional Box Plot] └> [Histogram]・時系列の列を持つデータを読み込んだ[File Reader]
(読み込み前に[Has row ID]をチェックしておく)[File Reader] ─> [Line Plot] -
各ノードをダブルクリック、若しくは右クリックし、
[View: ノード名]ボタンを押下して設定を行う。
-
-
其々、以下のように設定を行う。
- [Color Manager]:カテゴリ列の値毎の色を設定
- [Scatter Plot]:[Column Selection]で列を選択
- [Pie Chart]:Pie と Aggregation の Columnを設定
- [Conditional Box Plot]:Numeric と Normal の Columnを設定
- [Histogram]:Binning と Aggregation の Columnを設定
- [Line Plot]:[Column Selection]で列を選択
-
...し[OK]ボタンを押下し、各ノードの設定画面を閉じ、
メニューの実行ボタンを押下して計算する。 -
[Workflow Editor]上の各ノードを右クリックし、
[View: ノード名]ボタンを押下することで、可視化の結果を確認できる。
-
-
データのクリーニング
-
ワークフロー作成で説明した手順で、
[Workflow Editor]上にNumericとNormalの列を持つ
欠損値を持つデータを読み込んだ[File Reader]が存在すること。 -
[Node Repository]の検索窓に
-
[Filter]と入力し
・[Row Filter]を検索する。
・[Rule-based Row Filter]を検索する。
・[Column Filter]を検索する。 -
[Parti...]と入力し[Partitioning]を検索する。
-
-
上記のノードを其々、[Workflow Editor]に [D & D] する。
-
[Workflow Editor]上の
-
ノードを以下のように結線する。
[File Reader] ┬> [Row Filter] ─> [Rule-based Row Filter] └> [Partitioning] ─> [Column Filter] -
各ノードをダブルクリックして設定を行う。
-
-
其々、以下のように設定を行う。
- [Row Filter]:行のフィルタ方法を指定
- [Rule-based Row Filter]:行のフィルタ方法を[Expression]で指定
- [Partitioning]:パーティショニング方法を指定
- [Column Filter]:列のフィルタ(射影)を指定
-
...し[OK]ボタンを押下し、各ノードの設定画面を閉じ、
メニューの実行ボタンを押下してフィルタリング・パーティショニングする。 -
[Workflow Editor]上の各ノードを右クリックし、
[Filtered ...]や[... partition]ボタンを押下することで、
フィルタリング・パーティショニングの結果を確認できる。
-
-
データの構築
-
前述の手順で、[Workflow Editor]上にNumericとNormalの列を持つ
欠損値を持たないデータを読み込んだ[File Reader]が存在すること。 -
[Node Repository]の検索窓に
-
[Binner]と入力し
・[Auto-Binner]を検索する。
・[Numeric Binner]を検索する。 -
[Norm...]と入力し[Normalizer]を検索する。
-
[Denorm...]と入力し[Denormalizer]を検索する。
-
-
上記のノードを其々、[Workflow Editor]に [D & D] する。
-
[Workflow Editor]上の
-
ノードを以下のように結線する。
[File Reader] ┬> [Auto-Binner] ├> [Numeric Binner] └> [Normalizer] -> [Denormalizer] ※ [Normalizer] ─> [Denormalizer]は、交差するように結線 -
各ノードをダブルクリックして設定を行う。
-
-
其々、以下のように設定を行う。
- [Auto-Binner]:対象列と分割方法を設定
- [Numeric Binner]:対象列と分割の数値範囲を設定
- [Normalizer] :対象列と値の範囲を設定(0-1)
- [Denormalizer]:特にナニも指定せず。
-
...し[OK]ボタンを押下し、各ノードの設定画面を閉じ、
メニューの実行ボタンを押下してデータを構築する。 -
[Workflow Editor]上の各ノードを右クリックし、
[Binned ...]や[Normalized table] / [Denormalized output]
ボタンを押下することでデータ構築の結果を確認できる。
-
-
データの統合
-
前述の手順で、[Workflow Editor]上にNormalの列を持つ、
結合可能なデータを読み込んだ2つの[File Reader]が存在すること。 -
[Node Repository]の検索窓に
- [Join...]と入力し[Joiner]を検索する。
- [One...]と入力し[One to Many]を検索する。
-
上記のノードを其々、[Workflow Editor]に [D & D] する。
-
[Workflow Editor]上の
-
ノードを以下のように結線する。
[File Reader] ┬> [Joiner] ─> [One to Many] [File Reader] ┘ -
各ノードをダブルクリックして設定を行う。
-
-
其々、以下のように設定を行う。
- [Joiner]:結合のキーを設定
- [One to Many]:フォーマット変換列を設定
-
...し[OK]ボタンを押下し、各ノードの設定画面を閉じ、
メニューの実行ボタンを押下してデータを統合する。 -
[Workflow Editor]上の各ノードを右クリックし、
該当ボタンを押下することでデータ統合の結果を確認できる。
-
モデル毎に確認する項目の確認を行う。
作成したワークフローを保存して展開。
回帰分析については統計解析の該当節を参照。
-
ノードを以下のように結線する(1)
[File Reader] ─> [Column Filter] ─> [Linear Regression Learner] ─> [Regression Predictor] ─> [Numeric Scorer] └──────────────────────┘ -
其々、以下のように設定を行う(1)
- [File Reader]:データの読み込み。
- [Column Filter]:列のフィルタリング
- [Linear Regression Learner]:目的変数と説明変数を設定。
- [Regression Predictor]:設定不要
- [Numeric Scorer]:実測値列と予測値列を設定
-
Workflowを実行して、結果を確認する(1)
- [Linear Regression Learner]:
[View: Linear Regression Result View]で係数、t、P値などを確認する。 - [Regression Predictor]:[Predicted data]から予測結果を確認する。
- [Numeric Scorer]:[Statistics]から決定係数(R2)を確認する。
- [Linear Regression Learner]:
-
ノードを以下のように結線する(2)
[File Reader] ─> [Column Filter] ─> [Normalizer] ─> [Linear Regression Learner] ─> [Regression Predictor] ─> [Numeric Scorer] └──────────────────────┘ -
[Normalizer]に全列の値をZ標準化に設定する(2)
-
Workflowを実行して、結果を確認する(2)
- [Linear Regression Learner]:
[View: Linear Regression Result View]で係数、t、P値などを確認する。
Z標準化によって、最も、影響の強い説明変数が明らかになる。 - [Regression Predictor]:[Predicted data]から予測結果を確認する。
- [Numeric Scorer]:[Statistics]から決定係数(R2)を確認する。
- [Linear Regression Learner]:
決定木分析については統計解析の該当節を参照。
-
ノードを以下のように結線する。
[File Reader] ─> [Decision Tree Learner] ─> [Decision Tree Predictor] ─> [Scorer] └────────────────────┘ -
其々、以下のように設定を行う。
- [File Reader]:データの読み込み。
- [Decision Tree Learner]:
目的変数を選択し[min number records per node]=10を設定。 - [Decision Tree Predictor]:設定不要
- [Scorer]:実測値列と予測値列を設定
-
Workflowを実行して、結果を確認する。
- [Decision Tree Learner]:[View: Decision Tree View]から予測モデルを確認する。
- [Decision Tree Predictor]:[View: Decision Tree View]から予測結果を確認する。
- [Scorer]:[View: Confusion matrix]から混同行列や[Accuracy]を確認する。
主成分分析については統計解析の該当節を参照。
-
ノードを以下のように結線する。
[File Reader] ─> [Normalizer] ─> [PCA] ┬> [PCA Compute] └> [Linear Correlation] -
其々、以下のように設定を行う。
- [File Reader]:データの読み込み。
- [Normalizer]:全列の値をZ標準化に設定する。
- [PCA]:次元数を4(Numeric列数と同じ)に設定する。
- [PCA Compute]:追加された列を削除する。
- [Linear Correlation]:設定不要
-
Workflowを実行して、結果を確認し、再設定・実行・確認する。
- [PCA Compute]:[Spectral decomposition]から、最適な次元を確認、
- [PCA]:次元数を再設定してWorkflowを再実行する。
- [Linear Correlation]:[Correlation matrix]で結果を確認する。
-
ノードを以下のように結線する。
[File Reader] ─> [Normalizer] ─> [RProp MLP Learner] ─> [MultiLayerPerceptron Predictor] ─> [Scorer] └────────────────────┘ -
其々、以下のように設定を行う。
- [File Reader]:データの読み込み。
- [Normalizer]:全列の値の範囲(0-1)
- [RProp MLP Learner]:
目的変数を選択し[Number of hidden layers]=2を設定。 - [MultiLayerPerceptron Predictor]:設定不要
- [Scorer]:実測値列と予測値列を設定
-
Workflowを実行して、結果を確認する。
[Scorer]:- [View: Confusion matrix]から混同行列や[Accuracy]を確認する。
- [Accuracy]は高いが、ブラックボックスなので確認ポイントは少ない。
ロジスティック回帰については統計解析の該当節を参照。
-
ノードを以下のように結線する。
[File Reader] ─> [One to Many] ─> [Column Filter] ─> [Number To String] ┌──────────────────┬───────────┘ [Logistic Regression Learner] ┬> [Logistic Regression Predictor] ─> [Scorer] └> [Math Formula] -
其々、以下のように設定を行う。
-
[File Reader]:データの読み込み。
-
[One to Many]:Normal列を指定しフォーマット変換(展開)
-
[Column Filter]:説明変数のフィルタリング、展開したNormal列を1つにフィルタリング
-
[Number To String]:展開したNormal列の値を文字列型に変換
-
[Logistic Regression Learner]:目的変数と説明変数を設定。
- [Reference category]に「0」を設定する。
- また[Advanced]タブで学習の試行サイクルを20,000に設定する。
-
[Logistic Regression Predictor]:設定不要
-
[Scorer]:実測値列と予測値列を設定
-
[Math Formula]:[Expression]に以下を設定して、
[Add column]欄にカラム名として「オッズ比」を入力する。exp($Coeff.$)
-
-
Workflowを実行して、結果を確認する。
- [Logistic Regression Learner]:[Coefficients and Statistics]で係数、t、P値などを確認する。
- [Logistic Regression Predictor]:[Predicted data]から予測結果を確認する。
- [Scorer]:[View: Confusion matrix]から混同行列や[Accuracy]を確認する。
- [Math Formula]:[Output data]から「オッズ比」を確認する。
クラスタ分析については統計解析の該当節を参照。
-
ノードを以下のように結線する。
[File Reader] ─> [Normalizer] ─> [k-Means] ─> [Color Manager] ─> [Parallel Coordinates] -
其々、以下のように設定を行う。
- [File Reader]:データの読み込み。
- [Normalizer]:対象列(全列)と値の範囲を設定(0-1)
- [k-Means]:クラスタ数(初期値:3)と対象列(全列)を設定。
- [Color Manager]:クラスタの色分けを設定
- [Parallel Coordinates]:特にナニも指定せず。
-
Workflowを実行して、結果を確認する。
- [Parallel Coordinates]:[View: Parallel Coordinates]で可視化。
(他の分析で)影響度の低かった説明変数から影響度の高かった説明変数
の順に分類される流れが可視化されていることを確認できる。
- [Parallel Coordinates]:[View: Parallel Coordinates]で可視化。
アソシエーション分析についてはデータ解析の該当節を参照。
-
ノードを以下のように結線する。
[File Reader] ─> [Create Collection Column] ─> [Association Rule Learner] ─> [Rule-based Row Filter] -
其々、以下のように設定を行う。
-
[File Reader]:データの読み込み。
-
[Create Collection Column]:特にナニも指定せず(全列を集約したカラムが追加)。
-
[Association Rule Learner]:
- 支持度の最小値:0.1(Minimum support (0-1))
- 確信度の最小値:0.1(Minimum confidence)
-
[Rule-based Row Filter]:
以下の[Expression]で[Consequent]行をフィルタ$Consequent$ = "Yes" => TRUE $Consequent$ = "No" => TRUE
-
-
Workflowを実行して、結果を確認する。
[Rule-based Row Filter]:[Filtered]から結果を確認- Liftでソート
- Lift値が2以上のモノが共起性が高いと言える。
(元 Wiki では未記載)
- [AI&ビッグデータ]分析モデリングツール「KNIME」
https://info.hitachi-ics.co.jp/product/d_value/knime.html - KNIMEワークフローの作り方 ビギナー向けチートシート
https://info.hitachi-ics.co.jp/product/d_value/images/KNIME_CheatSheet_Beginner_A3_Web_Jap_v3.pdf
- 無料ツールで始めるデータ分析入門
- 第1回 「業務のプロ」がデータ分析をすべき理由
https://xtech.nikkei.com/atcl/learning/lecture/19/00077/00001/ - 第2回 KNIMEで分析を始めよう
https://xtech.nikkei.com/atcl/learning/lecture/19/00077/00002/ - 第3回 データの傾向を理解する
https://xtech.nikkei.com/atcl/learning/lecture/19/00077/00003/ - 第4回 分析のためにデータを加工する
https://xtech.nikkei.com/atcl/learning/lecture/19/00077/00004/ - 第5回 モデルを作成し、評価する
https://xtech.nikkei.com/atcl/learning/lecture/19/00077/00005/
- 第1回 「業務のプロ」がデータ分析をすべき理由
- ダウンロードする
https://knime-infocom.jp/service/knime-analytics-platform/guide/download/ - インストールする
https://knime-infocom.jp/service/knime-analytics-platform/guide/install/ - ワークフローをつくる
https://knime-infocom.jp/service/knime-analytics-platform/guide/work-flow/ - エクステンションの追加
https://knime-infocom.jp/service/knime-analytics-platform/guide/extension/
【Ver4.4対応版】
KNIMEのノード名(Node Repository)および、
ノード説明書き(Description)を日本語化する
https://knime-infocom.jp/blog/knime-japanese44/
- Downloads
https://www.knime.com/downloads - KNIME Getting Started Guide
https://www.knime.com/getting-started-guide - KNIME Learning
https://www.knime.com/learning - KNIME Hub
https://hub.knime.com/
https://www.youtube.com/user/KNIMETV
https://www.youtube.com/channel/UCHfsNqOaJ9NYf7zNqxV_b0A
- KNIME Analytics Platformのインストール手順
https://www.youtube.com/watch?v=GJSVWzHePxo
移行メモ
- 決定木分析のノード名「Decision Tree Learner Predictor」は、 同節の結果確認の記述および KNIME の実際のノード名と整合しないため 「Decision Tree Predictor」に修正した。
- 参考の「日経クロステック(xTECH) - 無料ツールで始めるデータ分析入門」に 日立産業制御ソリューションズの URL が記載されていた(コピー&ペーストの 誤りと思われる)ため、URL を除去して各回のリンクのみを残した。
- 本文の無い見出し「Extension」には未記載である旨を明示した。
- PukiWiki のページ内アンカ(
#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名の該当節を参照)」の形に置き換えた。
Tags: 移行, データマイニング, KNIME, GUI, ワークフロー, CRISP-DM, 回帰分析, 決定木, クラスタ分析
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。