數據挖掘優秀工具對比

一、數據挖掘工具對比

數據來源:Top 15 Best Free Data Mining Tools: The Most Comprehensive List — Software Testing Helphtml

二、Rapid Miner  

三、Orange

四、Weka

4.1 介紹

Weka的全名是懷卡託智能分析環境(Waikato Environment for Knowledge Analysis),同時weka也是新西蘭的一種鳥名,而Weka的主要開發者來自新西蘭。Weka做爲一個公開的數據挖掘工做平臺,集合了大量能承擔數據挖掘任務的機器學習算法,包括對數據進行預處理,分類,迴歸、聚類、關聯規則以及在新的交互式界面上的可視化。若是想本身實現數據挖掘算法的話,能夠參考Weka的接口文檔。在Weka中能夠方便地集成本身的算法或者借鑑它的方法本身實現可視化工具。node

4.2 使用準備

  • Weka安裝後有GUI和命令行兩種打開方式。
  • Weka支持的數據集有arff、csv、xrff格式,能夠在安裝目錄的 data 文件夾下找到示例。
  • Weka安裝目錄下有使用文檔和類說明文檔以及源碼,若要調用Weka算法只須要在程序中引入Weka.jar包就能夠了。
  • Weka安裝後不支持中文數據。

4.3 主要功能與使用

(1)打開GUI,點擊Explorer按鈕,此時會出現Explorer界面:算法

(2)點擊Open,選擇data文件下的任意一個數據集,例如 weather.nominal.arff 數據集,這裏面記錄的是一些天氣數據:shell

(3)此時能夠在欄目上選擇不一樣的算法(數據集不支持的算法會變暗)。選中可使用的算法,再點擊Start,就能夠在右側的output中看到計算結果:數據庫

(4)固然你也能夠自定義數據集,用Weka進行分析測試,十分方便。apache

(5)這只是Weka的基本功能,要想使用其它功能還須要深刻了解編程

 

4.4 優缺點

優勢api

  • weka是開源軟件,代碼是公開的,Java編寫,能夠尋找合適方案進行二次開發
  • 當維度爲適當維度,如百維及之內,訓練樣本在萬級之內的時候,其挖掘的應用和效果都是可圈可點的。

缺點網絡

  • weka是小而美的數據挖掘工具,當維度特別高時,如達到千維及以上,訓練樣本數達到萬級以上時候,其可用性是極差的。
  • 算法庫有限,僅有完善的聚類,分類和相關性分析,固然了ETL仍是比較完善

 

4.5 開發資源

五、KNIME

5.1 介紹

KNIME (Konstanz Information Miner) 是一個用戶友好,智能的,並有豐演的開源的數據集成,數據處理,數據分析和數據勘探平臺。它給了用戶有能力以可視化的方式建立數據流或數據通道,可選擇性地運行一些或所有的分析步驟,並之後面研究結果,模型 以及 可交互的視圖。 KNIME 由Java寫成,其基於 Eclipse 並經過插件的方式來提供更多的功能。經過以插件的文件,用戶能夠爲文件,圖片,和時間序列加入處理模塊,並能夠集成到其它各類各樣的開源項目中,好比:R 語言,Weka, Chemistry Development Kit, 和 LibSVM。機器學習

  • KNIME發音爲:[naim](就是用「k」,就像「knife」同樣)。
  • 它由康斯坦茨大學的Michael Berthold小組開發。
  • KNIME系統是基於Eclipse開發環境來精心開發的數據挖掘工具。無需安裝,方便使用。KNIME也是用Java開發的,能夠擴展使用Weka中的挖掘算法。
  • KNIME採用的是相似數據流(data flow)的方式來創建分析挖掘流程。挖掘流程由一系列功能節點(node)組成,每一個節點有輸入/輸出端口(port),用於接收數據或模型、導出結果。KNIME中每一個節點都帶有交通訊號燈,用於指示該節點的狀態(未鏈接、未配置、缺少輸入數據時爲紅燈;準備執行爲黃燈;執行完畢後爲綠燈)。
  • 在KNIME中有個特點功能——HiLite,容許用戶在節點結果中標記感興趣的記錄,並進一步展開後續探索。

5.2 主要功能與使用

(1)採用徹底圖型化的操做方式,如下爲KNIME的主要操做界面:

(2)支持各種方式的數據載入,包括文件、數據庫等 

(3)支持各種數據處理方式,包括按列(如分拆、合併等)、按行(過濾、變形)、矩陣(轉置)和PMML(字段投影、一對多、多對1、正態化、反正態化等) 

(4)支持各種數據視圖,如點圖、直方圖、餅圖、分佈圖 

(5)支持假設檢驗和迴歸方法 

(6)支持決策樹、貝葉斯、聚類、規則推導、神經網絡等挖掘方法 

(7)支持流程控制

5.3 優缺點

優勢

  • 提供徹底圖型化的操做方式,操做流程簡便、結果產出直觀; 
  • 提供豐富的數據讀取和加工操做,支持從數據庫中獲取數據; 
  • 提供較爲完備的數據挖掘方法;

