數(shù)據(jù)挖掘WEKA實(shí)驗(yàn)報(bào)告_第1頁(yè)
數(shù)據(jù)挖掘WEKA實(shí)驗(yàn)報(bào)告_第2頁(yè)
數(shù)據(jù)挖掘WEKA實(shí)驗(yàn)報(bào)告_第3頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)挖掘 -WAKA實(shí)驗(yàn)報(bào)告一、WEKA軟件簡(jiǎn)介在我所從事的證券行業(yè)中,存在著海量的信息和數(shù)據(jù),但是這些數(shù)據(jù) 日常知識(shí)發(fā)揮了一小部分的作用,其包含了大量的隱性的信息并不為所用, 但是卻可以為一些公司的決策和對(duì)客戶的服務(wù)提供不小的價(jià)值。因此 , 我們 可以通過一些數(shù)據(jù)采集、數(shù)據(jù)挖掘來獲得潛在的有價(jià)值的信息。數(shù)據(jù)挖掘就是通過分析存在于數(shù)據(jù)庫(kù)里的數(shù)據(jù)來解決問題。 在數(shù)據(jù)挖掘中計(jì) 算機(jī)以電子化的形式存儲(chǔ)數(shù)據(jù), 并且能自動(dòng)的查詢數(shù)據(jù), 通過關(guān)聯(lián)規(guī)則、 分類于 回歸、聚類分析等算法對(duì)數(shù)據(jù)進(jìn)行一系列的處理, 尋找和描述數(shù)據(jù)里的結(jié)構(gòu)模式, 進(jìn)而挖掘出潛在的有用的信息。 數(shù)據(jù)挖掘就是通過分析存在于數(shù)據(jù)庫(kù)里的數(shù)據(jù)

2、來 解決問題。WEK的出現(xiàn)讓我們把數(shù)據(jù)挖掘無需編程即可輕松搞定。WEKA是由新西蘭懷卡托大學(xué)開發(fā)的開源項(xiàng)目,全名是懷卡托智能分析環(huán)境(WaikatoEnvironmentforKnowledgeAnalysis)。WEKA是 由 JAVA編寫的,WEK得到,并且限制在GBU!用公眾證書的條件下發(fā)布,可以運(yùn)行在所有的操作系統(tǒng)中。是一款免費(fèi)的,非商業(yè)化的機(jī)器學(xué)習(xí)以及數(shù)據(jù)挖掘軟 件WEKA乍為一個(gè)公開的數(shù)據(jù)挖掘工作平臺(tái),集合了大量能承擔(dān)數(shù)據(jù)挖掘 任務(wù)的機(jī)器學(xué)習(xí)算法,包括對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,分類,回歸、聚類、關(guān)聯(lián) 規(guī)則以及在新的交互式界面上的可視化。如果想自己實(shí)現(xiàn)數(shù)據(jù)挖掘算法的 話,可以看一看 WEKA

3、的接口文檔。在 WEKA中集成自己的算法甚至借鑒它 的方法自己實(shí)現(xiàn)可視化工具并不是件很困難的事情。安裝WEKA也十分簡(jiǎn)單,首相要下載安裝 JDK環(huán)境,JDK在這個(gè)頁(yè)面可以 找到它的下載。點(diǎn)擊 JDK6 之后的 Download 按鈕,轉(zhuǎn)到下載頁(yè)面。選擇 Accepct ,過一會(huì)兒頁(yè)面會(huì)刷新。我們需要的是這個(gè) WindowsOfflineInstallation,Multi-languagejdk-6-windows-i586.exe5 3.16MB ,點(diǎn)擊它下載。也可以右鍵點(diǎn)擊它上面的鏈接,在 Flashget 等工具中 下載。安裝它和一般軟件沒什么區(qū)別。不過中間會(huì)中斷一下提示你安裝 JRE,

