版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
一、WEKA軟件簡介在我所從事的證券行業(yè)中,存在著海量的信息和數(shù)據(jù),但是這些數(shù)據(jù)日常知識(shí)發(fā)揮了一小部分的作用,其包含了大量的隱性的信息并不為所用,但是卻可以為一些公司的決策和對客戶的服務(wù)提供不小的價(jià)值。因此,我們可以通過一些數(shù)據(jù)采集、數(shù)據(jù)挖掘來獲得潛在的有價(jià)值的信息。WEKA是由新西蘭懷卡托大學(xué)開發(fā)的開源項(xiàng)目,全名是懷卡托智能分(WaikatoEnvironmentforKnowledgeAnalysis)WEKAJAVA編寫的,它的源代碼可通過http://www.cs.waikato.ac.nz/ml/WEKA得到,并且限制在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í)算法,包括對數(shù)據(jù)進(jìn)行預(yù)處理,分類,回歸、聚類、關(guān)聯(lián)規(guī)則以及在新的交互式界面上的可視化。如果想自己實(shí)現(xiàn)數(shù)據(jù)挖掘算法的話,可以看一看WEKA的接口文檔。在WEKA中集成自己的算法甚至借鑒它的方法自己實(shí)現(xiàn)可視化工具并不是件很困難的事情。安裝WEKA也十分簡單,首相要下載安裝JDK環(huán)境,JDK在這個(gè)頁面可以找到它的下載/javase/downloads/index.jsp。點(diǎn)擊JDK6之后的Download按鈕,轉(zhuǎn)到下載頁面。選擇Accepct,過一會(huì)兒頁面會(huì)刷新。我們需要的是這個(gè) jdk-6-windows-i586.exe53.16MB點(diǎn)擊它下載也可以右鍵點(diǎn)擊它上面的鏈接,在Flashget等工具中下載。安裝它和一般軟件沒什么區(qū)別。不過中間會(huì)中斷一下提示你安裝JRE,一并裝上即可。之后就是安裝WEKA軟件,這個(gè)在網(wǎng)上很多點(diǎn)擊啟動(dòng)運(yùn)行WEKA軟件后,我門發(fā)現(xiàn)WEKA存儲(chǔ)數(shù)據(jù)的格式是ARFF(Attribute-RelationFileFormat)文件,這是一種ASCII文本文件。我們?nèi)鐖D1通過軟件的Tools菜單進(jìn)入ArffViewer可以在安裝目錄下查看軟件自帶的幾個(gè)ARFF文件。2data所示的二維表格存儲(chǔ)在如下的ARFF文件中。這也就是WEKA自帶的“contact-lenses.arff”文件。這里我們要介紹一下WEKA中的術(shù)語。表格里的一(Instance(AttrbuteWEKA看來,呈現(xiàn)了屬性之間的一種關(guān)系(Relation)122個(gè)實(shí)例,5個(gè)屬性,關(guān)系名稱為ARFF格式,WEKA還支持另外一種常見格式,CSV格式。CSV同樣WEKA中直接打開CSV格式的文件,ARFFARFF格式的ExcelCSV格式,進(jìn)而保存ARFFfilter對數(shù)據(jù)進(jìn)行相應(yīng)的預(yù)處理。而對MatlabcsvwriteCSV格式的文ARFF格式文件。對于海量數(shù)據(jù),一般保存在數(shù)據(jù)庫中,WEKAJDBC訪問數(shù)據(jù)庫。句呢,不過稍等一秒,WEKAGUIChooser的出現(xiàn)了。這是一個(gè)很簡單的窗體,下的數(shù)據(jù)挖掘工具;ExperimenterKnowledgeFlow的使用有待進(jìn)一步摸索圖WEKAWEKA提供了數(shù)據(jù)的預(yù)處理,和對部分結(jié)果的可視化,并且我們可以通過屬性選擇工具(SelectAttribute),通過(schemes,然Explore這個(gè)環(huán)境本質(zhì)上和Exploreentallarning。KnowledgeFlow為WEKA提供了一個(gè)"數(shù)據(jù)流"形式的界面。用戶可以從成一個(gè)"知識(shí)流"(knowledgeflow)來處理和分析數(shù)據(jù)。目前,所有的WEKA(classifir(filter(clusterer(loader存器(saver,以及一些其他的功能可以在KnowledgeFlow中使用。KnowledgeFlow可以使用增量模式(incrementally)(inbatches)來處理數(shù)據(jù)(Explorer只能使用批量模式。當(dāng)然對數(shù)據(jù)進(jìn)行增量學(xué)習(xí)要求分類器能夠根據(jù)各實(shí)例逐個(gè)逐個(gè)的更新.現(xiàn)在WEKA還有一個(gè)meta分類器RacedIncrementalLogitBoost可以使用任意基于回歸的學(xué)習(xí)WEKA命令。二、實(shí)驗(yàn)案例介紹本文用WEKAdate(numeric),交易發(fā)生日期;fund_code(numeric)fund_name(character),基金名稱;company_code(numeric),用于報(bào)送的基金公司代碼;company(character),所屬的基金公司;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)internet_balance(numeric)remark(character),備注;三、數(shù)據(jù)分析我們給出一個(gè)CSV文件的例子(Fund-data.csv)。用UltraEdit打開它可以看到,這種格式也是一種逗號(hào)分割數(shù)據(jù)的文本文件,儲(chǔ)存了一個(gè)二維表格。ExcelXLS文件可以讓多個(gè)二維表格放到不同的工作表(Sheet)中,我們只能把每個(gè)工作表存成不同的CSV文件。打開一個(gè)XLS文件并切換到需要轉(zhuǎn)換的工作表,另存為CSV類型,點(diǎn)“確定”、“是”忽略提示即可完成操作。需要注意的是,Matllab給出的CSV文件往往沒有屬性名(Excel給出的也有可能沒有)WEKA必須從CSV文件的第一行讀取屬性名,否則就會(huì)把第一行的各屬性值讀成變量名。因此我們對于Matllab給出的CSV文件需要用UltraEdit打開,手工添加一行屬性名。注意屬性名的個(gè)數(shù)要跟數(shù)據(jù)屬性的個(gè)數(shù)一致,仍用逗號(hào)隔開。1、.csv->.CSV轉(zhuǎn)換為ARFF最迅捷的辦法是使用WEKA所帶的命令行工具。WEKAGUI后可以點(diǎn)擊下方按鈕進(jìn)入相應(yīng)的模塊。我們點(diǎn)擊進(jìn)入“SimpleCLI”模塊提供的命令行功能。由于weka暫不支持中文輸入,所以挑選了在D盤下進(jìn)行轉(zhuǎn)換,在新窗口的最下方(上方是不能寫字的)輸入框?qū)懮? 即可完成轉(zhuǎn)換,生成文件“D:/Fund-data.csv.arff”。見下圖進(jìn)入“Exploer”模塊,從上方的按鈕中打開CSV文件然后另存為ARFF文件亦可。我們應(yīng)該注意到,“Exploer”還提供了很多功能,實(shí)際上可以說WEKA使用最多的模塊?,F(xiàn)在我們先來熟悉它的界面,然后利用它對數(shù)據(jù)進(jìn)行預(yù)處理。界面展現(xiàn)見下圖6:圖中顯示的是使用“Exploer”打開“Fund-data.csv.csv”的情況。2、預(yù)處理通常對于WEKA來說并不支持中文,所以我們將一些涉及中文的字段刪除。勾選屬性“fund_nam”、“company”、“business_name”、“remark”,并點(diǎn)擊“Remove”。將新的數(shù)據(jù)集保存一次。其中“fares_type”2個(gè)取值:全額結(jié)算和凈額結(jié)算。這時(shí)我們在UltraEdit中直接修改ARFF文件,把@attributefares_type{全額結(jié)算,凈額結(jié)算改為@attributefares_type{Full,Net}@attributedate{numeric}改為date{2009/8/24,2009/8/25,2009/8/26,2009/8/27,2009/8/28就可以了。在“Explorer”中重新打開“fund-data.arff”,選中“date”和“fund_type”到屬性已經(jīng)變成“Nominal”了。WEKA<datatype>numeric--<nominal-specification>--(nominal)string--datenemericnominal兩種類型,數(shù)值屬性(nemeric)數(shù)值型屬性可以是整數(shù)或者實(shí)數(shù),但WEKA把它們都當(dāng)作實(shí)數(shù)看待。分類屬性(nominal)<nominal-specification>列出一系列可能的類別名稱并放在花括號(hào)中:{<nominalname1>,<nominal-name2>,...}。數(shù)據(jù)集中該屬性的值“shares”“banlance”“fares”“internet_shares”WEKA中名為“Discretize”Filter2中點(diǎn)“Choose”,出現(xiàn)一棵“Filter樹”,逐級(jí)找到“weka.filters.unsupervised.attribute.Discretize”,點(diǎn)現(xiàn)在“Choose”旁邊的文本框應(yīng)該顯示“DiscretizeB10M0.1Rfirst-last”我們不打算對所有的屬性離散化,只是針對對第4,5,6,8,9個(gè),故把a(bǔ)ttributeIndices右邊改成“4,5,6,8,9”10段,于是把“bins”改成“10”。其它不變。點(diǎn)“OK”回到“Explorer”,可以看到“shares”,“banlance”“fares”“internet_shares”的屬性。同時(shí)我們可以用UltraEdit打開保存后的ARFF文件,把所有的類似經(jīng)刪減后,保留date、shares、balance、fares、fares_type、internet_shares、internet_balance773、分類與回歸WEKA中的“Classify”選項(xiàng)卡中包含了分類(Classification)和回歸(Regression),在這兩個(gè)任務(wù)中,都有一個(gè)共同的目標(biāo)屬性(輸出變量)??梢愿鶕?jù)一個(gè)樣本(WEKA中稱作實(shí)例)的一組特征(輸入變量),對目標(biāo)進(jìn)行預(yù)測。為了實(shí)現(xiàn)這一目的,我們需要有一個(gè)訓(xùn)練數(shù)據(jù)集,這個(gè)數(shù)據(jù)集中每個(gè)實(shí)例的輸入和輸出都是已知的。觀察訓(xùn)練集中的實(shí)例,可以建立起預(yù)測的模型。有了這個(gè)模型,我們就可以新的輸出未知的實(shí)例進(jìn)行預(yù)測了。衡量模型的好壞就在于預(yù)測的準(zhǔn)確程度。在WEKA中,待預(yù)測的目標(biāo)(輸出)被稱作Class屬性,這應(yīng)該是來自分類任務(wù)的“類”。一般的,若Class屬性是分類型時(shí)我們的任務(wù)才叫分類,Class屬性是數(shù)值型時(shí)我們的任務(wù)叫回歸。而我們使用決策樹算法C4.5Fund-data-normal建立起分類模型。因此我們制作分類不做回歸。我們用Explorer打開訓(xùn)練集Fund-data-normal.arff“Classify”選項(xiàng)卡,點(diǎn)擊“Choose”按鈕后可以看到很多分類或者回歸的算法分門別類的列在一個(gè)樹型框里。樹型框下方有一個(gè)“Filter...”按鈕,點(diǎn)擊后勾選“Binaryattributes”“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”按鈕開始讓算法生成決策樹模型。很快,用文本表示的一棵決策樹以及對這個(gè)決策樹的誤差分析結(jié)果出現(xiàn)在右邊“Classifieroutput”中。見圖8。4聚類的任務(wù)是把所有的實(shí)例分配到若干的簇,使得同一個(gè)簇的實(shí)例聚集在一個(gè)簇中心的周圍,它們之間距離的比較近;而不同簇實(shí)例之間的距離比較遠(yuǎn)?,F(xiàn)在我們對前面的“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í)例聚成6K=5“seed”參數(shù)是要設(shè)置一個(gè)隨機(jī)種子,依此產(chǎn)生一個(gè)隨機(jī)數(shù),用來得到K均值算法中第一次給出的K個(gè)簇中心的位置。我們不妨?xí)簳r(shí)讓它就為10。選中“ClusterMode”的“Usetrainingset”,點(diǎn)擊“Start”按鈕,觀察右邊“Clustereroutput”給出的聚類結(jié)果。見下圖9:5、關(guān)聯(lián)規(guī)則我們打算對前面的“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è)算法,但是點(diǎn)“Choose”右邊的文本框修改默認(rèn)的參數(shù)。從網(wǎng)上獲得的Apriori有關(guān)知識(shí):對于一條關(guān)聯(lián)規(guī)則L->R,我們常用支持度(Support)和置信度(Confidence)來衡量它的重要性。規(guī)則的支持度是用來估計(jì)在一個(gè)購物籃中同時(shí)觀察到LR的概率P(L,R),而規(guī)則的置信度是估計(jì)購物欄中出現(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(提升度?):Lift=1時(shí)表示LR獨(dú)立。這個(gè)數(shù)越大,越表明LR存在在一個(gè)購物籃中不是偶然現(xiàn)象。Leverage(不知道怎么翻譯):P(L,R)-Lift的含義差不多。Leverage=0LR獨(dú)立,LeverageR的關(guān)系越密切。Conviction(更不知道譯了):P(L)P(!R)/P(L,!R)(!R表示R沒有發(fā)生)Conviction也是用來衡量LR的獨(dú)立性。從它和lift的關(guān)系(R取反,代入Lift公式后求倒數(shù))可以看出,我們也希望這個(gè)值越大越好。值得注意的是,用LiftLeverage作標(biāo)準(zhǔn)時(shí),LR是對稱的,Confidence和Conviction則不然?,F(xiàn)在我們計(jì)劃挖掘出支持度在10%100%之間,并且lift值超過1.5且lift值排在前100位的那些關(guān)聯(lián)規(guī)則。我們把“l(fā)owerBoundMinSupport”和upperBoundMinSupport0.1和1“metricType”lift,minMetric1.5,numRules10,其他參數(shù)不變。點(diǎn)擊start見10我們也可以利用命令行來完成挖掘任務(wù),在“SimlpeCLI”模塊中輸入如下格式的javaweka.associations.AprioriN100T1C1.5D0.05U1.0M0.1S-Itd:\fund-data-normal.arff116用“Explorer”打開剛才得到的“Fund-data-normal.arff”,并切換到“Selectattributes”“AttributeEvaluator”“Choose”“ClassifierSubsetEval”“SearchMethod”“Choose”RaceSearch”。在AttributeSelection中選中Cross-validation項(xiàng),參數(shù)默認(rèn)Folds=10和Seed=1。點(diǎn)擊“start”見圖127
用“Explorer”打開剛才得到的“Fund-data-normal.arff”,并切換到“Visualize”。見圖131、分類與回歸我們看到“J48”算法交叉驗(yàn)證的結(jié)果之一為C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年新課標(biāo)八年級(jí)上冊道德與法治《3.1 維護(hù)秩序 》聽課評(píng)課記錄
- 【2022年新課標(biāo)】部編版七年級(jí)上冊道德與法治8.1 生命可以永恒嗎 聽課評(píng)課記錄
- 河北省七年級(jí)歷史下冊第三單元明清時(shí)期:統(tǒng)一多民族國家的鞏固與發(fā)展第20課清朝君主專制的強(qiáng)化聽課評(píng)課記錄(新人教版)
- 湘教版數(shù)學(xué)八年級(jí)上冊《小結(jié)練習(xí)》聽評(píng)課記錄2
- 湘教版數(shù)學(xué)九年級(jí)下冊4.1《隨機(jī)事件與可能性》聽評(píng)課記錄1
- 統(tǒng)編版七年級(jí)下冊道德與法治第四單元整體聽課評(píng)課記錄
- 《百家爭鳴》名師聽課評(píng)課記錄(新部編人教版七年級(jí)上冊歷史)
- 新人教版七年級(jí)地理上冊《4.1人口與人種(第1課時(shí)世界人口的增長世界人口的分布)》聽課評(píng)課記錄
- 場地使用安全協(xié)議書范本
- 北師大版道德與法治七年級(jí)上冊2.2《學(xué)習(xí)風(fēng)向標(biāo)》聽課評(píng)課記錄
- 上海市黃浦區(qū)2024年數(shù)學(xué)六年級(jí)第一學(xué)期期末監(jiān)測試題含解析
- 2023電化學(xué)儲(chǔ)能電站消防安全標(biāo)準(zhǔn)鉛炭電池(鉛酸電池)
- 青島版五四制四年級(jí)數(shù)學(xué)上冊豎式計(jì)算100道
- DB11T 1322.94-2024安全生產(chǎn)等級(jí)評(píng)定技術(shù)規(guī)范 第94部分:救助管理機(jī)構(gòu)
- 2024至2030年中國天津市酒店行業(yè)市場發(fā)展現(xiàn)狀及投資方向研究報(bào)告
- 新教材-外研版高中英語選擇性必修第二冊全冊教學(xué)課件(按單元排序-)
- 甘肅省臨夏州2023-2024學(xué)年高二下學(xué)期期末質(zhì)量檢測語文試卷(無答案)
- 貨場煤泥合同模板
- 腸道健康管理課件
- 房產(chǎn)中介公司薪酬制度
- 家具生產(chǎn)車間規(guī)章制度
評(píng)論
0/150
提交評(píng)論