91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用WEKA進行數據挖掘

發布時間:2021-11-22 18:17:50 來源:億速云 閱讀:165 作者:柒染 欄目:云計算

本篇文章給大家分享的是有關如何用WEKA進行數據挖掘,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

數據挖掘是技術界的談論話題,因為各公司都在生成有關其用戶的數百萬的數據點并在想方設法將該信息轉變為收入的增加。數據挖掘是很多技術的共同術語,用以表達從數據中一點點地收集信息并將其轉變成有實際意義的東西。本文將向您介紹開源的數據挖掘軟件以及用來解析數據的最為常見的一些技術。

簡介

什么是 數據挖掘?您會不時地問自己這個問題,因為這個主題越來越得到技術界的關注。您可能聽說過像 Google 和 Yahoo! 這樣的公司都在生成有關其所有用戶的數十億的數據點,您不禁疑惑,“它們要所有這些信息干什么?”您可能還會驚奇地發現 Walmart 是最為先進的進行數據挖掘并將結果應用于業務的公司之一。現在世界上幾乎所有的公司都在使用數據挖掘,并且目前尚未使用數據挖掘的公司在不久的將來就會發現自己處于極大的劣勢。

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

我們希望能夠回答您所有關于數據挖掘的初級問題。我們也希望將一種免費的開源軟件 Waikato Environment for Knowledge Analysis (WEKA) 介紹給您,您可以使用該軟件來挖掘數據并將您對您用戶、客戶和業務的認知轉變為有用的信息以提高收入。您會發現要想出色地完成挖掘數據的任務并不像您想象地那么困難。

此外,還會介紹數據挖掘的第一種技術:回歸,意思是根據現有的數據預測未來數據的值。 它可能是挖掘數據最為簡單的一種方式,您甚至以前曾經用您喜愛的某個流行的電子數據表軟件進行過這種初級的數據挖掘(雖然 WEKA 可以做更為復雜的計算)。)

什么是數據挖掘?

數據挖掘,就其核心而言,是指將大量數據轉變為有實際意義的模式和規則。并且,它還可以分為兩種類型:直接的和間接的。在 直接的 數據挖掘中,您會嘗試預測一個特定的數據點 — 比如,以給定的一個房子的售價來預測鄰近地區內的其他房子的售價。

在 間接的 數據挖掘中,您會嘗試創建數據組或找到現有數據內的模式 — 比如,創建 “中產階級婦女”的人群。實際上,每次的美國人口統計都是在進行數據挖掘,政府想要收集每個國民的數據并將它轉變為有用信息。

現代的數據挖掘開始于 20 世紀 90 年代,那時候計算的強大以及計算和存儲的成本均到達了一種很高的程度,各公司開始可以自己進行計算和存儲,而無需再借助外界的計算幫助。

此外,術語數據挖掘是全方位的,可指代諸多查看和轉換數據的技術和過程。因為本系列只觸及能用數據挖掘實現的功能的一些皮毛。數據挖掘的專家往往是數據統計方面的博士,并在此領域有 10-30 年的研究經驗。這會為您留下一種印象,即只有大公司才能負擔得起數據挖掘。

我們希望能夠清除有關數據挖掘的這些誤解并希望弄清楚一點:數據挖掘既不像對一系列數據運行一個電子數據表函數那么簡單,也不像有人想的那樣難到靠自己根本無法實現。這是 80/20 范型的一個很好的例子 — 甚至更進一步可以是 90/10 范型。您用所謂的數據挖掘專家的 10% 的專業知識就能創建具有 90% 效力的數據挖掘模型。而為了補上模型剩下的 10% 的效力并創建一個完美的模型將需要 90% 額外的時間,甚至長達 20 年。所以除非您立志以數據挖掘為職業方向,否則“足夠好”就可以了。從另一個方面看,利用數據挖掘所達到的“足夠好”總要比您現在所采用的其他技術要好。