4、 并裝上即可。之后就是安裝 WEKA 軟件,這個(gè)在網(wǎng)上很多地方都有。同樣簡(jiǎn)單 地按默認(rèn)方法安裝后即可使用。點(diǎn)擊啟動(dòng)運(yùn)行 WEK軟件后,我門發(fā)現(xiàn) WEKA存儲(chǔ)數(shù)據(jù)的格式是 ARFF( A ttribute-RelationFileFormat )文件,這是一種 ASCII 文本文件。我 們?nèi)鐖D 1 通過軟件的 Tools 菜單進(jìn)入 ArffViewer 可以在安裝目錄下查看軟 件自帶的幾個(gè)ARF F文件。圖1圖2如圖 2,打開文件后選擇 data 自目錄下的任意一張表,我們都可以看到如圖 3 所示的二維表格存儲(chǔ)在如下的ARFF文件中。這也就是 WEKAI帶的“ contact-lenses.ar

5、ff ”文件。這里我們要介紹一下 WEKA 中的術(shù)語(yǔ)。表格 里的一個(gè)橫行稱作一個(gè)實(shí)例( Instance ),相當(dāng)于統(tǒng)計(jì)學(xué)中的一個(gè)樣本,或者 數(shù)據(jù)庫(kù)中的一條記錄。豎行稱作一個(gè)屬性( Attrbute ),相當(dāng)于統(tǒng)計(jì)學(xué)中的一 個(gè)變量,或者數(shù)據(jù)庫(kù)中的一個(gè)字段。這樣一個(gè)表格,或者叫數(shù)據(jù)集,在 WEKA 看來,呈現(xiàn)了屬性之間的一種關(guān)系 (Relation) 。圖 1 中一共有 22 個(gè)實(shí)例, 5 個(gè) 屬性,關(guān)系名稱為“ contact-lenses ”。除了 ARFF格式,WEKA還支持另外一種常見格式,CSV格式。CSV同樣是 一種二進(jìn)制保存的文本格式,我們可以在 WEKA中直接打開CSV格式的文件

6、, 并保存為ARFF格式。這樣就給我提供了把常見的數(shù)據(jù)格式轉(zhuǎn)換為ARFF格式的方法,如對(duì)于Excel文件,我們可以通過把每張表保存為 CSV格式,進(jìn)而保存為 ARFF格式,與此同時(shí),我們可以利用filter對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的預(yù)處理。而對(duì)于 Matlab格式的數(shù)據(jù),我們可以通過命令csvwrite把數(shù)據(jù)轉(zhuǎn)化成CSV格式的文件, 進(jìn)而轉(zhuǎn)化為ARFF格式文件。對(duì)于海量數(shù)據(jù),一般保存在數(shù)據(jù)庫(kù)中,WEKA同時(shí)支持JDBC訪問數(shù)據(jù)庫(kù)。圖3打開WEKA,首先出現(xiàn)一個(gè)命令行窗口。原以為要在這個(gè)命令行下寫java語(yǔ)句呢,不過稍等一秒, WEKAGUIChooser 的出現(xiàn)了。這是一個(gè)很簡(jiǎn)單的窗 體,提供四個(gè)按鈕:

7、 SimpleCLI 、Explorer 、Experimenter 、 Know l edge F low 。 SimpleCLI應(yīng)該是一個(gè)使用命令行的界面,有點(diǎn)像 SAS的編輯器;Explorer是則 是視窗模式下的數(shù)據(jù)挖掘工具;Experimenter和KnowledgeFlow的使用有待進(jìn) 一步摸索 圖4(1) Explorer使用WEKA探索數(shù)據(jù)的環(huán)境。在這個(gè)環(huán)境中,WEKA提供了數(shù)據(jù)的預(yù)處理,數(shù)據(jù)格式的轉(zhuǎn)化(從CSV格式到ARFF格式的轉(zhuǎn)化),各種數(shù)據(jù)挖掘算法(包括分 類與回歸算法,聚類算法,關(guān)聯(lián)規(guī)則等),并提供了結(jié)果的可視化工具。對(duì)于一 個(gè)數(shù)據(jù)集,通過簡(jiǎn)單的數(shù)據(jù)的預(yù)處理,并對(duì)數(shù)據(jù)

