Rattle:數據挖掘的界面化操做

R語言是一個自由、免費、源代碼開放的軟件,它是一個用於統計計算和統計製圖的優秀工具。這裏的統計計算能夠是數據分析、建模或是數據挖掘等,經過無數大牛提供的軟件包,能夠幫咱們輕鬆實現算法的實施。算法

一些讀者以爲R語言零碎的東西太多了,沒法記住那麼多函數和功能,因而就問R語言有沒有一種相似於SAS之EM或SPSS之Modeler的界面化操做。很幸運,Graham等人特意爲「偷懶」的分析師寫了rattle包,經過該包就能夠實現界面化操做的數據分析、數據挖掘流程。下面就跟你們詳細介紹一些這款免費的工具:數據庫

上圖紅色區域就是數據分析與挖掘的流程,包括:數據源(Data)-->數據探索與檢驗(Explore、Test)-->數據變換(Transform)-->數據挖掘(Cluster、Associate、Model)-->模型評估(Evaluate)。網絡

首先,你會經歷「一勞永逸」的過程:安裝rattle包函數

不瞞您說,我首次在本身的64位Win7系統中安裝rattle包時花費了很多功夫。當你install.packages('rattle')時,以爲很是輕鬆就下載好了,可是進入library(rattle)並輸入rattle()時它會報告各類.dll文件不存在。若是您決定要試試,就下載缺失的dll文件到您的電腦裏。工具

其次,咱們來介紹一下rattle數據挖掘操做界面都有哪些東西編碼

1)數據源(Data)

一切數據分析與挖掘都起源於數據,故第一步就是往rattle中導入數據源,數據源能夠是外部數據源,如txt文件、csv文件、Excel文件等;也能夠是數據庫數據,經過ODBC鏈接諸如SQL Server、MySQL等數據庫;也能夠是當前R空間下的數據集;也能夠是外部R數據集文件、還能夠是R包自帶的數據集。lua

2)數據探索與檢驗(Explore、Test)

有了數據後,須要進行數據探索,如彙總(Summary)、分佈(Distributions)、相關性分析(Correlation)、主成分分析(Principal Components)、t檢驗、F檢驗、K-S正態性檢驗、Wilcoxon檢驗等3d

3)數據變換(Transform)

當數據存在缺失或須要重新編碼、標準化時,就須要這裏的數據變換了orm

4)數據挖掘(Cluster、Associate、Model)

當數據清洗乾淨或對數據有了基本瞭解後,就要進入數據挖掘過程,rattle工具提供了經常使用的數據挖掘算法,如:K-means聚類、層次聚類、關聯規則、決策樹、隨機森林、支持向量機、線性迴歸、Logistic迴歸、神經網絡等blog

5)模型評估(Evaluate)

當模型選定,並進入模型運算後,須要對模型進行評估,選擇比較理想的模型用着後期數據的部署。有關模型評估,rattle提供了混淆矩陣、風險矩陣、成本曲線、Lift曲線、ROC曲線等方法。

最後,咱們就用這個rattle作一個實戰,數據集就使用C50包中的churnTrain,該數據集是德國某電信公司客戶是否流失的數據集。

1)讀取數據集

選擇好數據集後,點擊「執行」,默認數據集將分爲三個子集,即訓練集佔70%、訓練集和檢驗集各佔15%,最後將指定哪些變量爲解釋變量和被解釋變量,若有不須要的變量,則選爲「Ignore」

2)數據探索

選擇Summary單選、並選擇Summary、Describe、Basic、Kurtosis等複選框後,看看都有哪些返回結果:

Summary結果

Discribe結果

Basic基本統計量結果

還有不少數據探索的內容,這裏就不一一說明了,但願讀者能自行執行,並瞭解數據的大體狀況。

3)數據挖掘

判斷客戶是否流失,是一種分類問題,下面綜合考慮使用Logistic迴歸、決策樹、隨機森林三種分類算法

簡單看一下這三種算法的結果

Logistic迴歸的結果:

決策樹的結果:

隨機森林的結果:

4)模型評估

這裏咱們使用混淆矩陣和ROC曲線兩種評估模型的方法,具體結果見下圖的展現:


結果顯示,三個模型的優劣順序爲:隨機森林、決策樹和Logistic迴歸

本文只是帶你們進入rattle這個界面化操做的數據分析和挖掘工具,更多探索和玩法還須要你們進一步研究。歡迎各位交流與探討有關數據分析的問題。

相關文章
相關標籤/搜索