無需一行程式碼就能搞定機器學習的開源神器——手把手教你配置使用

CSDN學院發表於2020-04-04

對於機器學習和資料科學的初學者來說,最大的挑戰之一是需要同時學習太多知識,特別是如果你不知道如何編碼。你需要快速地適應線性代數、統計以及其他數學概念,並學習如何編碼它們,對於新使用者來說,這可能會有點難以承受。

如果你沒有編碼的背景並且發現很難學習下去,這時你可以用一個GUI驅動的工具來學習資料科學。當你剛開始學習的時候,可以集中精力學習實際的專案。一旦適應了基本的概念,你就可以在以後慢慢學習如何編寫程式碼。

在今天的文章中,將介紹一個基於GUI的工具:KNIME。讀完本文,你將在無需編寫任何程式碼的情況下,預測零售商店的銷售情況。

讓我們開始吧!

**

為什麼是KNIME ?

**

KNIME是一個基於GUI工作流的強大分析平臺。這意味著你不必知道如何編寫程式碼(對於像我這樣的初學者來說是一種解脫),就能夠使用KNIME並獲得洞察力。

你可以執行從基本I/O到資料操作、轉換和資料探勘等功能。它將整個過程的所有功能合併到一個工作流中。

設定系統

在開始KNIME之前,首先你需要安裝它並在PC上設定它。到KNIME下載頁面(http://www.knime.com/downloads)下載。
這裡寫圖片描述

為你的電腦確定正確的版本:
這裡寫圖片描述

安裝該平臺,併為KNIME設定工作目錄以儲存其檔案:

這裡寫圖片描述

這就是你螢幕上顯示的樣子。

建立你的第一個工作流程

在我們深入研究KNIME的工作原理之前,讓我們先定義幾個關鍵術語來幫助我們理解,然後看看如何在KNIME中開啟一個新專案。

節點:節點是任何資料操作的基本處理點。它可以根據你在工作流程中選擇的內容來執行一些操作。
工作流:工作流是指你在平臺上完成特定任務的步驟或操作的順序。

在左上角的工作流指導會向你展示KNIME社群特定節點的使用百分比。節點儲存庫將顯示特定工作流可以擁有的所有節點,這取決於你的需要。當建立第一個工作流時,你還可以瀏覽示例工作流來檢查更多的工作流。這是邁向解決任何問題的第一步。

要建立一個工作流,可以遵循這些步驟。

進入檔案選單,點選新建:

這裡寫圖片描述

在你的平臺上建立一個新的KNIME工作流並命名它為Introduction。

這裡寫圖片描述

現在,當點選Finish時,你應該已經成功建立了你的第一個KNIME工作流。

這裡寫圖片描述

這是你在KNIME上的空白工作流程。現在,你就可以從儲存庫將任何節點拖放到工作流中來探索和解決任何問題。

KNIME介紹

**

KNIME是一個可以幫助解決我們在資料科學的邊界上可能遇到任何問題的平臺。從最基本的視覺化或線性迴歸到高階深度學習,KNIME可以做到這一切。

作為一個示例用例,我們在本教程中要解決的問題是Datahack可以訪問的BigMart銷售問題。

這個問題具體描述如下:

BigMart的資料科學家已經收集了2013年不同城市10家商店1559種產品的銷售資料。此外,還定義了每個產品和儲存的某些屬性。其目的是建立一個預測模型,並在特定的商店中找出每種產品的銷售情況。使用這個模型,BigMart將嘗試瞭解產品和商店的屬性,這些屬性在增加銷售中扮演著關鍵的角色。

你可以在這裡(https://www.analyticsvidhya.com/blog/2016/02/bigmart-sales-solution-top-20/?utm_source=dzone&utm_medium=social)找到BigMart銷售問題的方法和解決方案。

匯入資料檔案

讓我們從理解這個問題的第一步驟開始:匯入我們的資料。

這裡寫圖片描述

拖放檔案閱讀器節點到工作流並雙擊它。接下來,瀏覽需要匯入到工作流中的檔案。

在本文中,我們將學習如何解決BigMart銷售的問題,我將從BigMart Sales匯入訓練資料集:

這裡寫圖片描述

這就是匯入資料集時預覽的樣子。

讓我們視覺化一些相關的列,並找出它們之間的相關性。相關性幫助我們發現哪些列可能是相互關聯的,並具有更高的預測能力來幫助我們最終的結果。

要了解更多相關資訊,請閱讀本文
https://www.analyticsvidhya.com/blog/2015/06/correlation-common-questions/?utm_source=dzone&utm_medium=social

為了建立一個correlation matrix矩陣,我們在節點儲存庫中鍵入“linear correlation”,然後將其拖放到我們的工作流中。

這裡寫圖片描述

在我們拖放之後,我們將把檔案閱讀器File reader的輸出連線到節點linear correlation的輸入。

單擊topmost皮膚上的綠色按鈕Execute。然後右擊相關節點並選擇View:Correlation Matrix 生成下圖。

這裡寫圖片描述

這將幫助你選擇重要的特性,並通過在特定的單元上懸停來更好地預測。

接下來,我們將視覺化資料集的範圍和模式來更好地理解它。

視覺化和分析

其實,我們想要從資料中瞭解到的主要事情之一就是:什麼東西被賣得最多。
有兩種解釋資訊的方法:散點圖(Scatter Plot )和餅圖(pie chart)。

散點圖

這裡寫圖片描述

在我們的節點儲存庫中搜尋Views 項下的Scatter Plot 。將其以類似的方式拖放到工作流中,並將檔案閱讀器的輸出連線到此節點。

接下來,配置節點,選擇你需要多少行資料,並希望視覺化(我選擇了3000)。
單擊Execute,然後檢視:散點圖。

這裡寫圖片描述

X軸為Item_Type,Y軸為Item_Outlet_Sales。

上面的圖代表了每種商品的銷售情況,並向我們展示了水果和蔬菜的銷售量是最高的。

餅狀圖

要了解我們資料庫中所有產品型別的平均銷售估算,我們將使用一個餅圖。

這裡寫圖片描述

單擊檢視下的餅圖節點並將其連線到你的檔案閱讀器。選擇需要隔離的列並選擇首選的聚合方法,然後應用。

這張圖表向我們展示了銷售在各種產品上的平均分配。“澱粉類食品”的平均銷量為7.7%。

以上,我只使用了兩種型別的檢視,儘管你還可以在瀏覽Views選項卡下檢視多種表單中的資料。比如可以使用直方圖、行圖等來更好地視覺化你的資料。

我喜歡像Tableau這樣的工具,它是實現資料視覺化的最有力工具。

如何清洗資料?

在訓練模型之前,你可以進行的一項內容就是資料清理和特性提取。這裡,我將提供一個關於KNIME資料清理步驟的概述。

尋找Missing Values

在估算值之前,我們需要知道哪些是缺失的。

再次訪問節點儲存庫,找到Missing Values節點。拖放它,並將我們的檔案閱讀器File reader 的輸出連線到節點。

這裡寫圖片描述

Imputations

要imputed values ,請選擇Missing value並單擊Configure。根據所要資料的型別,選擇你想要的資料,並點選Apply。
這裡寫圖片描述

現在,當我們執行它時,在Missing value節點的輸出埠上已經準備好了具有imputed values的完整資料集。在我的分析中,我選擇了imputation 方法為:

String

Next value
Previous value
Custom value
Remove row

Number (double and integer)

Mean
Median
Previous value
Next value
Custom value
Linear interpolation
Moving averag

訓練你的第一個模型

讓我們來看看如何在KNIME中構建機器學習模型。

實現一個線性模型Linear Model

首先,我們將訓練一個線性模型Linear Model ,它包含了資料集的所有特性,以瞭解如何選擇特性並構建模型。這是一個初學者的線性迴歸指南。

進入你的節點儲存庫,並將Linear Regression Learner拖到工作流中。然後將收集的乾淨資料連線到 Missing value 節點的輸出埠。

這裡寫圖片描述

這是你現在的螢幕呈現。在Configuration選項卡中,排除Item_Identifier並在頂部選擇目標變數。完成這個任務之後,需要匯入testdata來執行模型。

將另一個檔案閱讀器拖放到工作流中,並從你的系統中選擇測試資料。

這裡寫圖片描述

正如我們所看到的,測試資料也包含缺失值。我們將以與訓練資料相同的方式在Missing value節點上執行它。

在我們清洗了測試資料之後,將引入一個新的節點:Regression predictor。

這裡寫圖片描述

通過將learner的輸出與預測器的輸入連線起來,將你的模型載入到預測器中。

在預測器的第二個輸入中,載入你的測試資料。預測器會根據你的learner自動調整預測欄,但也可以手動改變它。

KNIME有能力在分析標籤下訓練一些非常專業的模型。這裡是一個列表:

Clustering
Neural networks
Ensemble learners
Naïve Bayes

提交你的解決方案

在執行預測器之後,輸出幾乎已經準備好提交了。

在節點儲存庫中找到節點列過濾器Column filter,並將其拖到工作流中。將預測器的輸出連線到列篩選器,並配置它篩選所需的列。在這種情況下,你需要Item_Identifier、Outlet_Identifier和Outlet_Sales的預測。

這裡寫圖片描述

執行列過濾器Column filter,最後,搜尋節點CSV writer並將你的預測記錄在硬碟上。

這裡寫圖片描述

調整路徑,將其設定為需要儲存的CSV檔案,並執行該節點。最後,開啟CSV檔案以按照我們的解決方案來糾正列名。將CSV檔案壓縮成ZIP檔案並提交你的解決方案!

這裡寫圖片描述

這是最終的工作流圖。

在可移植性方面,KNIME工作流非常方便。它們可以傳送給你的朋友或同事一起構建,增加你產品的功能!

為了匯出一個KNIME工作流,可以簡單地單擊File > Export KNIME Workflow。

這裡寫圖片描述

在此之後,選擇您需要匯出的合適的工作流,然後單擊Finish。

這裡寫圖片描述

這會建立一個.knwf檔案,你可以傳送給任何人,他們將能夠使用一鍵訪問它!

限制

KNIME是一個非常強大的開源工具,但是它也有自己的侷限性。主要是:

視覺化並不像其他一些開源軟體(比如RStudio)那樣簡潔優雅。
版本更新不受支援;你將不得不重新安裝軟體(也就是說,從版本2更新到版本3,你將需要重新安裝)。
貢獻社群不像Python或CRAN社群那麼大,因此新的功能需要很長時間才能新增到KNIME中。

原文來源:AI科技大本營
掃碼關注:
這裡寫圖片描述

想轉型AI的小夥伴,你是不是面臨著這樣的問題:
想學機器學習,卻困在無從下手?
自學大半年機器學習,卻苦於無人答疑?
學了模型和演算法,卻不知如何應用?

AI100特邀中科院教授卿來雲老師,從零開始講解機器學習知識,45天系統實訓!12個真實應用案例!直播+案例+實訓,層層遞進,直通機器學習的本質及其應用!

該系列課程包括機器學習所需的數學基礎、演算法應用、模型及實際案例。資深大咖,乾貨十足,課程群實時答疑,機器學習相關資料不定期分享。手把手領你走進機器學習的大門!

從原理到實戰應用,擺脫枯燥的公式,由淺入深,為快速進入人工智慧行業,進軍金融、醫療、教育等領域,成為一名機器學習工程師,奠定堅實的基礎!

【福利】購買課程即可贈送Python基礎資料!加小助手“superaihelper”,回覆“大咖”加入課程討論群!

更多細節,您可以點選下方課程入口進入瞭解:

<<<<<<<<<<<<<<<<<<<<<線上系列課>>>>>>>>>>>>>>>>>>>>

[

《機器學習(大咖版)》

]
講師介紹:

冒教授,研究院,技術專家,教授。計算機博士,現在中科院從事科研教學工作,十餘年機器學習教學經驗,主持國家級科研專案3項,研究方向為機器學習、計算機視覺及多媒體處理。

課程介紹:

12個機器學習入門經典案例!從案例中學習,事半功倍!實戰案例+原始碼共享+實時答疑,從零開始系統學習機器學習!

課程特色:專屬答疑+課件資料提供+視訊無限時回放+VIP交流群

開課時間:隨到隨學,自由支配

點我試看

相關文章