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

下載本文檔

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

文檔簡(jiǎn)介

1、哈爾濱工業(yè)大學(xué)數(shù)據(jù)挖掘理論與算法實(shí)驗(yàn)報(bào)告(2016年度秋季學(xué)期)課程編碼S1300019C授課教師鄒兆年學(xué)生姓名 汪瑞學(xué) 號(hào) 16S003011學(xué) 院、實(shí)驗(yàn)內(nèi)容決策樹(shù)算法是一種有監(jiān)督學(xué)習(xí)的分類(lèi)算法;kmea ns是一種無(wú)監(jiān)督的聚類(lèi)算法。本次實(shí)驗(yàn)實(shí)現(xiàn)了以上兩種算法。在決策樹(shù)算法中采用了不同的樣 本劃分方式、不同的分支屬性的選擇標(biāo)準(zhǔn)。在kmea ns算法中,比較了不同初始質(zhì)心產(chǎn)生的差異。本實(shí)驗(yàn)主要使用 python 語(yǔ)言實(shí)現(xiàn),使用了 sklearn 包作為實(shí)驗(yàn)工 具。二、實(shí)驗(yàn)設(shè)計(jì)1. 決策樹(shù)算法1.1 讀取數(shù)據(jù)集本次實(shí)驗(yàn)主要使用的數(shù)據(jù)集是汽車(chē)價(jià)值數(shù)據(jù)。有6個(gè)屬性,命名和屬性值分別如下:buying

2、: vhigh, high, med, low.maint: vhigh, high, med, low.doors: 2, 3, 4, 5more.persons: 2, 4, more.lug_boot: small, med, big.safety: low, med, high.分類(lèi)屬性是汽車(chē)價(jià)值,共 4類(lèi),如下:class values :unacc, acc, good, vgood該數(shù)據(jù)集不存在空缺值。由于skiear n. tree只能使用數(shù)值數(shù)據(jù),因此需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將所有標(biāo)簽類(lèi)屬性值轉(zhuǎn)換為整形。f=open( 1 car. data *)x-f.re a d() x=

3、Kp split( nr?) xl=len(x)-l del xxl for temp in range(xl): 世flip.址先更up: . rpLit( # ) far i in rang(len(xtemp): H xftemp i=F:xtenpl=4elif xt-enpi ighr: xtei -3 xtenpL Hiecf(:)tteitipi=2eli x t emp L = = Ldij : xtenpi=1elif xte=;Kteflipi.-3號(hào)lif xtempi 4elif 3ttenpi=取 : X(tenp i=tlelif xtF7) k=&for i in

4、 train_indeK: x_traink=xi k4=lMtrainlBheltrain : ,0:G xraitargetrinf : & dtc=dtc,fit(xtrain_labelfx_tr目 intsrget) tree.expot graphviz(dtcout_file= tree.data) x_test=np.zer5(len( tetiridexjj?) k=& for i in test_indeM:x_testk=1k+=lx_test_lab&L-x_test: 0 :6x test targets(_test: ,6 predict-dtc.predict(j

5、c_test : ,&:6) for i in angetlenfpredict): if predict6: tp+=lfieri (testindex) Js_ave+ss_ave=s_a ve/kfod_k|printrjht rate: s_ave)由于實(shí)驗(yàn)采用的是10-fold交叉驗(yàn)證,因此最終準(zhǔn)確率應(yīng)該是每一折準(zhǔn)確率的平均值。上述代碼也包含了訓(xùn)練決策樹(shù)和使用測(cè)試集驗(yàn)證決策樹(shù)的代碼,即:ftcdtc + fitfx_train_labeljX_tFain_target)pred it t=dtc+aredict(x_test : ,6:6)該實(shí)驗(yàn)的最終準(zhǔn)確率約是:test right

6、 rate: 0.81651.4基于樹(shù)樁的Adaboost算法在python中同樣也實(shí)現(xiàn)了 adaboost算法,需要使用AdaBoostClassifier ()方法構(gòu)造它。它有若干可選項(xiàng):base_estimator是設(shè)置adaboost算法使用的弱分類(lèi)器,默認(rèn)是 一層決策樹(shù),即樹(shù)樁。n.estimators是設(shè)置迭代次數(shù),每一次迭代時(shí)該算法選擇數(shù)據(jù)集 中的某一特征作為樹(shù)樁的分類(lèi)節(jié)點(diǎn),訓(xùn)練集中被錯(cuò)誤分類(lèi)的記錄將被 增加權(quán)重,正確分類(lèi)的記錄將被降低權(quán)重,權(quán)重更新后的數(shù)據(jù)集將用 于下一次迭代。初始時(shí)各個(gè)記錄權(quán)重均為1/n,n為記錄數(shù)目。主要的實(shí)現(xiàn)語(yǔ)句如下:ada=AclaEoost 匚丄巳 r