數據挖掘的最終目標就是要創建一個模型,這個模型可改進您解讀現有數據和將來數據的方式。由于現在已經有很多數據挖掘技術,因此創建一個好的模型的最主要的步驟是決定要使用哪種技術。而這則極大地依賴于實踐和經驗以及有效的指導。這之后,需要對模型進行優化以讓它更令人滿意。在閱讀了本系列的文章后 ,您應該能夠自己根據自己的數據集正確決定要使用的技術,然后采取必要的步驟對它進行優化。您將能夠為您自己的數據創建一個足夠好的模型 。

WEKA

數據挖掘絕非大公司的專有,也不是多昂貴的軟件。實際上,有一種軟件可以實現那些價格不菲的軟件所能實現的全部功能 — 這個軟件就是 WEKA(參見 參考資料)。WEKA 誕生于 University of Waikato(新西蘭)并在 1997 年首次以其現代的格式實現。它使用了 GNU General Public License (GPL)。該軟件以 Java? 語言編寫并包含了一個 GUI 來與數據文件交互并生成可視結果(比如表和曲線)。它還有一個通用 API,所以您可以像嵌入其他的庫一樣將 WEKA 嵌入到您自己的應用程序以完成諸如服務器端自動數據挖掘這樣的任務。

我們繼續并安裝 WEKA。因為它基于 Java,所以如果您在計算機上沒有安裝 JRE,那么請下載一個包含 JRE 的 WEKA 版本。

圖 1. WEKA 的開始屏

如何用WEKA進行數據挖掘

在啟動 WEKA 時,會彈出 GUI 選擇器,讓您選擇使用 WEKA 和數據的四種方式。對于本文章系列中的例子,我們只選擇了 Explorer 選項。對于我們要在這些系列文章中所需實現的功能,這已經足夠。

圖 2. WEKA Explorer

如何用WEKA進行數據挖掘

在熟悉了如何安裝和啟動 WEKA 后,讓我們來看看我們的第一個數據挖掘技術:回歸。

回歸

回歸是最為簡單易用的一種技術,但可能也是最不強大(這二者總是相伴而來,很有趣吧)。此模型可以簡單到只有一個輸入變量和一個輸出變量(在 Excel 中稱為 Scatter 圖形,或 OpenOffice.org 內的 XYDiagram)。當然,也可以遠比此復雜,可以包括很多輸入變量。實際上,所有回歸模型均符合同一個通用模式。多個自變量綜合在一起可以生成一個結果 — 一個因變量。然后用回歸模型根據給定的這些自變量的值預測一個未知的因變量的結果。

每個人都可能使用過或看到過回歸模型,甚至曾在頭腦里創建過一個回歸模型。人們能立即想到的一個例子就是給房子定價。房子的價格(因變量)是很多自變量 — 房子的面積、占地的大小、廚房是否有花崗石以及衛生間是否剛重裝過等的結果。所以,不管是購買過一個房子還是銷售過一個房子,您都可能會創建一個回歸模型來為房子定價。這個模型建立在鄰近地區內的其他有可比性的房子的售價的基礎上(模型),然后再把您自己房子的值放入此模型來產生一個預期價格。

讓我們繼續以這個房屋定價的回歸模型為例,創建一些真實的數據。在我的鄰近地區有一些房子出售,我試圖找到我自己房子的合理價格。我還需要拿此模型的輸出申報財產稅。