缺點

  • 正因爲其主要是基於圖型的操做,故難於與其它系統進行集成; 
  • 對於統計模型的支持略顯不足。

5.4 開發資源

6 Apache Mahout

6.1 簡介

Apache Mahout 是 Apache Software Foundation (ASF) 開發的一個全新的開源項目,其主要目標是建立一些可伸縮的機器學習算法,供開發人員在 Apache 在許可下無償使用。該項目已經發展到了它的最二個年頭,目前只有一個公共發行版。Mahout 包含許多實現,包括集羣、分類、CP 和進化程序。此外,經過使用 Apache Hadoop 庫,Mahout 能夠有效地擴展到雲中。

Mahout 項目是由 Apache Lucene(開源搜索)社區中對機器學習感興趣的一些成員發起的,他們但願創建一個可靠、文檔翔實、可伸縮的項目,在其中實現一些常見的用於集羣和分類的機器學習算法。該社區最初基於 Ng et al. 的文章 「Map-Reduce for Machine Learning on Multicore」,但此後在發展中又併入了更多普遍的機器學習方法。Mahout 的目標還包括:

  • 創建一個用戶和貢獻者社區,使代碼沒必要依賴於特定貢獻者的參與或任何特定公司和大學的資金。
  • 專一於實際用例,這與高新技術研究及未經驗證的技巧相反。
  • 提供高質量文章和示例。

6.2 主要特性

Apache Mahout 運行環境包括

  • 針對分佈式的優化
  • 支持Scala API
  • 支持線性代數操做
  • 支持Scalak擴展
  • 支持IScala REPL的交互式shell
  • 集成MLLib庫
  • 能夠運行在 Spark、H2O和Flink上
  • 支持稀疏矩陣和向量的加速計算
  • 和Apache Zeppelin整合轉換矩陣tsv

Apache Mahout Samsara 算法包括

  • 隨機矩陣的奇異值分解算法ssvd、dssvd
  • 隨機主成分分析算法(spca、dspca)
  • 分佈式Cholesky QR(thinQR)
  • 分佈式正則化交替最小二乘法(dals)
  • 協同過濾算法::Item和Row的類似性
  • 樸素貝葉斯分類算法
  • 核心分佈算法

6.3 Mahout安裝、配置

(1)下載並解壓Mahout

http://archive.apache.org/dist/mahout/
tar -zxvf mahout-distribution-0.9.tar.gz

(2)配置環境變量

# set mahout environment
export MAHOUT_HOME=/mnt/jediael/mahout/mahout-distribution-0.9
export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf
export PATH=$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

(3)安裝mahout

[jediael@master mahout-distribution-0.9]$ pwd
/mnt/jediael/mahout/mahout-distribution-0.9
[jediael@master mahout-distribution-0.9]$ mvn install

(4)驗證Mahout是否安裝成功

    執行命令mahout。若列出一些算法,則成功:

6.4 使用簡單示例驗證mahout

(1)啓動Hadoop
(2)下載測試數據
http://archive.ics.uci.edu/ml/databases/synthetic_control/連接中的synthetic_control.data
或者百度一下也很容易找到這個示例數據。
(3)上傳測試數據
hadoop fs -put synthetic_control.data testdata
(4)使用Mahout中的kmeans聚類算法,執行命令:
mahout -core  org.apache.mahout.clustering.syntheticcontrol.kmeans.Job
花費9分鐘左右完成聚類 。 
(5)查看聚類結果
執行hadoop fs -ls /user/root/output,查看聚類結果。

 

6.5 優缺點

優勢

  • 做爲開源項目,源碼開放,Java編寫,能夠集成到大多數大數據平臺和語言中
  • 最大的優勢就是基於hadoop實現,把不少之前運行於單機上的算法,轉化爲了MapReduce模式,這樣大大提高了算法可處理的數據量和處理性能。

缺點

  • 無圖形化GUI,只是一個算法庫,使用接口開發

 

文獻

Top 15 Best Free Data Mining Tools: The Most Comprehensive List — Software Testing Help

編程零基礎 - BdRace數睿思_數據挖掘競賽平臺

Weka:一個開源的機器學習和數據挖掘軟件 - 資源 - 伯樂在線

數據挖掘RapidMiner工具使用----產品介紹與安裝過程 - CSDN博客

數據挖掘工具R軟件與Weka的比較分析 - CSDN博客

KNIME 數據分析平臺 - CSDN博客

Mahout快速入門教程 - CSDN博客

大數據-機器學習-Apache Mahout-初級 - 簡書

Apache Mahout:經典機器學習算法庫 - 資源 - 伯樂在線

Mahout學習之Mahout簡介、安裝、配置、入門程序測試 | IT癮

Apache Mahout:經典機器學習算法庫 - 資源 - 伯樂在線

Mahout快速入門教程 - CSDN博客

相關文章
相關標籤/搜索