數據挖掘優秀工具對比


1、數據挖掘工具對比

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

2、Rapid Miner  

3、Orange

4、Weka

4.1 介紹

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

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 數據集,這里面記錄的是一些天氣數據:

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

(4)當然你也可以自定義數據集,用Weka進行分析測試,十分方便。

(5)這只是Weka的基本功能,要想使用其它功能還需要深入了解

 

4.4 優缺點

優點

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

缺點

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

 

4.5 開發資源

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(字段投影、一對多、多對一、正態化、反正態化等) 

(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博客

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM