用 WEKA 進(jìn)行數(shù)據(jù)挖掘 (1)簡(jiǎn)介和回歸

簡(jiǎn)介

什么是 數(shù)據(jù)挖掘潘靖?您會(huì)不時(shí)地問(wèn)自己這個(gè)問(wèn)題,因?yàn)檫@個(gè)主題越來(lái)越得到技術(shù)界的關(guān)注阶淘。您可能聽(tīng)說(shuō)過(guò)像 Google 和 Yahoo! 這樣的公司都在生成有關(guān)其所有用戶的數(shù)十億的數(shù)據(jù)點(diǎn)愈涩,您不禁疑惑,“它們要所有這些信息干什么算途?”您可能還會(huì)驚奇地發(fā)現(xiàn) Walmart 是最為先進(jìn)的進(jìn)行數(shù)據(jù)挖掘并將結(jié)果應(yīng)用于業(yè)務(wù)的公司之一。現(xiàn)在世界上幾乎所有的公司都在使用數(shù)據(jù)挖掘蚀腿,并且目前尚未使用數(shù)據(jù)挖掘的公司在不久的將來(lái)就會(huì)發(fā)現(xiàn)自己處于極大的劣勢(shì)嘴瓤。

那么,您如何能讓您和您的公司跟上數(shù)據(jù)挖掘的大潮呢?

我們希望能夠回答您所有關(guān)于數(shù)據(jù)挖掘的初級(jí)問(wèn)題廓脆。我們也希望將一種免費(fèi)的開(kāi)源軟件 Waikato Environment for Knowledge Analysis (WEKA) 介紹給您筛谚,您可以使用該軟件來(lái)挖掘數(shù)據(jù)并將您對(duì)您用戶、客戶和業(yè)務(wù)的認(rèn)知轉(zhuǎn)變?yōu)橛杏玫男畔⒁蕴岣呤杖胪7蕖D鷷?huì)發(fā)現(xiàn)要想出色地完成挖掘數(shù)據(jù)的任務(wù)并不像您想象地那么困難驾讲。

此外,本文還會(huì)介紹數(shù)據(jù)挖掘的第一種技術(shù):回歸瞎嬉,意思是根據(jù)現(xiàn)有的數(shù)據(jù)預(yù)測(cè)未來(lái)數(shù)據(jù)的值蝎毡。 它可能是挖掘數(shù)據(jù)最為簡(jiǎn)單的一種方式厚柳,您甚至以前曾經(jīng)用您喜愛(ài)的某個(gè)流行的電子數(shù)據(jù)表軟件進(jìn)行過(guò)這種初級(jí)的數(shù)據(jù)挖掘(雖然 WEKA 可以做更為復(fù)雜的計(jì)算)氧枣。本系列后續(xù)的文章將會(huì)涉及挖掘數(shù)據(jù)的其他方法,包括群集别垮、最近的鄰居以及分類(lèi)樹(shù)便监。(如果您還不太知道這些術(shù)語(yǔ)是何意思,沒(méi)關(guān)系碳想。我們將在這個(gè)系列一一介紹烧董。)

什么是數(shù)據(jù)挖掘?

數(shù)據(jù)挖掘胧奔,就其核心而言逊移,是指將大量數(shù)據(jù)轉(zhuǎn)變?yōu)橛袑?shí)際意義的模式和規(guī)則。并且龙填,它還可以分為兩種類(lèi)型:直接的和間接的胳泉。在 直接的 數(shù)據(jù)挖掘中,您會(huì)嘗試預(yù)測(cè)一個(gè)特定的數(shù)據(jù)點(diǎn) — 比如岩遗,以給定的一個(gè)房子的售價(jià)來(lái)預(yù)測(cè)鄰近地區(qū)內(nèi)的其他房子的售價(jià)扇商。

間接的 數(shù)據(jù)挖掘中,您會(huì)嘗試創(chuàng)建數(shù)據(jù)組或找到現(xiàn)有數(shù)據(jù)內(nèi)的模式 — 比如宿礁,創(chuàng)建 “中產(chǎn)階級(jí)婦女”的人群案铺。實(shí)際上,每次的美國(guó)人口統(tǒng)計(jì)都是在進(jìn)行數(shù)據(jù)挖掘梆靖,政府想要收集每個(gè)國(guó)民的數(shù)據(jù)并將它轉(zhuǎn)變?yōu)橛杏眯畔ⅰ?/p>

現(xiàn)代的數(shù)據(jù)挖掘開(kāi)始于 20 世紀(jì) 90 年代控汉,那時(shí)候計(jì)算的強(qiáng)大以及計(jì)算和存儲(chǔ)的成本均到達(dá)了一種很高的程度,各公司開(kāi)始可以自己進(jìn)行計(jì)算和存儲(chǔ)返吻,而無(wú)需再借助外界的計(jì)算幫助姑子。

