KNIME 快速指南



KNIME - 簡介

由於機器學習模型的隱秘性,其開發一直被認為極具挑戰性。通常,要開發機器學習應用程式,您必須是一位優秀的開發人員,並且精通命令驅動開發。KNIME 的引入將機器學習模型的開發帶入了普通人的視野。

KNIME 為整個開發過程提供了圖形介面(使用者友好的 GUI)。在 KNIME 中,您只需定義其儲存庫中提供的各種預定義節點之間的工作流。KNIME 提供了幾個稱為節點的預定義元件,用於執行各種任務,例如讀取資料、應用各種機器學習演算法以及以各種格式視覺化資料。因此,使用 KNIME 不需要任何程式設計知識。這難道不令人興奮嗎?

本教程接下來的章節將教你如何使用幾個經過良好測試的機器學習演算法來掌握資料分析。

KNIME - 安裝

KNIME Analytics Platform 可用於 Windows、Linux 和 MacOS。在本章中,讓我們瞭解一下在 Mac 上安裝平臺的步驟。如果您使用 Windows 或 Linux,只需按照 KNIME 下載頁面上提供的安裝說明進行操作即可。所有三個平臺的二進位制安裝程式都可以在 KNIME 的頁面 上找到。

Mac 安裝

從 KNIME 官方網站下載二進位制安裝程式。雙擊下載的 dmg 檔案以開始安裝。安裝完成後,只需將 KNIME 圖示拖到應用程式資料夾,如下所示:

Mac Installation

Copy KNIME

KNIME - 首次執行

雙擊 KNIME 圖示啟動 KNIME Analytics Platform。最初,系統會要求您設定一個工作區資料夾以儲存您的工作。您的螢幕將如下所示:

您可以將選定的資料夾設定為預設資料夾,下次啟動 KNIME 時,它將不會

Launch KNIME

再次顯示此對話方塊。

一段時間後,KNIME 平臺將在您的桌面上啟動。這是您進行分析工作的工作臺。現在讓我們看看工作臺的各個部分。

KNIME - 工作臺

KNIME 啟動後,您將看到以下螢幕:

Workbench

如螢幕截圖中所示,工作臺包含多個檢視。對我們而言,立即有用的檢視已在螢幕截圖中標記,並在下面列出:

  • 工作區

  • 大綱

  • 節點儲存庫

  • KNIME 資源管理器

  • 控制檯

  • 描述

在本章的後續內容中,我們將詳細瞭解這些檢視。

工作區檢視

對我們來說最重要的檢視是 工作區 檢視。您將在其中建立您的機器學習模型。工作區檢視在下面的螢幕截圖中突出顯示:

Workspace View

螢幕截圖顯示了一個已開啟的工作區。您很快就會學習如何開啟現有工作區。

每個工作區包含一個或多個節點。您將在本教程後面學習這些節點的重要性。節點使用箭頭連線。通常,程式流是從左到右定義的,儘管這不是必需的。您可以自由地將每個節點移動到工作區的任何位置。兩個節點之間的連線線將適當地移動以保持節點之間的連線。您可以隨時新增/刪除節點之間的連線。對於每個節點,可以選擇性地新增一個簡短的描述。

大綱檢視

工作區檢視可能無法一次顯示整個工作流。這就是提供大綱檢視的原因。

Outline View

大綱檢視顯示整個工作區的縮圖檢視。此檢視內有一個縮放視窗,您可以滑動它以檢視 工作區 檢視中工作流的不同部分。

節點儲存庫

這是工作臺中另一個重要的檢視。節點儲存庫列出了可用於分析的各種節點。整個儲存庫根據節點功能進行了很好的分類。您會發現以下類別:

  • IO

  • 檢視

  • 分析

Node Repository

在每個類別下,您會發現多個選項。只需展開每個類別檢視即可檢視其中包含的內容。在 IO 類別下,您會找到用於以各種檔案格式(如 ARFF、CSV、PMML、XLS 等)讀取資料的節點。

Node Repository IO

根據您的輸入源資料格式,您將選擇合適的節點來讀取您的資料集。

到目前為止,您可能已經瞭解了節點的目的。節點定義了一種特定型別的功能,您可以將其直觀地包含在您的工作流中。

分析節點定義了各種機器學習演算法,例如貝葉斯、聚類、決策樹、整合學習等等。

Node Repository Analytics