8、挖掘算法進(jìn)行選擇(在WEKA3.5 版本之后, 加入了算法的過濾功能, 可以過濾掉那些不適合當(dāng)前數(shù)據(jù)集類型的算 法),接著通過窗口界面對(duì)算法的參數(shù)進(jìn)行配置。 可視化工具分為對(duì)數(shù)據(jù)集的可 視化和對(duì)部分結(jié)果的可視化, 并且我們可以通過屬性選擇工具 (SelectAttribute) , 通過搜索數(shù)據(jù)集中所有屬性的可能組合,找出預(yù)測(cè)效果最好的那一組屬性。Explorer是普通用戶最常用的一個(gè)界面。用戶可以從 ARFF文件(Weka使用 的一種文本文件格式 )、網(wǎng)頁(yè)或數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)集。打開數(shù)據(jù)文件后,可以選 擇算法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。這時(shí)窗體上給出了這個(gè)數(shù)據(jù)集的一些基本特征,如 含有多少屬性,各屬性的

9、一些簡(jiǎn)單統(tǒng)計(jì)量,右下方還給出一些可視化效果圖。 這些都是比較直觀的分析,如果想發(fā)現(xiàn)隱藏在數(shù)據(jù)集背后的關(guān)系,還需要選擇 Weka提供的各種分類、聚類或關(guān)聯(lián)規(guī)則的算法。所有設(shè)置完成后,點(diǎn)擊Start按鈕,就可以安心地等待weka帶來最終的結(jié)果。哪些結(jié)果是真正有用的還要靠 經(jīng)驗(yàn)來判斷。( 2)Experimenter運(yùn)行算法試驗(yàn)、管理算法方案之間的統(tǒng)計(jì)檢驗(yàn)的環(huán)境。Experiment環(huán)境可以 讓用戶創(chuàng)建, 運(yùn)行, 修改和分析算法試驗(yàn), 這也許比單獨(dú)的分析各個(gè)算法更加方 便。例如,用戶可創(chuàng)建一次試驗(yàn), 在一系列數(shù)據(jù)集上運(yùn)行多個(gè)算法 ( schemes), 然后分析結(jié)果以判斷是否某個(gè)算法比其他算法(在統(tǒng)

10、計(jì)意義下)更好。Explorermenter 主要包括簡(jiǎn)單模式,復(fù)雜模式和遠(yuǎn)程模式。復(fù)雜模式是對(duì)簡(jiǎn) 單模式的基本功能的擴(kuò)充,而遠(yuǎn)程模式允許我們通過分布式的方法進(jìn)行實(shí)驗(yàn)。 就功能模塊而言, 分為設(shè)置模塊, 運(yùn)行模塊和分析模塊。 在設(shè)置模塊中我們可以 自定義實(shí)驗(yàn),加入多個(gè)算法和多方的源數(shù)據(jù)(支持ARFF文件,CSV文件和數(shù)據(jù)庫(kù)), 在運(yùn)行模塊中我們可以運(yùn)行我們的實(shí)驗(yàn), 而在分析模塊中, 我們可以分析各種算 法的的準(zhǔn)確性,并提供了各種統(tǒng)計(jì)方法對(duì)結(jié)果進(jìn)行檢驗(yàn)比較。值得一提的是,我們可以把實(shí)驗(yàn)的各種參數(shù),包括算法,數(shù)據(jù)集等,保存以 方便下一次相同實(shí)驗(yàn)的進(jìn)行; 也可以把各種算法保存, 方便應(yīng)用在不同的數(shù)據(jù)

11、集 上;如果數(shù)據(jù)集來源于數(shù)據(jù)庫(kù)的話, 實(shí)驗(yàn)在過程中可以中止并繼續(xù) (原因可以是被中止或者是擴(kuò)展了實(shí)驗(yàn)),這樣就不用重新運(yùn)行那些已實(shí)驗(yàn)過的算法/數(shù)據(jù)集祝賀,而僅計(jì)算還沒有被實(shí)驗(yàn)的那些。( 2) KnowledgeFlowExplorer 的一個(gè)不足在于, 當(dāng)用戶打開一個(gè)數(shù)據(jù)集時(shí), 所有數(shù)據(jù)將全部被讀 入到主存當(dāng)中,隨著任務(wù)規(guī)模的增大,普通配置的計(jì)算機(jī)很難滿足要求。Kn owledgeFlow提供了一個(gè)用于處理大型數(shù)據(jù)集的遞增算法,專門處理這一問題。 這個(gè)環(huán)境本質(zhì)上和Explorer所支持的功能是一樣的,但是它有一個(gè)可以拖放的界 面。它有一個(gè)優(yōu)勢(shì),就是支持增量學(xué)習(xí)( incrementallear

12、ning )。KnowledgeFlow為WEKA提供了一個(gè)"數(shù)據(jù)流"形式的界面。用戶可以從一 個(gè)工具欄中選擇組件, 把它們放置在面板上并按一定的順序連接起來, 這樣組成 一個(gè)"知識(shí)流"(knowledgeflow )來處理和分析數(shù)據(jù)。目前,所有的 WEKA分 類器(classifier)、篩選器(filter)、聚類器(clusterer)、載入器(loader )、 保存器(saver),以及一些其他的功能可以在 KnowledgeFlow中使用。KnowledgeFlow 可以使用增量模式( incrementally )或者批量模式( inbat

13、ches )來處理數(shù)據(jù)( Explorer 只能使用批量模式)。當(dāng)然對(duì)數(shù)據(jù)進(jìn)行增量學(xué)習(xí)要求分類器能夠根據(jù)各實(shí)例逐個(gè)逐個(gè)的更新現(xiàn)在WEKA中有五個(gè)分類器能夠增量地處理數(shù)據(jù):NaiveBayesUpdateable , IB1 , IBk, LWR (局部加權(quán)回歸)。 還有一個(gè)meta分類器RacedIncrementalLogitBoost可以使用任意基于回歸的學(xué) 習(xí)器來增量地學(xué)習(xí)離散的分類任務(wù)。( 4) SimpleCLI提供了一個(gè)簡(jiǎn)單的命令行界面, 能通過鍵入文本命令的方式來實(shí)現(xiàn)其他三個(gè) 用戶界面所提供的所有功能, 從而可以在沒有自帶命令行的操作系統(tǒng)中直接執(zhí)行 WEKA命令。使用命令行有兩個(gè)

14、好處: 一個(gè)是可以把模型保存下來, 這樣有新的待預(yù)測(cè)數(shù) 據(jù)出現(xiàn)時(shí), 不用每次重新建模, 直接應(yīng)用保存好的模型即可。 另一個(gè)是對(duì)預(yù)測(cè)結(jié) 果給出了置信度, 我們可以有選擇的采納預(yù)測(cè)結(jié)果, 例如, 只考慮那些置信度在 85% 以上的結(jié)果。、實(shí)驗(yàn)案例介紹本文用WEK軟件作為工具,結(jié)合券商的基金某一個(gè)時(shí)段交易業(yè)務(wù)數(shù)據(jù)進(jìn) 行分析。實(shí)驗(yàn)的數(shù)據(jù)是一個(gè)交易周的基金交易業(yè)務(wù)數(shù)據(jù)。該表含有date(日期)、fund_code(基金代碼)、fund_name (基金名稱)、company_code(基金公司代碼)、 compa ny (基金公司名稱)、bus in ess_code(業(yè)務(wù)代碼)、bus in ess_