此外,術(shù)語(yǔ)數(shù)據(jù)挖掘是全方位的,可指代諸多查看和轉(zhuǎn)換數(shù)據(jù)的技術(shù)和過(guò)程呀酸。因?yàn)楸鞠盗兄挥|及能用數(shù)據(jù)挖掘?qū)崿F(xiàn)的功能的一些皮毛。數(shù)據(jù)挖掘的專(zhuān)家往往是數(shù)據(jù)統(tǒng)計(jì)方面的博士惰说,并在此領(lǐng)域有 10-30 年的研究經(jīng)驗(yàn)舆乔。這會(huì)為您留下一種印象岳服,即只有大公司才能負(fù)擔(dān)得起數(shù)據(jù)挖掘。

我們希望能夠清除有關(guān)數(shù)據(jù)挖掘的這些誤解并希望弄清楚一點(diǎn):數(shù)據(jù)挖掘既不像對(duì)一系列數(shù)據(jù)運(yùn)行一個(gè)電子數(shù)據(jù)表函數(shù)那么簡(jiǎn)單希俩,也不像有人想的那樣難到靠自己根本無(wú)法實(shí)現(xiàn)吊宋。這是 80/20 范型的一個(gè)很好的例子 — 甚至更進(jìn)一步可以是 90/10 范型。您用所謂的數(shù)據(jù)挖掘?qū)<业?10% 的專(zhuān)業(yè)知識(shí)就能創(chuàng)建具有 90% 效力的數(shù)據(jù)挖掘模型颜武。而為了補(bǔ)上模型剩下的 10% 的效力并創(chuàng)建一個(gè)完美的模型將需要 90% 額外的時(shí)間璃搜,甚至長(zhǎng)達(dá) 20 年。所以除非您立志以數(shù)據(jù)挖掘?yàn)槁殬I(yè)方向鳞上,否則“足夠好”就可以了这吻。從另一個(gè)方面看,利用數(shù)據(jù)挖掘所達(dá)到的“足夠好”總要比您現(xiàn)在所采用的其他技術(shù)要好篙议。

數(shù)據(jù)挖掘的最終目標(biāo)就是要?jiǎng)?chuàng)建一個(gè)模型唾糯,這個(gè)模型可改進(jìn)您解讀現(xiàn)有數(shù)據(jù)和將來(lái)數(shù)據(jù)的方式。由于現(xiàn)在已經(jīng)有很多數(shù)據(jù)挖掘技術(shù)鬼贱,因此創(chuàng)建一個(gè)好的模型的最主要的步驟是決定要使用哪種技術(shù)移怯。而這則極大地依賴于實(shí)踐和經(jīng)驗(yàn)以及有效的指導(dǎo)。這之后这难,需要對(duì)模型進(jìn)行優(yōu)化以讓它更令人滿意舟误。在閱讀了本系列的文章后 ,您應(yīng)該能夠自己根據(jù)自己的數(shù)據(jù)集正確決定要使用的技術(shù)姻乓,然后采取必要的步驟對(duì)它進(jìn)行優(yōu)化嵌溢。您將能夠?yàn)槟约旱臄?shù)據(jù)創(chuàng)建一個(gè)足夠好的模型 。

WEKA

數(shù)據(jù)挖掘絕非大公司的專(zhuān)有糖权,也不是多昂貴的軟件堵腹。實(shí)際上,有一種軟件可以實(shí)現(xiàn)那些價(jià)格不菲的軟件所能實(shí)現(xiàn)的全部功能 — 這個(gè)軟件就是 WEKA 星澳。WEKA 誕生于 University of Waikato(新西蘭)并在 1997 年首次以其現(xiàn)代的格式實(shí)現(xiàn)疚顷。它使用了 GNU General Public License (GPL)。該軟件以 Java? 語(yǔ)言編寫(xiě)并包含了一個(gè) GUI 來(lái)與數(shù)據(jù)文件交互并生成可視結(jié)果(比如表和曲線)禁偎。它還有一個(gè)通用 API腿堤,所以您可以像嵌入其他的庫(kù)一樣將 WEKA 嵌入到您自己的應(yīng)用程序以完成諸如服務(wù)器端自動(dòng)數(shù)據(jù)挖掘這樣的任務(wù)。

我們繼續(xù)并安裝 WEKA如暖。因?yàn)樗?Java笆檀,所以如果您在計(jì)算機(jī)上沒(méi)有安裝 JRE,那么請(qǐng)下載一個(gè)包含 JRE 的 WEKA 版本盒至。

圖 1. WEKA 的開(kāi)始屏
image.png