表 1. 回歸模型的房屋值
房子面積(平方英尺)占地的大小臥室花崗巖衛生間有無重裝?銷售價格
35299191600$205,000
324710061511$224,900
403210150501$197,900
239714156410$189,900
22009600401`$195,000
353619994611$325,000
29839365501$230,000






31989669511????

好的消息是(也可能是壞消息,取決于您自己的看法)上述對回歸模型的簡單介紹只觸及了一些皮毛,這種觸及甚至都不會被真正地注意到。關于回歸模型有大學的課程可以選擇,那會教授給您有關回歸模型的更多信息,甚至多過您想要知道的。但我們的簡介讓您充分熟悉了這個概念,已足夠應付本文中 WEKA 試用。如果對回歸模型以及其中的數據統計的細節有更深的興趣,您可以用自己喜愛的搜索引擎搜索如下的術語:least squares、homoscedasticity、normal distribution、White tests、Lilliefors tests、R-squared 和 p-values。

為 WEKA 構建數據集

為了將數據加載到 WEKA,我們必須將數據放入一個我們能夠理解的格式。WEKA 建議的加載數據的格式是 Attribute-Relation File Format (ARFF),您可以在其中定義所加載數據的類型,然后再提供數據本身。在這個文件內,我們定義了每列以及每列所含內容。對于回歸模型,只能有 NUMERIC 或 DATE 列。最后,以逗號分割的格式提供每行數據。我們為 WEKA 使用的 ARFF 文件如下所示。請注意在數據行內,并未包含我的房子。因為我們在創建模型,我房子的價格還不知道,所以我們還不能輸入我的房子。

清單 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

將數據載入 WEKA

數據創建完成后,就可以開始創建我們的回歸模型了。啟動 WEKA,然后選擇 Explorer。將會出現 Explorer 屏幕,其中 Preprocess 選項卡被選中。選擇 Open File 按鈕并選擇在上一節中創建的 ARFF 文件。在選擇了文件后,WEKA Explorer 應該類似于圖 3 中所示的這個屏幕快照。

圖 3. 房屋數據加載后的 WEKA

如何用WEKA進行數據挖掘

在這個視圖中,WEKA 允許您查閱正在處理的數據。在 Explorer 窗口的左邊,給出了您數據的所有列(Attributes)以及所提供的數據行的數量(Instances)。若選擇一列,Explorer 窗口的右側就會顯示數據集內該列數據的信息。比如,通過選擇左側的 houseSize 列(它應該默認選中),屏幕右側就會變成顯示有關該列的統計信息。它顯示了數據集內此列的最大值為 4,032 平方英尺,最小值為 2,200 平方英尺。平均大小為 3,131 平方英尺,標準偏差為 655 平方英尺(標準偏差是一個描述差異的統計量度)。此外,還有一種可視的手段來查看數據,單擊Visualize All 按鈕即可。由于在這個數據集內的行數有限,因此可視化的功能顯得沒有有更多數據點(比如,有數百個)時那么功能強大。

好了,對數據的介紹已經夠多了。讓我們立即創建一個模型來獲得我房子的價格。

用 WEKA 創建一個回歸模型

為了創建這個模型,單擊 Classify 選項卡。第一個步驟是選擇我們想要創建的這個模型,以便 WEKA 知道該如何處理數據以及如何創建一個適當的模型:

  1. 單擊 Choose 按鈕,然后擴展 functions 分支。

  2. 選擇 LinearRegression 葉。

這會告訴 WEKA 我們想要構建一個回歸模型。除此之外,還有很多其他的選擇,這說明可以創建的的模型有很多。非常多!這也從另一個方面說明本文只介紹了這個主題的皮毛。有一點值得注意。在同一個分支還有另外一個選項,稱為 SimpleLinearRegression 。請不要選擇該選項,因為簡單回歸只能有一個變量,而我們有六個變量。選擇了正確的模型后,WEKA Explorer 應該類似于圖 4。

圖 4. WEKA 內的線性回歸模型

如何用WEKA進行數據挖掘

我能用電子數據表達到同樣的目的么?

簡單而言:不可以。深思熟慮后的答案是:可以。大多數流行的電子數據表程序都不能輕松完成我們用 WEKA 實現的功能,即定義一個具有多個自變量的線性模型。不過,您可以 十分容易地實現一個 Simple Linear Regression 模型(具有一個自變量)。如果您有足夠的勇氣,甚至可以進行一個多變量的回歸,但是這將非常困難,絕對不如用 WEKA 來得簡單。 本文的 參考資料 部分有一個 Microsoft? Excel? 的示例視頻。

現在,選擇了想要的模型后,我們必須告訴 WEKA 它創建這個模型應該使用的數據在哪里。雖然很顯然我們想要使用在 ARFF 文件內提供的那些數據,但實際上有不同的選項可供選擇,有些甚至遠比我們將要使用的選項高級。其他的三個選擇是:Supplied test set 允許提供一個不同的數據集來構建模型; Cross-validation 讓 WEKA 基于所提供的數據的子集構建一個模型,然后求出它們的平均值來創建最終的模型;Percentage split WEKA 取所提供數據的百分之一來構建一個最終的模型。這些不同的選擇對于不同的模型非常有用,我們在本系列后續文章中會看到這一點。對于回歸,我們可以簡單地選擇 Use training set。這會告訴 WEKA 為了構建我們想要的模型,可以使用我們在 ARFF 文件中提供的那些數據。

創建模型的最后一個步驟是選擇因變量(即我們想要預測的列)。在本例中指的就是房屋的銷售價格,因為那正是我們想要的。在這些測試選項的正下方,有一個組合框,可用它來選擇這個因變量。列 sellingPrice 應該默認選中。如果沒有,請選擇它。

我們準備好創建模型后,單擊 Start。圖 5 顯示了輸出結果。

圖 5. WEKA 內的房屋價格回歸模型

如何用WEKA進行數據挖掘


解析這個回歸模型

WEKA 可不馬虎。它會把這個回歸模型徑直放在輸出,如清單 2 所示。

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

清單 3 顯示了結果,其中已經插入了我房子的價格。

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

sellingPrice = 219,328

不過,回過頭來看看本文的開頭部分,我們知道數據挖掘絕不是僅僅是為了輸出一個數值:它關乎的是識別模式和規則。它不是嚴格用來生成一個絕對的數值,而是要創建一個模型來讓您探測模式、預測輸出并根據這些數據得出結論。讓我們更進一步來解讀一下我們的模型除了房屋價格之外告訴我們的模式和結論:

  • 花崗石無關緊要— WEKA 將只使用在統計上對模型的正確性有貢獻的那些列(以 R-squared 量度,但這超出了本文的范圍)。它將會拋棄并忽視對創建好的模型沒有任何幫助的那些列。所以這個回歸模型告訴我們廚房里的花崗石并不會影響房子的價值。

  • 衛生間是有關系的— 因我們為衛生間使用了簡單的 0 或 1 值,所以我們可以使用來自回歸模型的這個系數來決定衛生間的這個值對房屋價值的影響。這個模型告訴我們它使房子的價值增加了 $42,292。

  • 較大的房子價格反而低— WEKA 告訴我們房子越大,銷售價格越低?這可以從 houseSize 變量前面負的系數看出來。此模型告訴我們房子每多出一平方英尺都會使房價減少 $26?這根本沒有意義。這是在美國!當然是房子越大越好,特別是在我所在的得克薩斯州。那么我們怎么才能解釋這一點呢?這是無用數據入、無用數據出的一個很好的例子。房子的大小并不是一個自變量,它還與臥室變量相關,因為房子大通常臥室也多。所以我們的模型并不完美。但是我們可以修復這個問題。還記得么:在 Preprocess 選項卡,可以從數據集中刪除列。對于本例,我們刪除 houseSize 列并創建另一個模型。那么它會如何影響房子的價格呢?這個新模型又如何更有實際意義?(修改后的我的房子價格是: $217,894)。

對統計學家的一個提示

這個模型打破了一個常規線性回歸模型的幾個要求,因為每個列并不是完全獨立的,并且這里也沒有足夠的數據行來生成一個有效的模型。由于本文主要的目的是介紹 WEKA 這個數據挖掘工具,因此我們極大地簡化了示例數據。

要想把這個簡單的示例提升到一個新的級別,讓我們來看一下 WEKA Web 站點上作為回歸示例提供給我們的一個數據文件。理論上講,這要比我們七個房子的簡單示例要復雜得多。這個示例數據文件的作用是創建一個能基于汽車的幾個特性來推測其油耗(每加侖英里數,MPG)的回歸模型(請務必記住,數據取自 1970 至 1982 年)。這個模型包括汽車的如下屬性:汽缸、排量、馬力、重量、加速度、年份、產地及制造商。此外,這個數據集有 398 行數據,這些數據足以滿足我們的多種統計需求,而這在我們的房價模型中是不能實現的。理論上講,這是一個極為復雜的回歸模型,WEKA 可能需要大量時間才能創建一個具有如此多數據的模型(但我估計您已預見到了 WEKA 能夠很好地處理這些數據)。

要用這個數據集生成一個回歸模型,我們需要嚴格地按照處理房子數據的步驟來處理這些數據,所以這里我不再贅述。繼續并創建這個回歸模型。它將生成如清單 4 所示的輸出。

清單 4. MPG 數據回歸模型
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

在您自已生成這個模型時,您會看到 WEKA 只用了不到一秒的時間就處理好了這個模型。所以,即使要處理的是具有大量數據的功能強大的回歸模型,就計算而言,也不是什么問題。這個模型看上去應該比房子數據復雜得多,但事實并非如此。例如,這個回歸模型的首行,-2.2744 * cylinders=6,3,5,4 表示,如果汽車有 6 個缸,就會在此列中放上一個 1,如果汽車有 8 個缸,就會放上一個 0。讓我們從這個數據集中取一個示例行(第 10 行)并將這些數值放入回歸模型,看看我們這個模型的輸出是否與數據集中提供給我們的輸出相似。

清單 5. 示例 MPG 數據
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

因此,當我們用隨機選擇的測試數據對此模型進行測試時,此模型的表現非常出色,對于一輛實際值為 15 MPG 的車,我們的預測值是 14.2 MPG。

通過向您介紹數據挖掘這個主題的背景以及這個領域的目標力求回答“什么是數據挖掘”這個問題。數據挖掘就是通過創建模型和規則來將大量的不可用信息(通常是分散的數據形式)變成有用的信息。您的目標是使用模型和規則來預測將來的行為,從而改進您的業務,或是解釋一些您用其他方法不能解釋的事情。這些模型可以幫助您確認您已經有了的某些想法,甚至可能會讓您發現數據中您以前不曾意識到的新東西。這里有個有趣的數據挖掘的例子(不知道還存在多少類似的事例),在美國,Walmart 會在周末時把啤酒移到尿布貨架的未端,這是因為 Walmart 的數據挖掘結果顯示男士通常會在周末購買尿布,而他們同時也喜歡在周末喝啤酒。

向您介紹了一種免費的開源軟件程序 WEKA。當然,市場上還有很多更為復雜的數據挖掘商業軟件產品,但對于剛開始進行數據挖掘的人來說,這種開源的解決方案非常有益。請記住,您永遠不可能成為數據挖掘方面的專家,除非您打算用 20 年的時間來研究它。WEKA 可以讓您步入數據挖掘的大門,同時也能為您遇到的初級問題提供完美的解決方案。如果您以前對數據挖掘接觸不多,那么這個非常好的解決方案將能滿足您的全部所需。

最后,本文探討了第一個數據挖掘模型:回歸模型(特別是線性回歸多變量模型),另外還展示了如何在 WEKA 中使用它。這個回歸模型很容易使用,并且可以用于很多數據集。您會發現這個模型是我在本系列文章中所討論的所有模型中最有用的一個。然而,數據挖掘不僅局限于簡單的回歸,在不同的數據集及不同的輸出要求的情況下,您會發現其他的模型也許是更好的解決方案。

以上就是如何用WEKA進行數據挖掘,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

衢州市| 澄城县| 安仁县| 观塘区| 和田市| 永丰县| 凤翔县| 板桥市| 元谋县| 措勤县| 武冈市| 肃宁县| 昭通市| 磐石市| 安阳县| 工布江达县| 湄潭县| 孟津县| 崇信县| 呼和浩特市| 南木林县| 安国市| 仙居县| 阳信县| 大田县| 新巴尔虎左旗| 南丰县| 阜康市| 瑞安市| 江川县| 高雄市| 秦安县| 施秉县| 贡觉县| 天镇县| 新闻| 华宁县| 攀枝花市| 全南县| 禹城市| 扶绥县|