7、 (=BC: da .fit(deta_train,七argettrin )prediction = ada * 5core (dat:ci_t亡玉t, target_tE5t)print(prediction)最終在測(cè)試集上,由adaboost生成的強(qiáng)分類(lèi)器的準(zhǔn)確率為:0+791907514451|2.kmea ns 算法2.1讀取數(shù)據(jù)集Kmeans算法的數(shù)據(jù)集是酒的品種數(shù)據(jù)。有 13個(gè)屬性,一個(gè)分類(lèi) 屬性。共分成3類(lèi),數(shù)據(jù)集前58號(hào)為第一類(lèi),59-129號(hào)為第二類(lèi), 130-177號(hào)為第三類(lèi)。2.2初始化kmeans參數(shù)Python中通過(guò)調(diào)用skiearn.cluster包中的kmeans

8、類(lèi)來(lái)創(chuàng)建方法實(shí)例。需要設(shè)置的主要參數(shù)是n_clusters,即聚簇?cái)?shù)量。具體代碼如下:kt*KMeans(n clusters)當(dāng)然可以設(shè)置in it參數(shù)為ran dom,表示隨機(jī)生成初始質(zhì)心。默 認(rèn)值的kmeans+智能選擇數(shù)據(jù)中的若干項(xiàng)作為質(zhì)心。還有max_iter可選項(xiàng),表示kmeans方法迭代次數(shù)。2.3聚類(lèi)劃分聚簇劃分代碼如下:predic-kt,prd iet(x) print(predic)2.4錯(cuò)誤率計(jì)算聚簇劃分的錯(cuò)誤率,代碼for i in rsnge(len (yj):tep=yif i=len(y)*l:breakif yi+l 1 1append(i) temp=dic

9、t() errlen(predic) for j in range(len(predi匚): temp predie j 1-get (preditj f0)+lif j in 1: max=3for m in temp.values ():if maxm:rr-err-(naxtemp,clear()errate = err/rlen( predie)print(lerrate)結(jié)果:1 1 11 211 1 11 1 11 1 111 112 2 21 1 22 1 121 111 112 21 1 22 112 2 11 1 11 1 111 111 1 10 2 02 0 020 02

10、2 200 12 0 00 200 2 20 0 00 0 220 000 0 22 0 20 2 000 200 002 0 2 0 0 0 0 2 2 2 0 2 2 2 0 2 0 2 2 0 2 2 2 2 0 0 2 2 2 2 2 0 0 58, 129, 1770.29608938547486036由于數(shù)據(jù)集較小而且比較規(guī)整, 經(jīng)過(guò)測(cè)試發(fā)現(xiàn)該次實(shí)驗(yàn)在第二次 迭代就已經(jīng)收斂,錯(cuò)誤率在 29.6%左右。當(dāng)然,對(duì)于沒(méi)有標(biāo)簽的數(shù)據(jù),在衡量聚類(lèi)結(jié)果時(shí)可以使用總 SSE來(lái)評(píng)價(jià)。在不同的k值情況下,選擇具有最小總SSE的模型最為合適。 三、遇到的困難及解決方法、心得體會(huì)1. 問(wèn)題實(shí)現(xiàn)本程序時(shí),由于數(shù)據(jù)與算法格式不匹配,在數(shù)據(jù)預(yù)處理階段 碰到了各種問(wèn)題, 比如怎樣拆分?jǐn)?shù)據(jù)中的類(lèi)別標(biāo)簽、 劃分?jǐn)?shù)據(jù)集的采 用何種方式等。2. 心得實(shí)現(xiàn)本程序之后, 深刻認(rèn)識(shí)了決策樹(shù)算法和 kmeans 算法的神奇之 處,對(duì)這些

溫馨提示

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

評(píng)論

0/150

提交評(píng)論