這些節點提供了這些各種機器學習演算法的實現。要在您的分析中應用任何演算法,只需從儲存庫中選擇所需的節點並將其新增到您的工作區即可。將資料讀取器節點的輸出連線到此機器學習節點的輸入,您的工作流就建立好了。

我們建議您探索儲存庫中提供的各種節點。

KNIME 資源管理器

工作臺中的下一個重要檢視是 資源管理器 檢視,如下面的螢幕截圖所示:

Explorer

前兩個類別列出了在 KNIME 伺服器上定義的工作區。第三個選項 LOCAL 用於儲存您在本地計算機上建立的所有工作區。嘗試展開這些選項卡以檢視各種預定義的工作區。特別是,展開 EXAMPLES 選項卡。

KNIME Explorer

KNIME 提供了幾個示例來幫助您開始使用該平臺。在下一章中,您將使用其中一個示例來熟悉該平臺。

控制檯檢視

顧名思義,控制檯 檢視提供了執行工作流期間各種控制檯訊息的檢視。

Console View

控制檯 檢視有助於診斷工作流並檢查分析結果。

描述檢視

最後一個對我們而言立即相關的檢視是 描述 檢視。此檢視提供對工作區中所選專案的描述。典型的檢視如下面的螢幕截圖所示:

Description View

以上檢視顯示了 檔案讀取器 節點的描述。當您在工作區中選擇 檔案讀取器 節點時,您將在此檢視中看到其描述。單擊任何其他節點將顯示所選節點的描述。因此,此檢視在學習的初始階段非常有用,那時您並不確切知道工作區和/或節點儲存庫中各種節點的目的。

工具欄

除了上面描述的檢視之外,工作臺還有其他檢視,例如工具欄。工具欄包含各種圖示,方便快速操作。圖示會根據上下文啟用/停用。您可以將滑鼠懸停在圖示上檢視每個圖示執行的操作。以下螢幕顯示了 配置 圖示執行的操作。

Toolbar

啟用/停用檢視

到目前為止,您看到的各種檢視都可以輕鬆地開啟/關閉。單擊檢視中的關閉圖示將 關閉 該檢視。要恢復檢視,請轉到 檢視 選單選項並選擇所需的檢視。選定的檢視將新增到工作臺中。

Enabling Disabling Views

現在,既然您已經熟悉了工作臺,我將向您展示如何執行工作流並研究其執行的分析。

KNIME - 執行你的第一個工作流

KNIME 提供了幾個優秀的工作流,方便學習。在本章中,我們將選擇安裝中提供的一個工作流,以解釋各種功能和分析平臺的功能。我們將使用一個基於 決策樹 的簡單分類器進行研究。

載入決策樹分類器

在 KNIME 資源管理器中找到以下工作流:

LOCAL / Example Workflows / Basic Examples / Building a Simple Classifier

這也在下面的螢幕截圖中顯示,供您快速參考:

Tree Classifier

雙擊所選專案以開啟工作流。觀察工作區檢視。您將看到包含多個節點的工作流。此工作流的目的是根據來自 UCI 機器學習儲存庫的成人資料集的民主屬性預測收入群體。此機器學習模型的任務是將特定區域的人們分類為收入大於或小於 50K。

下面的螢幕截圖顯示了 工作區 檢視及其大綱:

Workspace

請注意,存在從 節點 儲存庫中提取的多個節點,並透過箭頭連線到工作流中。連線表示一個節點的輸出被饋送到下一個節點的輸入。在我們瞭解工作流中每個節點的功能之前,讓我們首先執行整個工作流。

執行工作流

在我們瞭解工作流的執行之前,瞭解每個節點的狀態報告非常重要。檢查工作流中的任何節點。在每個節點的底部,您會找到一個狀態指示器,其中包含三個圓圈。決策樹學習器節點在下面的螢幕截圖中顯示:

Workflow Decision

狀態指示器為紅色,表示此節點尚未執行。在執行期間,黃色中心的圓圈將亮起。執行成功後,最後一個圓圈將變為綠色。如果發生錯誤,還有更多指示器可以為您提供狀態資訊。當處理過程中發生錯誤時,您將瞭解它們。

請注意,當前所有節點上的指示器均為紅色,表示到目前為止尚未執行任何節點。要執行所有節點,請單擊以下選單項:

Node → Execute All
Execution Workflow

過一段時間,您會發現每個節點狀態指示燈現在都變成了綠色,表示沒有錯誤。

在下一章中,我們將探討工作流中各個節點的功能。

KNIME - 探索工作流