15、 name (業(yè)務(wù) 名稱)、shares(基金份額)、balanee(資金金額)、fares(手續(xù)費(fèi))、fares_type(手續(xù)費(fèi)類型)、internet_shares (網(wǎng)上交易基金份額)、internet_balanee (網(wǎng) 上交易資金金額)、remark (備注)等字段,通過實(shí)驗(yàn),希望能找出客戶的基金 交易分布情況。該數(shù)據(jù)的數(shù)據(jù)屬性如下:date(numeric) ,交易發(fā)生日期;fund_code(numeric) ,基金代碼;fund_name(character) ,基金名稱;company_code(numeric) ,用于報(bào)送的基金公司代碼;company(characte

16、r) ,所屬的基金公司;business_code(numeric) ,交易業(yè)務(wù)代碼;business_name(character) ,交易業(yè)務(wù)名稱;shares(numeric) ,基金交易份額;balance(numeric) ,資金交易金額;fares(numeric) ,交易手續(xù)費(fèi);fares_type(enum) ,手續(xù)費(fèi)類型,取值范圍“全額結(jié)算” / “凈額結(jié)算”;internet_shares(numeric) ,網(wǎng)上交易基金份額;internet_balance(numeric) ,網(wǎng)上交易資金金額;remark(character) ,備注;、數(shù)據(jù)分析。用 UltraEdi

17、t 打開, 儲(chǔ)存了一個(gè)二維我們給出一個(gè) CSV文件的例子(Fu nd-data.csv它可以看到,這種格式也是一種逗號(hào)分割數(shù)據(jù)的文本文件 表格。Excel的XLS文件可以讓多個(gè)二維表格放到不同的工作表(Sheet)中,我們只能把每個(gè)工作表存成不同的CSV文件。打開一個(gè) XLS文件并切換到需要轉(zhuǎn)換的工作表,另存為CSV類型,點(diǎn)“確定”、“是”忽略提示即可完成操作。需要注意的是, Matllab 給出的CSV文件往往沒有屬性名(Excel給出 的也有可能沒有)。而WEK必須從CSV文件的第一行讀取屬性名,否則就會(huì)把第一行的各屬性值讀成變量名。因此我們對(duì)于Matllab給出的CSV文件需要用 Ult

18、raEdit 打開,手工添加一行屬性名。注意屬性名的個(gè)數(shù)要跟 數(shù)據(jù)屬性的個(gè)數(shù)一致,仍用逗號(hào)隔開。1、.csv->.arff將CSV轉(zhuǎn)換為ARFF最迅捷的辦法是使用WEKA所帶的命令行工具。運(yùn)行WEKA勺主程序,出現(xiàn) GUI后可以點(diǎn)擊下方按鈕進(jìn)入相應(yīng)的模塊。我們點(diǎn)擊進(jìn)入“ SimpleCLI ”模塊提供的命令行功能。由于weka暫不支持中文輸入,所以挑選了在D盤下進(jìn)行轉(zhuǎn)換,在新窗口的最下方(上方是不能寫字的)輸入框?qū)懮蟡avaD:/Fund-data.csv>D:/Fund-data.csv.arff即可完成轉(zhuǎn)換,生成文件“ D:/Fund-data.csv.arff ”。見下圖 5

19、: 圖5進(jìn)入“ Exploer ”模塊,從上方的按鈕中打開CSV文件然后另存為 ARFF文件亦可。我們應(yīng)該注意到,“ Exploer ”還提供了很多功能,實(shí)際上可以 說這是 WEK使用最多的模塊?,F(xiàn)在我們先來熟悉它的界面,然后利用它對(duì) 數(shù)據(jù)進(jìn)行預(yù)處理。界面展現(xiàn)見下圖6:圖中顯示的是使用“ Exploer ”打開“ Fund-data.csv.csv ”的情況。 圖62、預(yù)處理通常對(duì)于 WEK來說并不支持中文,所以我們將一些涉及中文的字段刪 除。勾選屬性 “ fund_name” 、 “ company”、“ business_name ”、“ remark ”, 并點(diǎn)擊“ Removd'

20、;。將新的數(shù)據(jù)集保存一次。其中“ fares_type ”只有2 個(gè)取值:全額結(jié)算和凈額結(jié)算。這時(shí)我們?cè)赨ltraEdit 中直接修改ARFF文件,把a(bǔ)ttributefares_type 全額結(jié)算,凈額結(jié)算 改為attributefares_typeFull, Netattributedatenumeric 改為attributdate2009/8/24,2009/8/25,2009/8/26,2009/8/27,2009/8/28 就可以了。在“ Explorer ”中重新打開“ fund-data.arff ”,選中“ date ”和 “ fund_type ”,看到屬性已經(jīng)變成“ No

