最近探索數(shù)據(jù)挖掘工具在業(yè)務場景下的應用,針對KNIME這一數(shù)據(jù)挖掘工具進行了試用。如圖所示為KNIME工具的幾大主要模塊,每個模塊下根據(jù)不同的功能設有數(shù)量巨大的節(jié)點(Node),可以通過拖動每個Node到Workflow中實現(xiàn)搭建自己的數(shù)據(jù)分析流程。圖中標紅的部分為業(yè)務分析中可能會主要用到的功能,下面會順著數(shù)據(jù)分析的整體流程淺談KNIME作為數(shù)據(jù)分析工具的使用感受,以及對比其他常用工具的優(yōu)缺點,以供參考。
1.數(shù)據(jù)導入(IO/DB模塊)
常用節(jié)點
Excel reader,CSV reader,MySQL conneter,DB table collecter,DB Reader
數(shù)據(jù)處理方法
* 支持多種數(shù)據(jù)源,在IO模塊可以將excel/csv格式直接讀入,在DB模塊中提供多種與數(shù)據(jù)庫連接的方式。
* 對于主要來源為數(shù)據(jù)庫的業(yè)務數(shù)據(jù),可以選擇直接連接數(shù)據(jù)庫后,進行數(shù)據(jù)處理,也可以先對表進行處理后再讀入KNIME(把計算過程放在數(shù)據(jù)庫中,不影響速度)。前者適合數(shù)據(jù)條數(shù)較少的表,后者適合數(shù)據(jù)量大,劃分維度多的表。
* DB模塊中還專門安排了Operation的功能節(jié)點,對于數(shù)據(jù)庫操作水平有限的情況下是很好的選擇。
可替換的工具/方法
MySQL中利用SQL語句進行操作后導出excel表格再導入其他分析工具進行分析。
優(yōu)點
連接數(shù)據(jù)庫后的處理方式依然豐富,可以滿足多種情況需要。比如當涉及到的表格較多,SQL語句較復雜時,KNIME可以將表分別讀入,分別執(zhí)行SQL在進行組合。數(shù)據(jù)讀入后可以無縫進入下一步數(shù)據(jù)處理,無需切換工具。
缺點
無明顯缺點,相比其他工具KNIME的數(shù)據(jù)接入功能十分完善,也能夠完成多種不同類型的數(shù)據(jù)導入,共同分析。
2.數(shù)據(jù)操作(Manipulation模塊)
常用節(jié)點
* Column-分數(shù)據(jù)桶、數(shù)據(jù)類型的轉(zhuǎn)換、命名、函數(shù)、字符串操作、計算、篩選、Groupby、join、merge等
* Row-數(shù)據(jù)篩選、插入行、數(shù)據(jù)轉(zhuǎn)換等
* Table-矩陣轉(zhuǎn)置之類
* PMML(預測建模標記語言)用于表示預測模型。PMML是一種XML格式,其中可以在平臺之間存儲和交換模型。暫未使用。
數(shù)據(jù)處理方法
數(shù)據(jù)操作部分的節(jié)點種類繁多且操作簡便,根據(jù)實際業(yè)務需求對表格進行各種變換、篩選、分組處理。
可替換的工具/方法
* 在SQL中完成部分數(shù)據(jù)處理工作
* 已經(jīng)導出數(shù)據(jù)庫的excel數(shù)據(jù)(或其他)在excel環(huán)境內(nèi)處理
* 將數(shù)據(jù)放在python或R中利用數(shù)據(jù)分析包進行數(shù)據(jù)清洗和處理
優(yōu)點
* 圖形化操作方式,數(shù)據(jù)操作思路清晰
* 數(shù)據(jù)操作節(jié)點較為豐富
* 每個數(shù)據(jù)操作后的數(shù)據(jù)情況可以瀏覽,并可在表格中觀察到數(shù)據(jù)的基本情況
* 節(jié)點內(nèi)數(shù)據(jù)操作的設置簡便,基本都是按鈕操作,不需要寫代碼
* 數(shù)據(jù)操作結(jié)束后可以根據(jù)分析的內(nèi)容選擇繼續(xù)在KNIME內(nèi)分析,也可以將數(shù)據(jù)導出到其他數(shù)據(jù)分析工具
缺點
正是由于按鈕操作,也對數(shù)據(jù)操作中的字段選擇、數(shù)據(jù)處理方式等存在限制。
3.可視化(View模塊)
常用節(jié)點
* Javascript-bar chart、box plot、heatmap、histogram、pie chart、scatter plot、stackt area plot等
* property-color/size/shape manager等圖形設置節(jié)點
* Local-bar chart、box plot、heatmap、histogram、pie chart、scatter plot、stackt area plot等,部分圖形有可交互選項,即生成圖形后可以替換屬性。方便觀察數(shù)據(jù)情況
數(shù)據(jù)處理方法
根據(jù)數(shù)據(jù)特點選擇合適的圖形,進入節(jié)點設置,選擇需要可視化的屬性。如果是有交互選項的圖形,可以在生成的圖形預覽中對字段進行修改。
可替換的工具/方法
數(shù)據(jù)的可視化可以在多種工具中完成,比如在tableau中可以進行數(shù)據(jù)交互操作,定義新的計算字段,并通過拖拽等方式快速生成美觀的圖形;python中的matplotlib及plotly等模塊以及R中的ggplot也可以進行可視化,但是設置過程較麻煩。對于邏輯比較簡單的圖形也可以直接用excel生成。
優(yōu)點
* KNIME最方便的一點就是可以在前序流程下直接進入數(shù)據(jù)可視化的步驟,不需要進行數(shù)據(jù)遷移
* 一些帶有交互選項的圖形可完成探索性分析的前序工作
* 可以與python等其他數(shù)據(jù)分析工具集成,只需安裝Extension的模塊就可以調(diào)用python中的各種包完成數(shù)據(jù)可視化(目前用的不是很順利)
缺點
* 圖形不美觀,對于圖例、顏色、坐標軸的設置都比較麻煩
* 對于雙軸等較為復雜的圖形僅依靠KNIME本身(非拓展功能)基本無法實現(xiàn)
* 雖然部分圖形有交互選項,但相比tableau對于探索性數(shù)據(jù)分析的強大功能,KNIME在出圖時的實用性比較差(但是如果確定了指標計算方法,設置好流程之后可能效果就大不一樣)
4.數(shù)據(jù)挖掘(Analysis模塊)
主要節(jié)點
主要用于統(tǒng)計和預測,目前僅使用過Kmeans和decision tree這兩個節(jié)點。
數(shù)據(jù)操作方法
確定分析思路后根據(jù)整理好的數(shù)據(jù)格式直接在節(jié)點中進行設置,完成模型的運行。
可替換的工具/方法
KNIME這部分的功能基本上只能用python和R的相關(guān)package進行替換。
優(yōu)點
操作簡便,從分析,使用模型,到最后結(jié)果的可視化展示可以無縫完成,也可以與manipulation和View模塊反復疊加使用。
缺點
暫未有結(jié)論。
總結(jié):
在一個星期的試用過程中發(fā)現(xiàn),KNIME可以幫助數(shù)據(jù)分析思路規(guī)劃,在思考分析維度的過程中搭建出的workflow可以多次應用,只需要對指標進行設置。此外在數(shù)據(jù)庫連接和數(shù)據(jù)篩選階段,可以很好的替代直接在數(shù)據(jù)庫中進行數(shù)據(jù)操作,多種接入數(shù)據(jù)的方法也更加靈活。數(shù)據(jù)處理后可以直接在KNIME中進行可視化,也*可以將數(shù)據(jù)導出*后在其他工具進行處理。但是數(shù)據(jù)可視化方面感受不是很方便,有待繼續(xù)探索更多功能。