如果您檢視工作流中的節點,您會發現它包含以下內容 -

  • 檔案讀取器,

  • 顏色管理器

  • 分割槽

  • 決策樹學習器

  • 決策樹預測器

  • 評分

  • 互動式表格

  • 散點圖

  • 統計

這些在大綱檢視中很容易看到,如下所示 -

Outline

每個節點在工作流中提供特定的功能。我們現在將研究如何配置這些節點以滿足所需的功能。請注意,我們只討論在當前探索工作流的上下文中與我們相關的節點。

檔案讀取器

檔案讀取器節點如下圖所示 -

File Reader

視窗頂部有一些工作流建立者提供的描述。它說明此節點讀取成人資料集。從節點符號下方的描述中可以看出,檔名為adult.csv檔案讀取器有兩個輸出 - 一個連線到顏色管理器節點,另一個連線到統計節點。

如果右鍵單擊檔案管理器,將顯示如下彈出選單 -

File Manager

配置選單選項允許進行節點配置。執行選單執行節點。請注意,如果節點已執行並且處於綠色狀態,則此選單將被停用。此外,請注意編輯註釋描述選單選項的存在。這允許您為節點編寫描述。

現在,選擇配置選單選項,它將顯示包含來自 adult.csv 檔案的資料的螢幕,如下面的螢幕截圖所示 -

Adult CSV File

執行此節點時,資料將載入到記憶體中。整個資料載入程式程式碼對使用者隱藏。您現在可以體會到此類節點的實用性 - 無需編碼。

我們的下一個節點是顏色管理器

顏色管理器

選擇顏色管理器節點,然後右鍵單擊進入其配置。將出現顏色設定對話方塊。從下拉列表中選擇收入列。

您的螢幕將如下所示 -

Color Manager

注意兩個約束的存在。如果收入低於 50K,則資料點將獲得綠色,如果高於 50K,則獲得紅色。在本章後面檢視散點圖時,您將看到資料點對映。

分割槽

在機器學習中,我們通常將所有可用資料分成兩部分。較大的部分用於訓練模型,而較小的部分用於測試。有不同的策略用於對資料進行分割槽。

要定義所需的分割槽,請右鍵單擊分割槽節點並選擇配置選項。您將看到以下螢幕 -

Partitioning

在本例中,系統建模人員使用了相對(%)模式,資料以 80:20 的比例分割。在進行分割時,資料點是隨機選取的。這確保您的測試資料可能不會有偏差。在使用線性取樣時,用於測試的剩餘 20% 資料可能無法正確表示訓練資料,因為它在收集過程中可能完全存在偏差。

如果您確定在資料收集過程中保證了隨機性,則可以選擇線性取樣。一旦您的資料準備好用於訓練模型,將其饋送到下一個節點,即決策樹學習器

決策樹學習器

顧名思義,決策樹學習器節點使用訓練資料構建模型。檢視此節點的配置設定,如下面的螢幕截圖所示 -

Decision Tree Learner

如您所見,類別收入。因此,樹將基於收入列構建,這就是我們試圖在此模型中實現的目標。我們希望將收入高於或低於 50K 的人群分開。

此節點成功執行後,您的模型將準備就緒進行測試。

決策樹預測器

決策樹預測器節點將開發的模型應用於測試資料集並附加模型預測。

Tree Predictor

預測器的輸出饋送到兩個不同的節點 - 評分器散點圖。接下來,我們將檢查預測的輸出。

評分器

此節點生成混淆矩陣。要檢視它,請右鍵單擊節點。您將看到以下彈出選單 -

Scorer

單擊檢視:混淆矩陣選單選項,矩陣將以單獨的視窗彈出,如下面的螢幕截圖所示 -

Confusion Matrix

這表明我們開發的模型的準確率為 83.71%。如果您對此不滿意,您可以嘗試模型構建中的其他引數,特別是您可能希望重新訪問和清理您的資料。

散點圖

要檢視資料分佈的散點圖,請右鍵單擊散點圖節點並選擇選單選項互動式檢視:散點圖。您將看到以下圖表 -

Scatter Plot

該圖根據 50K 的閾值,以兩種不同顏色的點(紅色和藍色)顯示不同收入群體人員的分佈。這些是我們顏色管理器節點中設定的顏色。分佈相對於橫軸上的年齡繪製。您可以透過更改節點的配置來選擇不同的橫軸特徵。

配置對話方塊如下所示,我們在其中選擇了婚姻狀況作為橫軸特徵。