在啟動(dòng) WEKA 時(shí)酗洒,會(huì)彈出 GUI 選擇器士修,讓您選擇使用 WEKA 和數(shù)據(jù)的四種方式。對(duì)于本文章系列中的例子樱衷,我們只選擇了 Explorer 選項(xiàng)棋嘲。對(duì)于我們要在這些系列文章中所需實(shí)現(xiàn)的功能,這已經(jīng)足夠矩桂。

圖 2. WEKA Explorer
image.png

在熟悉了如何安裝和啟動(dòng) WEKA 后沸移,讓我們來(lái)看看我們的第一個(gè)數(shù)據(jù)挖掘技術(shù):回歸。

回歸

回歸是最為簡(jiǎn)單易用的一種技術(shù)侄榴,但可能也是最不強(qiáng)大(這二者總是相伴而來(lái)雹锣,很有趣吧)。此模型可以簡(jiǎn)單到只有一個(gè)輸入變量和一個(gè)輸出變量(在 Excel 中稱為 Scatter 圖形癞蚕,或 OpenOffice.org 內(nèi)的 XYDiagram)蕊爵。當(dāng)然,也可以遠(yuǎn)比此復(fù)雜涣达,可以包括很多輸入變量在辆。實(shí)際上,所有回歸模型均符合同一個(gè)通用模式度苔。多個(gè)自變量綜合在一起可以生成一個(gè)結(jié)果 — 一個(gè)因變量。然后用回歸模型根據(jù)給定的這些自變量的值預(yù)測(cè)一個(gè)未知的因變量的結(jié)果浑度。

每個(gè)人都可能使用過(guò)或看到過(guò)回歸模型寇窑,甚至曾在頭腦里創(chuàng)建過(guò)一個(gè)回歸模型。人們能立即想到的一個(gè)例子就是給房子定價(jià)箩张。房子的價(jià)格(因變量)是很多自變量 — 房子的面積甩骏、占地的大小、廚房是否有花崗石以及衛(wèi)生間是否剛重裝過(guò)等的結(jié)果先慷。所以饮笛,不管是購(gòu)買(mǎi)過(guò)一個(gè)房子還是銷(xiāo)售過(guò)一個(gè)房子,您都可能會(huì)創(chuàng)建一個(gè)回歸模型來(lái)為房子定價(jià)论熙。這個(gè)模型建立在鄰近地區(qū)內(nèi)的其他有可比性的房子的售價(jià)的基礎(chǔ)上(模型)福青,然后再把您自己房子的值放入此模型來(lái)產(chǎn)生一個(gè)預(yù)期價(jià)格。

讓我們繼續(xù)以這個(gè)房屋定價(jià)的回歸模型為例脓诡,創(chuàng)建一些真實(shí)的數(shù)據(jù)无午。在我的鄰近地區(qū)有一些房子出售,我試圖找到我自己房子的合理價(jià)格祝谚。我還需要拿此模型的輸出申報(bào)財(cái)產(chǎn)稅宪迟。

