簡(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)始屏
在啟動(dòng) WEKA 時(shí)酗洒,會(huì)彈出 GUI 選擇器士修,讓您選擇使用 WEKA 和數(shù)據(jù)的四種方式。對(duì)于本文章系列中的例子樱衷,我們只選擇了 Explorer 選項(xiàng)棋嘲。對(duì)于我們要在這些系列文章中所需實(shí)現(xiàn)的功能,這已經(jīng)足夠矩桂。
圖 2. WEKA Explorer
在熟悉了如何安裝和啟動(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ì)于回歸模型妻怎,只能有 NUMERIC
或 DATE
列壳炎。最后,以逗號(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
在這個(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>
- 單擊 Choose 按鈕,然后擴(kuò)展 functions 分支掰吕。
- 選擇 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)的線性回歸模型
我能用電子數(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à)格回歸模型
解析這個(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à)值的了解和重視佃却。
下載資源
- 示例代碼 (weka回歸測(cè)試資源| 6KB)
相關(guān)主題
- WEKA 要求所有關(guān)于它的出版物都必須提及這篇題為 “The WEKA Data Mining Software: An Update” (作者 Mark Hall者吁、Eibe Frank、Geoffrey Holmes饲帅、Bernhard Pfahringer Peter Reutemann 和 Ian H. Witten)的論文复凳。
- 利用 YouTube 上的這個(gè)視頻 了解如何將一個(gè)電子數(shù)據(jù)表用于一個(gè)簡(jiǎn)單的回歸模型。
- 查閱 WEKA Web 站點(diǎn) 獲得此軟件的所有文檔和一個(gè) FAQ洒闸。
- 下載 WEKA 并在您的系統(tǒng)上運(yùn)行它染坯。
- 在 Wikipedia 上查閱回歸模型,這里可能有比您想象中還要多的技術(shù)細(xì)節(jié)丘逸。
- 閱讀有關(guān) ARFF 的詳細(xì)信息单鹿,以便您可以將數(shù)據(jù)加載入 WEKA。
- IBM 也有自己的數(shù)據(jù)挖掘軟件深纲, “ Integrate InfoSphere Warehouse data mining with IBM Cognos reporting, Part 1” 提供了一個(gè)很好的起點(diǎn)仲锄。
- 您可以查看有關(guān) IBM DB2 Intelligent Miner 軟件的詳細(xì)信息以便與 WEKA 進(jìn)行對(duì)比。
- 隨時(shí)關(guān)注 developerWorks 技術(shù)活動(dòng)和網(wǎng)絡(luò)廣播湃鹊。
- 訪問(wèn) developerWorks Open source 專(zhuān)區(qū)獲得豐富的 how-to 信息儒喊、工具和項(xiàng)目更新以及最受歡迎的文章和教程,幫助您用開(kāi)放源碼技術(shù)進(jìn)行開(kāi)發(fā)币呵,并將它們與 IBM 產(chǎn)品結(jié)合使用怀愧。
- 下載 IBM 產(chǎn)品評(píng)估試用版軟件 或 IBM SOA Sandbox for People 并使用來(lái)自 DB2?侨颈、Lotus?、Rational?芯义、Tivoli? 和 WebSphere? 的應(yīng)用程序開(kāi)發(fā)工具和中間件產(chǎn)品哈垢。