21、minal ”了。WEK支持的<datatype>有四種,分別是:numeric-數(shù)值型, vnominal-specification>-分類(nominal) 型,string- 字符串型,date<date-format>- 日期和時(shí)間型而本表只有nemeric和nominal兩種類型,數(shù)值屬性(nemeric )數(shù)值型屬 性可以是整數(shù)或者實(shí)數(shù),但 WEKA把它們都當(dāng)作實(shí)數(shù)看待。分類屬性(nominal) 分類屬性由 vnominal-specification> 列出一系列可能的類別名稱并放在花括號(hào) 中: vnominal-name1>,vno

22、minal-name2>,.。數(shù)據(jù)集中該屬性的值只能是其中一種類別。如果類別名稱帶有空格,仍需要將之放入引號(hào)中?!皊hares”,“banlance”,“fares”,“internet_shares”和“internet_banlance” 的離散化我們需要借助 WEKA中名為“ Discretize”的Filter來完成。在區(qū)域2中 點(diǎn)“ Choose',出現(xiàn)一棵“ Filter樹”,逐級(jí)找到“”,點(diǎn)擊。若無法關(guān)閉這個(gè) 樹,在樹之外的地方點(diǎn)擊“ Explorer”面板即可?,F(xiàn)在“ Choose"旁邊的文本框應(yīng)該顯示“ Discretize-B1O-M-O.1-Rfi

23、rst-lasf。 點(diǎn)擊這個(gè)文本框會(huì)彈出新窗口以修改離散化的參數(shù)。我們不打算對(duì)所有的屬性離散化,只是針對(duì)對(duì)第 4, 5, 6, 8, 9 個(gè),故把 attributeIndices 右邊改成“ 4, 5, 6, 8, 9”。我們把這兩個(gè)屬性都分成 1O 段, 于是把“ bins”改成“ 10”。其它不變。點(diǎn)“ OK'回到“ Explorer”,可以看到“ shares', “ banlance”, “ fares”, “ intern et_shares ”和 “i ntern et_ba nlance ”已經(jīng)被離散化成分類型的屬性。同時(shí)我們可以用UltraEdit打開保存后的

24、ARFF文 件,把所有的類似“ ''(-inf-1464805.884'' ”替換成“ 0_1464805.884”。其它標(biāo) 識(shí)做類似地手動(dòng)替換。經(jīng)刪減后,保留 date 、shares、balance、fares、fares_type、internet_shares、 internet_balance7 個(gè)屬性,如圖 7圖7 在進(jìn)行數(shù)據(jù)搜集和整理的過程中,我們發(fā)現(xiàn)如果屬性的類型為數(shù)值型的話, 在做關(guān)聯(lián)分析時(shí)將不能得到結(jié)果, 因?yàn)殛P(guān)聯(lián)分析無法處理數(shù)值型數(shù)據(jù)。 因此,我 們進(jìn)行了數(shù)據(jù)離散處理后使得需要分析的數(shù)據(jù)變?yōu)榉诸愋停?這樣就可以關(guān)聯(lián)分析 得以順利進(jìn)行。 因此

25、通過預(yù)處理數(shù)據(jù)可以提高原數(shù)據(jù)的質(zhì)量, 清除數(shù)據(jù)噪聲和與 挖掘目標(biāo)無關(guān)的數(shù)據(jù),為進(jìn)一步的挖掘工作莫定可靠的基礎(chǔ)。3、分類與回歸WEKA中的“ Classify ”選項(xiàng)卡中包含了分類(Classification)和回歸(Regression) ,在這兩個(gè)任務(wù)中,都有一個(gè)共同的目標(biāo)屬性(輸出變量)。 可以根據(jù)一個(gè)樣本(WEKA中稱作實(shí)例)的一組特征(輸入變量),對(duì)目標(biāo)進(jìn) 行預(yù)測(cè)。為了實(shí)現(xiàn)這一目的,我們需要有一個(gè)訓(xùn)練數(shù)據(jù)集,這個(gè)數(shù)據(jù)集中 每個(gè)實(shí)例的輸入和輸出都是已知的。觀察訓(xùn)練集中的實(shí)例,可以建立起預(yù) 測(cè)的模型。有了這個(gè)模型,我們就可以新的輸出未知的實(shí)例進(jìn)行預(yù)測(cè)了。 衡量模型的好壞就在于預(yù)測(cè)的準(zhǔn)確程