表 1. 回歸模型的房屋值
房子面積(平方英尺) 占地的大小 臥室 花崗巖 衛(wèi)生間有無(wú)重裝? 銷(xiāo)售價(jià)格
3529 9191 6 0 0 $205,000
3247 10061 5 1 1 $224,900
4032 10150 5 0 1 $197,900
2397 14156 4 1 0 $189,900
2200 9600 4 0 1` $195,000
3536 19994 6 1 1 $325,000
2983 9365 5 0 1 $230,000
3198 9669 5 1 1 ????

好的消息是(也可能是壞消息交惯,取決于您自己的看法)上述對(duì)回歸模型的簡(jiǎn)單介紹只觸及了一些皮毛次泽,這種觸及甚至都不會(huì)被真正地注意到穿仪。關(guān)于回歸模型有大學(xué)的課程可以選擇,那會(huì)教授給您有關(guān)回歸模型的更多信息意荤,甚至多過(guò)您想要知道的牡借。但我們的簡(jiǎn)介讓您充分熟悉了這個(gè)概念,已足夠應(yīng)付本文中 WEKA 試用袭异。如果對(duì)回歸模型以及其中的數(shù)據(jù)統(tǒng)計(jì)的細(xì)節(jié)有更深的興趣钠龙,您可以用自己喜愛(ài)的搜索引擎搜索如下的術(shù)語(yǔ):least squares、homoscedasticity御铃、normal distribution碴里、White tests、Lilliefors tests上真、R-squared 和 p-values咬腋。

為 WEKA 構(gòu)建數(shù)據(jù)集

為了將數(shù)據(jù)加載到 WEKA,我們必須將數(shù)據(jù)放入一個(gè)我們能夠理解的格式睡互。WEKA 建議的加載數(shù)據(jù)的格式是 Attribute-Relation File Format (ARFF)根竿,您可以在其中定義所加載數(shù)據(jù)的類(lèi)型,然后再提供數(shù)據(jù)本身就珠。在這個(gè)文件內(nèi)寇壳,我們定義了每列以及每列所含內(nèi)容。對(duì)于回歸模型妻怎,只能有 NUMERICDATE 列壳炎。最后,以逗號(hào)分割的格式提供每行數(shù)據(jù)逼侦。我們?yōu)?WEKA 使用的 ARFF 文件如下所示匿辩。請(qǐng)注意在數(shù)據(jù)行內(nèi),并未包含我的房子榛丢。因?yàn)槲覀冊(cè)趧?chuàng)建模型铲球,我房子的價(jià)格還不知道,所以我們還不能輸入我的房子晰赞。

清單 1. WEKA 文件格式
@RELATION house

@ATTRIBUTE houseSize NUMERIC
@ATTRIBUTE lotSize NUMERIC
@ATTRIBUTE bedrooms NUMERIC
@ATTRIBUTE granite NUMERIC
@ATTRIBUTE bathroom NUMERIC
@ATTRIBUTE sellingPrice NUMERIC

@DATA
3529,9191,6,0,0,205000 
3247,10061,5,1,1,224900 
4032,10150,5,0,1,197900 
2397,14156,4,1,0,189900 
2200,9600,4,0,1,195000 
3536,19994,6,1,1,325000 
2983,9365,5,0,1,230000

將數(shù)據(jù)載入 WEKA

數(shù)據(jù)創(chuàng)建完成后稼病,就可以開(kāi)始創(chuàng)建我們的回歸模型了。啟動(dòng) WEKA宾肺,然后選擇 Explorer溯饵。將會(huì)出現(xiàn) Explorer 屏幕,其中 Preprocess 選項(xiàng)卡被選中锨用。選擇 Open File 按鈕并選擇在上一節(jié)中創(chuàng)建的 ARFF 文件丰刊。在選擇了文件后,WEKA Explorer 應(yīng)該類(lèi)似于圖 3 中所示的這個(gè)屏幕快照增拥。

圖 3. 房屋數(shù)據(jù)加載后的 WEKA
image.png

在這個(gè)視圖中啄巧,WEKA 允許您查閱正在處理的數(shù)據(jù)寻歧。在 Explorer 窗口的左邊,給出了您數(shù)據(jù)的所有列(Attributes)以及所提供的數(shù)據(jù)行的數(shù)量(Instances)秩仆。若選擇一列码泛,Explorer 窗口的右側(cè)就會(huì)顯示數(shù)據(jù)集內(nèi)該列數(shù)據(jù)的信息。比如澄耍,通過(guò)選擇左側(cè)的 houseSize 列(它應(yīng)該默認(rèn)選中)噪珊,屏幕右側(cè)就會(huì)變成顯示有關(guān)該列的統(tǒng)計(jì)信息。它顯示了數(shù)據(jù)集內(nèi)此列的最大值為 4,032 平方英尺齐莲,最小值為 2,200 平方英尺痢站。平均大小為 3,131 平方英尺,標(biāo)準(zhǔn)偏差為 655 平方英尺(標(biāo)準(zhǔn)偏差是一個(gè)描述差異的統(tǒng)計(jì)量度)选酗。此外阵难,還有一種可視的手段來(lái)查看數(shù)據(jù),單擊 Visualize All 按鈕即可芒填。由于在這個(gè)數(shù)據(jù)集內(nèi)的行數(shù)有限呜叫,因此可視化的功能顯得沒(méi)有有更多數(shù)據(jù)點(diǎn)(比如,有數(shù)百個(gè))時(shí)那么功能強(qiáng)大殿衰。

好了朱庆,對(duì)數(shù)據(jù)的介紹已經(jīng)夠多了。讓我們立即創(chuàng)建一個(gè)模型來(lái)獲得我房子的價(jià)格播玖。

用 WEKA 創(chuàng)建一個(gè)回歸模型

為了創(chuàng)建這個(gè)模型椎工,單擊 Classify 選項(xiàng)卡。第一個(gè)步驟是選擇我們想要?jiǎng)?chuàng)建的這個(gè)模型蜀踏,以便 WEKA 知道該如何處理數(shù)據(jù)以及如何創(chuàng)建一個(gè)適當(dāng)?shù)哪P停?/p>

  1. 單擊 Choose 按鈕,然后擴(kuò)展 functions 分支掰吕。
  2. 選擇 LinearRegression 葉果覆。

這會(huì)告訴 WEKA 我們想要構(gòu)建一個(gè)回歸模型。除此之外殖熟,還有很多其他的選擇局待,這說(shuō)明可以創(chuàng)建的的模型有很多。非常多菱属!這也從另一個(gè)方面說(shuō)明本文只介紹了這個(gè)主題的皮毛钳榨。有一點(diǎn)值得注意。在同一個(gè)分支還有另外一個(gè)選項(xiàng)纽门,稱為 SimpleLinearRegression 薛耻。請(qǐng)不要選擇該選項(xiàng),因?yàn)楹?jiǎn)單回歸只能有一個(gè)變量赏陵,而我們有六個(gè)變量饼齿。選擇了正確的模型后饲漾,WEKA Explorer 應(yīng)該類(lèi)似于圖 4。

圖 4. WEKA 內(nèi)的線性回歸模型
image.png

我能用電子數(shù)據(jù)表達(dá)到同樣的目的么缕溉?

簡(jiǎn)單而言:不可以考传。深思熟慮后的答案是:可以。大多數(shù)流行的電子數(shù)據(jù)表程序都不能輕松完成我們用 WEKA 實(shí)現(xiàn)的功能证鸥,即定義一個(gè)具有多個(gè)自變量的線性模型僚楞。不過(guò),您可以 十分容易地實(shí)現(xiàn)一個(gè) Simple Linear Regression 模型(具有一個(gè)自變量)枉层。如果您有足夠的勇氣泉褐,甚至可以進(jìn)行一個(gè)多變量的回歸,但是這將非常困難返干,絕對(duì)不如用 WEKA 來(lái)得簡(jiǎn)單兴枯。 本文的 [參考資料] 部分有一個(gè) Microsoft? Excel? 的示例視頻。

現(xiàn)在矩欠,選擇了想要的模型后财剖,我們必須告訴 WEKA 它創(chuàng)建這個(gè)模型應(yīng)該使用的數(shù)據(jù)在哪里。雖然很顯然我們想要使用在 ARFF 文件內(nèi)提供的那些數(shù)據(jù)癌淮,但實(shí)際上有不同的選項(xiàng)可供選擇躺坟,有些甚至遠(yuǎn)比我們將要使用的選項(xiàng)高級(jí)。其他的三個(gè)選擇是:Supplied test set 允許提供一個(gè)不同的數(shù)據(jù)集來(lái)構(gòu)建模型乳蓄; Cross-validation 讓 WEKA 基于所提供的數(shù)據(jù)的子集構(gòu)建一個(gè)模型咪橙,然后求出它們的平均值來(lái)創(chuàng)建最終的模型;Percentage split WEKA 取所提供數(shù)據(jù)的百分之一來(lái)構(gòu)建一個(gè)最終的模型虚倒。這些不同的選擇對(duì)于不同的模型非常有用美侦,我們?cè)诒鞠盗泻罄m(xù)文章中會(huì)看到這一點(diǎn)。對(duì)于回歸魂奥,我們可以簡(jiǎn)單地選擇 Use training set菠剩。這會(huì)告訴 WEKA 為了構(gòu)建我們想要的模型,可以使用我們?cè)?ARFF 文件中提供的那些數(shù)據(jù)耻煤。

創(chuàng)建模型的最后一個(gè)步驟是選擇因變量(即我們想要預(yù)測(cè)的列)具壮。在本例中指的就是房屋的銷(xiāo)售價(jià)格,因?yàn)槟钦俏覀兿胍墓T谶@些測(cè)試選項(xiàng)的正下方棺妓,有一個(gè)組合框,可用它來(lái)選擇這個(gè)因變量炮赦。列 sellingPrice 應(yīng)該默認(rèn)選中怜跑。如果沒(méi)有,請(qǐng)選擇它眼五。

我們準(zhǔn)備好創(chuàng)建模型后妆艘,單擊 Start彤灶。圖 5 顯示了輸出結(jié)果。

圖 5. WEKA 內(nèi)的房屋價(jià)格回歸模型
image.png

解析這個(gè)回歸模型

WEKA 可不馬虎批旺。它會(huì)把這個(gè)回歸模型徑直放在輸出幌陕,如清單 2 所示。

清單 2. 回歸輸出
               (7.0551     * lotSize) + 
               (43166.0767 * bedrooms) +
               (42292.0901 * bathroom) 
             - 21661.1208 

清單 3 顯示了結(jié)果汽煮,其中已經(jīng)插入了我房子的價(jià)格搏熄。

清單 3. 使用回歸模型的房屋價(jià)格
sellingPrice = (-26.6882   * 3198) + 
               (7.0551     * 9669) + 
               (43166.0767 * 5) + 
               (42292.0901 * 1) 
             - 21661.1208

sellingPrice = 219,328

不過(guò),回過(guò)頭來(lái)看看本文的開(kāi)頭部分暇赤,我們知道數(shù)據(jù)挖掘絕不是僅僅是為了輸出一個(gè)數(shù)值:它關(guān)乎的是識(shí)別模式和規(guī)則心例。它不是嚴(yán)格用來(lái)生成一個(gè)絕對(duì)的數(shù)值,而是要?jiǎng)?chuàng)建一個(gè)模型來(lái)讓您探測(cè)模式鞋囊、預(yù)測(cè)輸出并根據(jù)這些數(shù)據(jù)得出結(jié)論止后。讓我們更進(jìn)一步來(lái)解讀一下我們的模型除了房屋價(jià)格之外告訴我們的模式和結(jié)論:

  • 花崗石無(wú)關(guān)緊要— WEKA 將只使用在統(tǒng)計(jì)上對(duì)模型的正確性有貢獻(xiàn)的那些列(以 R-squared 量度,但這超出了本文的范圍)溜腐。它將會(huì)拋棄并忽視對(duì)創(chuàng)建好的模型沒(méi)有任何幫助的那些列译株。所以這個(gè)回歸模型

  • 告訴我們廚房里的花崗石并不會(huì)影響房子的價(jià)值。

  • 衛(wèi)生間是有關(guān)系的— 因我們?yōu)樾l(wèi)生間使用了簡(jiǎn)單的 0 或 1 值挺益,所以我們可以使用來(lái)自回歸模型的這個(gè)系數(shù)來(lái)決定衛(wèi)生間的這個(gè)值對(duì)房屋價(jià)值的影響歉糜。這個(gè)模型告訴我們它使房子的價(jià)值增加了 $42,292。

  • 較大的房子價(jià)格反而低— WEKA 告訴我們房子越大望众,銷(xiāo)售價(jià)格越低匪补?這可以從 houseSize 變量前面負(fù)的系數(shù)看出來(lái)。此模型告訴我們房子每多出一平方英尺都會(huì)使房?jī)r(jià)減少 $26烂翰?這根本沒(méi)有意義夯缺。這是在美國(guó)!當(dāng)然是房子越大越好甘耿,特別是在我所在的得克薩斯州喳逛。那么我們?cè)趺床拍芙忉屵@一點(diǎn)呢?這是無(wú)用數(shù)據(jù)入棵里、無(wú)用數(shù)據(jù)出的一個(gè)很好的例子。房子的大小并不是一個(gè)自變量姐呐,它還與臥室變量相關(guān)殿怜,因?yàn)榉孔哟笸ǔEP室也多。所以我們的模型并不完美曙砂。但是我們可以修復(fù)這個(gè)問(wèn)題头谜。還記得么:在 Preprocess 選項(xiàng)卡,可以從數(shù)據(jù)集中刪除列鸠澈。對(duì)于本例柱告,我們刪除 houseSize 列并創(chuàng)建另一個(gè)模型截驮。

  • 那么它會(huì)如何影響房子的價(jià)格呢?這個(gè)新模型又如何更有實(shí)際意義际度?(修改后的我的房子價(jià)格是: $217,894)葵袭。

對(duì)統(tǒng)計(jì)學(xué)家的一個(gè)提示

這個(gè)模型打破了一個(gè)常規(guī)線性回歸模型的幾個(gè)要求,因?yàn)槊總€(gè)列并不是完全獨(dú)立的乖菱,并且這里也沒(méi)有足夠的數(shù)據(jù)行來(lái)生成一個(gè)有效的模型坡锡。由于本文主要的目的是介紹 WEKA 這個(gè)數(shù)據(jù)挖掘工具,因此我們極大地簡(jiǎn)化了示例數(shù)據(jù)窒所。

要想把這個(gè)簡(jiǎn)單的示例提升到一個(gè)新的級(jí)別鹉勒,讓我們來(lái)看一下 WEKA Web 站點(diǎn)上作為回歸示例提供給我們的一個(gè)數(shù)據(jù)文件。理論上講吵取,這要比我們七個(gè)房子的簡(jiǎn)單示例要復(fù)雜得多禽额。這個(gè)示例數(shù)據(jù)文件的作用是創(chuàng)建一個(gè)能基于汽車(chē)的幾個(gè)特性來(lái)推測(cè)其油耗(每加侖英里數(shù),MPG)的回歸模型(請(qǐng)務(wù)必記住皮官,數(shù)據(jù)取自 1970 至 1982 年)脯倒。這個(gè)模型包括汽車(chē)的如下屬性:汽缸、排量臣疑、馬力盔憨、重量、加速度讯沈、年份郁岩、產(chǎn)地及制造商。此外缺狠,這個(gè)數(shù)據(jù)集有 398 行數(shù)據(jù)问慎,這些數(shù)據(jù)足以滿足我們的多種統(tǒng)計(jì)需求,而這在我們的房?jī)r(jià)模型中是不能實(shí)現(xiàn)的挤茄。理論上講如叼,這是一個(gè)極為復(fù)雜的回歸模型,WEKA 可能需要大量時(shí)間才能創(chuàng)建一個(gè)具有如此多數(shù)據(jù)的模型(但我估計(jì)您已預(yù)見(jiàn)到了 WEKA 能夠很好地處理這些數(shù)據(jù))穷劈。

要用這個(gè)數(shù)據(jù)集生成一個(gè)回歸模型笼恰,我們需要嚴(yán)格地按照處理房子數(shù)據(jù)的步驟來(lái)處理這些數(shù)據(jù),所以這里我不再贅述歇终。繼續(xù)并創(chuàng)建這個(gè)回歸模型社证。它將生成如清單 4 所示的輸出。

清單 4. MPG 數(shù)據(jù)回歸模型
class (aka MPG) =

     -2.2744 * cylinders=6,3,5,4 +
     -4.4421 * cylinders=3,5,4 +
      6.74   * cylinders=5,4 +
      0.012  * displacement +
     -0.0359 * horsepower +
     -0.0056 * weight +
      1.6184 * model=75,71,76,74,77,78,79,81,82,80 +
      1.8307 * model=77,78,79,81,82,80 +
      1.8958 * model=79,81,82,80 +
      1.7754 * model=81,82,80 +
      1.167  * model=82,80 +
      1.2522 * model=80 +
      2.1363 * origin=2,3 +
      37.9165 

在您自已生成這個(gè)模型時(shí)评凝,您會(huì)看到 WEKA 只用了不到一秒的時(shí)間就處理好了這個(gè)模型追葡。所以,即使要處理的是具有大量數(shù)據(jù)的功能強(qiáng)大的回歸模型,就計(jì)算而言宜肉,也不是什么問(wèn)題匀钧。這個(gè)模型看上去應(yīng)該比房子數(shù)據(jù)復(fù)雜得多,但事實(shí)并非如此谬返。例如之斯,這個(gè)回歸模型的首行,-2.2744 * cylinders=6,3,5,4 表示朱浴,如果汽車(chē)有 6 個(gè)缸吊圾,就會(huì)在此列中放上一個(gè) 1,如果汽車(chē)有 8 個(gè)缸翰蠢,就會(huì)放上一個(gè) 0项乒。讓我們從這個(gè)數(shù)據(jù)集中取一個(gè)示例行(第 10 行)并將這些數(shù)值放入回歸模型,看看我們這個(gè)模型的輸出是否與數(shù)據(jù)集中提供給我們的輸出相似梁沧。

清單 5. 示例 MPG 數(shù)據(jù)
data = 8,390,190,3850,8.5,70,1,15

class (aka MPG) =

     -2.2744 * 0 +
     -4.4421 * 0 +
      6.74   * 0 +
      0.012  * 390 +
     -0.0359 * 190 +
     -0.0056 * 3850 +
      1.6184 * 0 +
      1.8307 * 0 +
      1.8958 * 0 +
      1.7754 * 0 +
      1.167  * 0 +
      1.2522 * 0 +
      2.1363 * 0 +
     37.9165

Expected Value = 15 mpg
Regression Model Output = 14.2 mpg 

因此檀何,當(dāng)我們用隨機(jī)選擇的測(cè)試數(shù)據(jù)對(duì)此模型進(jìn)行測(cè)試時(shí),此模型的表現(xiàn)非常出色廷支,對(duì)于一輛實(shí)際值為 15 MPG 的車(chē)频鉴,我們的預(yù)測(cè)值是 14.2 MPG。

結(jié)束語(yǔ)

本文通過(guò)向您介紹數(shù)據(jù)挖掘這個(gè)主題的背景以及這個(gè)領(lǐng)域的目標(biāo)力求回答“什么是數(shù)據(jù)挖掘”這個(gè)問(wèn)題恋拍。數(shù)據(jù)挖掘就是通過(guò)創(chuàng)建模型和規(guī)則來(lái)將大量的不可用信息(通常是分散的數(shù)據(jù)形式)變成有用的信息垛孔。您的目標(biāo)是使用模型和規(guī)則來(lái)預(yù)測(cè)將來(lái)的行為,從而改進(jìn)您的業(yè)務(wù)施敢,或是解釋一些您用其他方法不能解釋的事情周荐。這些模型可以幫助您確認(rèn)您已經(jīng)有了的某些想法,甚至可能會(huì)讓您發(fā)現(xiàn)數(shù)據(jù)中您以前不曾意識(shí)到的新東西僵娃。這里有個(gè)有趣的數(shù)據(jù)挖掘的例子(不知道還存在多少類(lèi)似的事例)概作,在美國(guó),Walmart 會(huì)在周末時(shí)把啤酒移到尿布貨架的未端默怨,這是因?yàn)?Walmart 的數(shù)據(jù)挖掘結(jié)果顯示男士通常會(huì)在周末購(gòu)買(mǎi)尿布讯榕,而他們同時(shí)也喜歡在周末喝啤酒。

本文還向您介紹了一種免費(fèi)的開(kāi)源軟件程序 WEKA匙睹。當(dāng)然愚屁,市場(chǎng)上還有很多更為復(fù)雜的數(shù)據(jù)挖掘商業(yè)軟件產(chǎn)品,但對(duì)于剛開(kāi)始進(jìn)行數(shù)據(jù)挖掘的人來(lái)說(shuō)痕檬,這種開(kāi)源的解決方案非常有益集绰。請(qǐng)記住,您永遠(yuǎn)不可能成為數(shù)據(jù)挖掘方面的專(zhuān)家谆棺,除非您打算用 20 年的時(shí)間來(lái)研究它。WEKA 可以讓您步入數(shù)據(jù)挖掘的大門(mén),同時(shí)也能為您遇到的初級(jí)問(wèn)題提供完美的解決方案改淑。如果您以前對(duì)數(shù)據(jù)挖掘接觸不多碍岔,那么這個(gè)非常好的解決方案將能滿足您的全部所需。

最后朵夏,本文探討了第一個(gè)數(shù)據(jù)挖掘模型:回歸模型(特別是線性回歸多變量模型)蔼啦,另外還展示了如何在 WEKA 中使用它。這個(gè)回歸模型很容易使用仰猖,并且可以用于很多數(shù)據(jù)集捏肢。您會(huì)發(fā)現(xiàn)這個(gè)模型是我在本系列文章中所討論的所有模型中最有用的一個(gè)。然而饥侵,數(shù)據(jù)挖掘不僅局限于簡(jiǎn)單的回歸鸵赫,在不同的數(shù)據(jù)集及不同的輸出要求的情況下,您會(huì)發(fā)現(xiàn)其他的模型也許是更好的解決方案躏升。

最后辩棒,我再重申一下,本文及本系列的后續(xù)文章只是對(duì)數(shù)據(jù)統(tǒng)計(jì)和數(shù)據(jù)挖掘領(lǐng)域做了最簡(jiǎn)單的介紹膨疏∫徽觯花上整整一學(xué)期的時(shí)間去學(xué)習(xí)數(shù)據(jù)統(tǒng)計(jì)和數(shù)據(jù)挖掘的人也只能被稱為“初學(xué)者”。 我們的目的就是讓初學(xué)者充分領(lǐng)略這個(gè)可用的開(kāi)源工具的妙處并提高對(duì)數(shù)據(jù)挖掘所能提供的價(jià)值的了解和重視佃却。

下載資源

相關(guān)主題

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市扛拨,隨后出現(xiàn)的幾起案子耘分,更是在濱河造成了極大的恐慌,老刑警劉巖绑警,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件求泰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡计盒,警方通過(guò)查閱死者的電腦和手機(jī)渴频,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)章郁,“玉大人枉氮,你說(shuō)我怎么就攤上這事∨” “怎么了聊替?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)培廓。 經(jīng)常有香客問(wèn)我惹悄,道長(zhǎng),這世上最難降的妖魔是什么肩钠? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任泣港,我火速辦了婚禮,結(jié)果婚禮上价匠,老公的妹妹穿的比我還像新娘当纱。我一直安慰自己,他們只是感情好踩窖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布坡氯。 她就那樣靜靜地躺著,像睡著了一般洋腮。 火紅的嫁衣襯著肌膚如雪箫柳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,488評(píng)論 1 302
  • 那天啥供,我揣著相機(jī)與錄音悯恍,去河邊找鬼。 笑死伙狐,一個(gè)胖子當(dāng)著我的面吹牛涮毫,可吹牛的內(nèi)容都是我干的瞬欧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼窒百,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼黍判!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起篙梢,我...
    開(kāi)封第一講書(shū)人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎美旧,沒(méi)想到半個(gè)月后渤滞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡榴嗅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年妄呕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗽测。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绪励,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唠粥,到底是詐尸還是另有隱情疏魏,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布晤愧,位于F島的核電站大莫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏官份。R本人自食惡果不足惜只厘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舅巷。 院中可真熱鬧羔味,春花似錦、人聲如沸钠右。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)爬舰。三九已至们陆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間情屹,已是汗流浹背坪仇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留垃你,地道東北人椅文。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓喂很,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親皆刺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子少辣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容