Marital Status

這完成了我們對 KNIME 提供的預定義模型的討論。我們建議您自行學習模型中的其他兩個節點(統計和互動式表格)。

現在讓我們繼續本教程最重要的部分 – 建立您自己的模型。

KNIME - 構建你自己的模型

在本節中,您將構建自己的機器學習模型,根據一些觀察到的特徵對植物進行分類。我們將為此目的使用來自UCI 機器學習儲存庫的著名鳶尾花資料集。資料集包含三種不同的植物類別。我們將訓練我們的模型將未知植物分類到這三個類別之一。

我們將從在 KNIME 中建立一個新的工作流開始,以建立我們的機器學習模型。

建立工作流

要建立新的工作流,請在 KNIME 工作臺中選擇以下選單選項。

File → New

您將看到以下螢幕 -

Creating Workflow

選擇新建 KNIME 工作流選項,然後單擊下一步按鈕。在下一個螢幕上,系統將提示您輸入工作流的所需名稱以及儲存它的目標資料夾。根據需要輸入此資訊,然後單擊完成以建立新的工作區。

一個具有給定名稱的新工作區將新增到工作區檢視中,如下所示 -

Creating Workspace

您現在將在此工作區中新增各種節點以建立您的模型。在此之前,您必須下載並準備鳶尾花資料集以供我們使用。

準備資料集

從 UCI 機器學習儲存庫站點下載鳶尾花資料集下載鳶尾花資料集。下載的 iris.data 檔案採用 CSV 格式。我們將對其進行一些更改以新增列名。

在您喜歡的文字編輯器中開啟下載的檔案,並在開頭新增以下行。

sepal length, petal length, sepal width, petal width, class

當我們的檔案讀取器節點讀取此檔案時,它將自動將上述欄位作為列名。

現在,您將開始新增各種節點。

新增檔案讀取器

轉到節點儲存庫檢視,在搜尋框中鍵入“file”以找到檔案讀取器節點。這在下面的螢幕截圖中可以看到 -

Adding File Reader

選擇並雙擊檔案讀取器以將節點新增到工作區。或者,您可以使用拖放功能將節點新增到工作區。新增節點後,您需要對其進行配置。右鍵單擊節點並選擇配置選單選項。您在前面的課程中已經做過。

載入資料檔案後,設定螢幕如下所示。

Adding Datafile

要載入資料集,請單擊瀏覽按鈕並選擇 iris.data 檔案的位置。節點將載入檔案的內容,這些內容顯示在配置框的下部。一旦您確認資料檔案已正確找到並載入,請單擊確定按鈕關閉配置對話方塊。

您現在將為此節點新增一些註釋。右鍵單擊節點並選擇新建工作流注釋選單選項。螢幕上將出現一個註釋框,如下面的螢幕截圖所示

Workflow Annotation

單擊框內並新增以下注釋 -

Reads iris.data

單擊框外的任意位置退出編輯模式。根據需要調整框的大小並將其放置在節點周圍。最後,雙擊節點下方的節點 1文字以將此字串更改為以下內容 -

Loads data

此時,您的螢幕將如下所示 -

Iris Data

我們現在將新增一個新的節點,用於將我們載入的資料集劃分為訓練集和測試集。

新增分割槽節點

節點儲存庫搜尋視窗中,鍵入一些字元以找到分割槽節點,如下面的螢幕截圖所示 -

Locate Partitioning

將節點新增到我們的工作區。將其配置設定為如下 -

Relative (%) : 95
Draw Randomly

以下螢幕截圖顯示了配置引數。

Configuration Parameters

接下來,在兩個節點之間建立連線。為此,請單擊檔案讀取器節點的輸出,保持滑鼠按鈕按下,將出現一條橡皮筋線,將其拖動到分割槽節點的輸入處,釋放滑鼠按鈕。現在在兩個節點之間建立了連線。

添加註釋,更改描述,根據需要定位節點和註釋檢視。在此階段,您的螢幕應如下所示 -

File Reader Partitioning

接下來,我們將新增k-Means節點。

新增k-Means節點

從儲存庫中選擇k-Means節點並將其新增到工作區。如果您想複習k-Means演算法的知識,只需在工作臺的描述檢視中查詢其描述即可。這在下面的螢幕截圖中顯示 -

K Means

順便說一句,在做出最終決定使用哪種演算法之前,您可以在描述視窗中查詢不同演算法的描述。

開啟節點的配置對話方塊。我們將使用此處顯示的所有欄位的預設值 -