26、度。在WEKA中,待預(yù)測(cè)的目標(biāo)(輸出)被稱作 Class 屬性,這應(yīng)該是來自分類任務(wù)的“類”。一般的,若Class屬性是分類型時(shí)我們的任務(wù)才叫分類, Class 屬性是數(shù)值型時(shí)我們的任務(wù)叫 回歸。而我們使用決策樹算法 C4.5 對(duì) Fund-data-normal 建立起分類模型。 因此我們制作分類不做回歸。我們用“ Explorer ”打開訓(xùn)練集“ Fund-data-normal.arff ”,。切換 到“ Classify ”選項(xiàng)卡,點(diǎn)擊“ Choose”按鈕后可以看到很多分類或者回 歸的算法分門別類的列在一個(gè)樹型框里。樹型框下方有一個(gè)“Filter.”按鈕,點(diǎn)擊后勾選“ Binarya

27、ttributes ”“ Numericattributes ”和“ Binaryclass ”。點(diǎn)“ OK后回到樹形圖,可以發(fā)現(xiàn)一些算法名稱變灰了, 說明它們不能用。選擇“ trees ”下的“ J48”,這就是我們需要的 C4.5算 法。點(diǎn)擊“ Choose”右邊的文本框,彈出新窗口為該算法設(shè)置各種參數(shù)。 我們把參數(shù)保持默認(rèn)。選上“ Cross-validation ”并在“ Folds ”框填上“ 10”。點(diǎn)“ Start 按鈕開始讓算法生成決策樹模型。很快,用文本表示的一棵決策樹以及對(duì) 這個(gè)決策樹的誤差分析結(jié)果出現(xiàn)在右邊“ Classifieroutput ”中。見圖 8 圖84、聚類

28、分析 聚類的任務(wù)是把所有的實(shí)例分配到若干的簇,使得同一個(gè)簇的實(shí)例聚 集在一個(gè)簇中心的周圍,它們之間距離的比較近;而不同簇實(shí)例之間的距 離比較遠(yuǎn)。現(xiàn)在我們對(duì)前面的“ Fund-data-normal ”作聚類分析,使用最 常見的K均值(K-means)算法。用“ Explorer ”打開剛才得到的“ Fund-data-normal.arff ”,并切換 到“ Cluster ”。點(diǎn)“ Choose” 按鈕選擇“ SimpleKMeans ”,這是 WEKA中 實(shí)現(xiàn)K均值的算法。點(diǎn)擊旁邊的文本框,修改“numClusters ”為6,說明我們希望把這734條實(shí)例聚成6類,即K=5。下面的“ se

29、ed ”參數(shù)是要設(shè)置 一個(gè)隨機(jī)種子,依此產(chǎn)生一個(gè)隨機(jī)數(shù),用來得到 K 均值算法中第一次給出 的 K 個(gè)簇中心的位置。我們不妨?xí)簳r(shí)讓它就為10。選中“ ClusterMode ”的“ Usetrainingset ”,點(diǎn)擊“ Start ”按鈕,觀察 右邊“ Clustereroutput ”給出的聚類結(jié)果。見下圖9:圖95、關(guān)聯(lián)規(guī)則我們打算對(duì)前面的“ Fund-data-normal ”數(shù)據(jù)作關(guān)聯(lián)規(guī)則的分析。用“ Explorer ”打開“ Fund-data-normal.arff ”后,切換到“ Associate ” 選項(xiàng)卡。默認(rèn)關(guān)聯(lián)規(guī)則分析是用 Apriori 算法,我們就用這個(gè)算法,

30、但是 點(diǎn)“ Choose”右邊的文本框修改默認(rèn)的參數(shù)。從網(wǎng)上獲得的 Apriori有關(guān)知識(shí):對(duì)于一條關(guān)聯(lián)規(guī)則L->R,我們常用支持度( Support )和置信度( Confidence )來衡量它的重要性。規(guī)則的支 持度是用來估計(jì)在一個(gè)購(gòu)物籃中同時(shí)觀察到L和R的概率P(L,R),而規(guī)則 的置信度是估計(jì)購(gòu)物欄中出現(xiàn)了 L 時(shí)也出會(huì)現(xiàn) R 的條件概率 P(R|L) 。關(guān)聯(lián) 規(guī)則的目標(biāo)一般是產(chǎn)生支持度和置信度都較高的規(guī)則。有幾個(gè)類似的度量代替置信度來衡量規(guī)則的關(guān)聯(lián)程度,它們分別是Lift (提升度?): P(L,R)/(P(L)P(R)Lift=1 時(shí)表示 L 和 R 獨(dú)立。這個(gè)數(shù)越大,越表

31、明L 和 R 存在在一個(gè)購(gòu)物籃中不是偶然現(xiàn)象。Leverage (不知道怎么翻譯): P(L,R)-P(L)P(R) 它和 Lift 的含義差不多。 Leverage=0 時(shí) L 和 R 獨(dú)立, Leverage 越大 L 和 R 的關(guān)系越密切。Conviction (更不知道譯了): P(L)P(!R)/P(L,!R)(!R 表示 R 沒有發(fā)生)Conviction 也是用來衡量 L 和 R 的獨(dú)立性。從它和 lift 的關(guān)系(對(duì) R 取反,代入 Lift 公式后求倒數(shù))可以看出,我們也希望這個(gè)值越大越好。值得注意的是,用 Lift和Leverage作標(biāo)準(zhǔn)時(shí),L和R是對(duì)稱的, Confide

32、nce 和 Conviction 則不然?,F(xiàn)在我們計(jì)劃挖掘出支持度在10%到 100%之間,并且 lift 值超過 1.5且 lift 值排在前 100 位的那些關(guān)聯(lián)規(guī)則。 我們把“ lowe rBoundM inSuppo rt ” 和“ upperBoundMinSupport ”分別設(shè)為 0.1 和 1,“metricType ”設(shè)為 lift ,“ min Metric ”設(shè)為1.5 , “nu mRules ”設(shè)為10,其他參數(shù)不變。點(diǎn)擊“ start ” 見圖 10圖10我們也可以利用命令行來完成挖掘任務(wù),在“ SimlpeCL”I 模塊中輸入如下格式的 命令:java-N100-

33、T1-C1.5-D0.05-U1.0-M0.1-S-1.0-l-td:fund-data-normal.arff即可得 到如圖 11 的結(jié)果。圖116、屬性分析用“ Explorer ”打開剛才得到的“ Fund-data-normal.arff ”,并切換 到“ Selectattributes ”。點(diǎn)“ AttributeEvaluator ” 中的“ Choose” 按 鈕選擇“ ClassifierSubsetEval ”,點(diǎn)“ SearchMethod ”中的“ Choose”按鈕選擇“ RaceSearch ”。在“ AttributeSelection ”中選中“ Cross-v

34、alidation”項(xiàng),參數(shù)默認(rèn)Folds=10 和 Seed=1。點(diǎn)擊“ start見圖 12圖 127、可視化分析用“ Explorer ”打開剛才得到的“ Fund-data-normal.arff ”,并切換到 “ Visualize ”。見圖 13圖13四、分析結(jié)果1 、分類與回歸我們看到“ J48 ”算法交叉驗(yàn)證的結(jié)果之一為CorrectlyClassifiedInstances73099.455%IncorrectlyClassifiedInstances40.545% =ConfusionMatrix= abcdefghij<-classifiedas 730000000000|a='(0_1430078.883'1000000000|b='(1430078.883-2860157.766'100000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論