Configuration Dialog

單擊確定以接受預設值並關閉對話方塊。

將註釋和描述設定為以下內容 -

  • 註釋:分類叢集

  • 描述:執行聚類

分割槽節點的頂部輸出連線到k-Means節點的輸入。重新定位您的專案,您的螢幕應如下所示 -

Partitioning Node

接下來,我們將新增一個叢集分配器節點。

新增叢集分配器

叢集分配器將新資料分配給現有的一組原型。它有兩個輸入 - 原型模型和包含輸入資料的datatable。在描述視窗中查詢節點的描述,如下面的螢幕截圖所示 -

Adding Cluster Assigner

因此,對於此節點,您必須進行兩個連線 -

  • 分割槽節點的 PMML 叢集模型輸出 → 叢集分配器的原型輸入

  • 分割槽節點的第二個分割槽輸出 → 叢集分配器的輸入資料

這兩個連線在下面的螢幕截圖中顯示 -

Cluster Assigner

聚類分配器不需要任何特殊配置。只需接受預設值即可。

現在,為該節點新增一些註釋和描述。重新排列節點。您的螢幕應如下所示:

Shape Manager

至此,我們的聚類已完成。我們需要以圖形方式視覺化輸出。為此,我們將新增一個散點圖。我們將在散點圖中以不同的顏色和形狀顯示三個類別。因此,我們將首先透過顏色管理器節點,然後透過形狀管理器節點過濾k-Means節點的輸出。

新增顏色管理器

在資源庫中找到顏色管理器節點。將其新增到工作區。將配置保留為預設值。請注意,您必須開啟配置對話方塊並點選確定以接受預設值。為節點設定描述文字。

k-Means的輸出到顏色管理器的輸入建立連線。在此階段,您的螢幕將如下所示:

Color Manager Screen

新增形狀管理器

在資源庫中找到形狀管理器並將其新增到工作區。將其配置保留為預設值。與上一個節點類似,您必須開啟配置對話方塊並點選確定以設定預設值。從顏色管理器的輸出到形狀管理器的輸入建立連線。為節點設定描述。

您的螢幕應如下所示:

Adding Shape Manager

現在,您將向模型中新增最後一個節點,即散點圖。

新增散點圖

在資源庫中找到散點圖節點並將其新增到工作區。將形狀管理器的輸出連線到散點圖的輸入。將配置保留為預設值。設定描述。

最後,為最近新增的三個節點新增一個組註釋

註釋:視覺化

根據需要重新定位節點。在此階段,您的螢幕應如下所示。

Annotation Visualization

這完成了模型構建任務。

KNIME - 測試模型

要測試模型,請執行以下選單選項:節點執行全部

如果一切正常,則每個節點底部的狀態訊號將變為綠色。否則,您需要在控制檯檢視中查詢錯誤,修復它們並重新執行工作流。

現在,您已準備好視覺化模型的預測輸出。為此,右鍵單擊散點圖節點並選擇以下選單選項:互動式檢視:散點圖

這在下面的螢幕截圖中顯示:

Interactive View

您將在螢幕上看到如下所示的散點圖:

Scatter Plot Screen

您可以透過更改x軸和y軸來瀏覽不同的視覺化效果。為此,請單擊散點圖右上角的設定選單。將出現一個彈出選單,如下面的螢幕截圖所示:

Visualizations Changing

您可以在此螢幕上設定圖表的各種引數,以從多個方面視覺化資料。

這完成了我們的模型構建任務。

KNIME - 總結和未來工作

KNIME提供了一個用於構建機器學習模型的圖形工具。在本教程中,您學習瞭如何在您的機器上下載和安裝KNIME。

總結

您學習了KNIME工作臺中提供的各種檢視。KNIME為您的學習提供了幾個預定義的工作流。我們使用其中一個工作流來學習KNIME的功能。KNIME提供了幾個預程式設計的節點,用於以各種格式讀取資料、使用多種機器學習演算法分析資料,以及最終以多種不同方式視覺化資料。在本教程的最後,您從頭開始建立了自己的模型。我們使用著名的鳶尾花資料集,使用k-Means演算法對植物進行分類。

您現在可以將這些技術用於您自己的分析。

未來工作

如果您是開發人員,並且希望在您的程式設計應用程式中使用KNIME元件,您會很高興地知道KNIME可以與多種程式語言(如Java、R、Python等)原生整合。

廣告

© . All rights reserved.