版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)音樂分類的數(shù)據(jù)集在這個(gè)題目中,使用了SVM分類器和貝葉斯分類器,并通過sklearn庫中的GridSearchCV方法對(duì)SVM分類模型的參數(shù)進(jìn)行調(diào)優(yōu),使最終的正確率提高了5個(gè)百分點(diǎn)左右。但仍沒有文檔中的論文達(dá)到的分類正確率高,因?yàn)檎撐闹械姆诸惼鞯脑O(shè)計(jì)使專一對(duì)音樂音調(diào)分類的,其中設(shè)計(jì)到神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的一些方法。而我使用的分類器使對(duì)大部分分類問題都有效的方法。下面是對(duì)數(shù)據(jù)集的一個(gè)簡單的介紹:數(shù)據(jù)標(biāo)簽第3-14列:YES or NO第15列:共16個(gè)取值(D, G#, D
2、#, Bb, Db, F#, Eb, F, C#, Ab, B, C, A#, A, G, E)第16列:共5個(gè)取值(1,2,3,4,5)第17列:共102個(gè)類別(C#M, F_m, D_m, D_d7, G#m, D_m6, C_m6, C_d7, F_M, D_M, BbM7, F#d, C#d, E_d, F_d7, F#d7, G_m, C#d7, AbM, EbM, D#d, Bbm6, G_M7, F#m6, Dbd, B_m6, G#M, D_m7, B_M, F#M7, Bbm, A#d, D#d7, Abd, G_M, F#M4, E_M, A_M4, E_m7, D#M,
3、C_M7, A_m6, Dbm, A#d7, F#M, C#m7, F_m7, C_M, C#M4, F_M6, A_M, G_m6, D_M4, F_M7, B_M7, E_M4, E_m6, A_m4, G#d, C_m7, C_M6, Abm, F_m6, G_m7, F_d, Bbd, G_M4, B_d, A_M7, E_m, C#M7, DbM, EbM7, C#d6, F#m, G_M6, G_d, Dbd7, B_m7, DbM7, D_M6, D#d6, G#d7, A_m7, B_d7, B_M4, A_d, A_m, C_d6, D#m, C_M4, A_M6, BbM,
4、 C#m, D_M7, E_M7, F_M4, F#m7, Dbm7, B_m, C_m, Ebd)這是一個(gè)多分類問題1.1數(shù)據(jù)讀取與訓(xùn)練集和測(cè)試集分離從文件讀取數(shù)據(jù)def readfile(datapath): #type:datapath:數(shù)據(jù)集的文件路徑 #rtype:X:數(shù)據(jù)標(biāo)簽,y:所屬類別 X,y=, with open(datapath,r) as fp: lines=fp.read() for line in lines.split(n): if line=: continue Xi= line=list(map(lambda x:x.lstrip(),line.split(,
5、) #Xi+=line:2 #前兩列數(shù)據(jù)沒用去除 Xi+=list(map(lambda x:1 if x=YES else 0,line2:14) Xi+=Bass2id.index(line14) Xi+=int(line15) X.append(Xi) y.append(class2id.index(line-1) #print(list(map(lambda x:x2:,X) return X,y使用sklearn.model_selection庫中的train_test_split函數(shù),將訓(xùn)練集隨機(jī)分成10份,9份訓(xùn)練,1份測(cè)試X_train, X_test, y_train, y_
6、test = train_test_split(X, y, test_size=0.1, random_state=randint(0,5000)X是標(biāo)簽列表,y是類別列表1.2使用svm分類參數(shù)調(diào)優(yōu)def svm_cross_validation(train_x, train_y): # 尋找模型參數(shù)的最優(yōu)值 model = svm.SVC(kernel=rbf, probability=False) param_grid = kernel:(linear, rbf),C: 1,10, 5000,7000,10000, gamma: 10,1,0.1, 0.01, 0.001,0.0001
7、grid_search = GridSearchCV(model, param_grid, n_jobs = 8, verbose=1) grid_search.fit(train_x, train_y) best_parameters = grid_search.best_estimator_.get_params() for para, val in list(best_parameters.items(): print(para, val) cv_result = pd.DataFrame.from_dict(grid_search.cv_results_) with open(cv_r
8、esult.csv,w) as f: cv_result.to_csv(f) return model模型訓(xùn)練與正確率gettimedef svmmain(X_train,X_test,y_train,y_test): clf = svm.SVC(C=7000, kernel=rbf, degree=3, gamma=0.01, coef0=1.0, shrinking=False, probability=False,tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, random_state=N
9、one) clf.fit(X_train, y_train) x1=np.sum(y_test=clf.predict(X_test) x2=np.sum(y_test!=clf.predict(X_test) print(SVM:分類正確%d,分類錯(cuò)誤%d,準(zhǔn)確率%.2f% % (x1,x2,x1*100/(x1+x2) return x1*100/(x1+x2)輸出結(jié)果:1.3使用貝葉斯分類器分類結(jié)果:gettimedef bayesmain(X_train,X_test,y_train,y_test): clf = BernoulliNB(alpha=0.1,binarize=0.2,f
10、it_prior=True,class_prior=None) clf.fit(X_train, y_train) x1=np.sum(y_test=clf.predict(X_test) x2=np.sum(y_test!=clf.predict(X_test) print(貝葉斯:分類正確%d,分類錯(cuò)誤%d,準(zhǔn)確率%.2f% % (x1,x2,x1*100/(x1+x2) return x1*100/(x1+x2)在貝葉斯分類器中,使用了伯努利模型對(duì)概率。下圖是輸出結(jié)果:其中中用到的gettime裝飾器def gettime(func): functools.wraps(func) def
11、 wrapper(*args, *kw): starttime = datetime.datetime.now() res = func(*args, *kw) endtime = datetime.datetime.now() print(運(yùn)行時(shí)間:%.3f秒 % (endtime-starttime).total_seconds() return res return wrapper1.4總結(jié)數(shù)據(jù)集中提到的論文所實(shí)現(xiàn)的方法的正確率達(dá)到80.06%,它所設(shè)計(jì)的方法是專門用來對(duì)音樂音調(diào)進(jìn)行分類的,其中涉及到了Viterbi方法等。我所采用的是普通的SVM分類器和貝葉斯分類器,這些分類器對(duì)大部分
12、分類問題都有一個(gè)較客觀的正確率。銀行用戶是否有頂起存款的預(yù)測(cè)在這個(gè)分類題目中仍然運(yùn)用了SVM分類器和貝葉斯分類器,并對(duì)數(shù)據(jù)進(jìn)行了可視化操作。因此在這一小節(jié)主要介紹數(shù)據(jù)的可視化。下面是對(duì)數(shù)據(jù)集的一個(gè)簡單的介紹:標(biāo)簽?zāi)挲g,工作,婚姻,教育,信用卡,余額,房子,貸款,聯(lián)系方式,日,月,持續(xù)時(shí)間age,job,marital,education,default,balance,housing,loan,contact,day,month,duration,campaign,pdays,previous,poutcome類標(biāo)簽是否訂購定期存款這是一個(gè)典型的二分類問題,主要通過銀行客戶的各種信息,其實(shí)現(xiàn)的
13、意義在于可以通過銀行已掌握的客戶的基本信息,對(duì)客戶是否有意向訂購頂起存款進(jìn)行預(yù)測(cè),從眾多客戶中提取有價(jià)值的客戶。2.1數(shù)據(jù)讀取從文件讀取數(shù)據(jù)def readfile(datapath): #type:datapath:數(shù)據(jù)集的文件路徑 #rtype:X:數(shù)據(jù)標(biāo)簽,y:所屬類別 X,y=, with open(datapath,r) as fp: data=fp.readlines(): for i in data1: i=list(map(lambda x:int(x) if x.isdigit() or x1:.isdigit() else x.replace(,),i:-1.split(;
14、) i1=job2id.index(i1) i2=marital2id.index(i2) i3=education.index(i3) i4=1 if i4=yes else 0 i5=int(i5) i6=1 if i6=yes else 0 i7=1 if i7=yes else 0 i8=contact2id.index(i8) i10=month2id.index(i10) i15=poutcome2id.index(i15) X.append(i:-1) y.append(i-1=yes) return np.array(X),np.array(y)同樣使用sklearn.mode
15、l_selection庫中的train_test_split函數(shù)將數(shù)據(jù)分為訓(xùn)練集和測(cè)試集。2.2數(shù)據(jù)可視化通過matplotlib庫進(jìn)行數(shù)據(jù)可視化,將每個(gè)標(biāo)簽在每個(gè)類別中的數(shù)量以直方圖的形式畫出來。 圖(2.1)兩個(gè)類別各占的比例 圖(2.2)年齡分布圖(2.3)工作分布圖(2.4)所受教育水平圖(2.5)主要聯(lián)系方式圖(2.6)婚姻分布從圖(2.1)可以看出所有客戶中只有十分之一預(yù)定了定期存款,可見開通這個(gè)業(yè)務(wù)的是一小部分人。從圖(2.2)可以看出35左右的客戶有大部分。從圖(2.3)可以看出,所有職業(yè)中學(xué)生更傾向預(yù)定這項(xiàng)業(yè)務(wù)。從圖(2.5)可以看到使用移動(dòng)電話的客戶更傾向預(yù)定這項(xiàng)業(yè)務(wù)。2.
16、3分類結(jié)果貝葉斯分類器建立模型時(shí)間較短且有一個(gè)較好的正確率。SVM分類器花費(fèi)時(shí)間較長,相對(duì)于貝葉斯分類器的正確率并沒有明顯的提高。為什么會(huì)出現(xiàn)這種情況,本人感覺是數(shù)據(jù)集的標(biāo)簽過多引起的。由于對(duì)SVM的具體實(shí)現(xiàn)了解不深,具體的原因有待進(jìn)一步探索。特定人語音識(shí)別這個(gè)數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,主要任務(wù)是區(qū)分9個(gè)不同成年男性對(duì)/ae/字母的發(fā)音。數(shù)據(jù)集中有每個(gè)人多次對(duì)這一字母的發(fā)音,每次發(fā)音的數(shù)據(jù)集是由遞增順序的12個(gè)LPC系數(shù)組成(即每個(gè)時(shí)間點(diǎn)有12個(gè)值)。即每次發(fā)音的數(shù)據(jù)會(huì)被分為多行(7-29),每行有12個(gè)數(shù)組成。對(duì)于這個(gè)問題,根據(jù)論文中的方法實(shí)現(xiàn)了一個(gè)算法(Method T-B),3.1數(shù)據(jù)讀
17、取def getdata(path,sizepath): data= with open(path) as fp: content=fp.read() with open(sizepath) as fp: datasize=fp.read():-1 datasize=list(map(lambda x:int(x),datasize.split( ) content=content.split(nn):-1 content=list(map(lambda x:np.array(list(map(lambda x:list(map(lambda x:float(x),x.split( ):-1)
18、,x.split(n),content) ipre=0 for i in datasize: data.append(contentipre:ipre+i) ipre+=i return data3.2建立模型根據(jù)論文,取U=4,V=20。即在時(shí)間尺度上取四個(gè)閾值,在特征值大小的尺度上取20個(gè)閾值。通過分別在時(shí)間和大小兩個(gè)尺度上挑選兩個(gè)不同的閾值,組成一個(gè)長方形。對(duì)于一個(gè)人的一個(gè)發(fā)音來說,如果在某一時(shí)間維度上(總共12個(gè))數(shù)據(jù)通過了這個(gè)長方形,就給出1,否則為0。0和1同等重要。最后把一個(gè)人一次的發(fā)音轉(zhuǎn)化為01比特,總共有2*12*C42*C122=27360個(gè)。V=np.linspace(g
19、etmin(train), getmax(train), num=20)U=0,7,14,29def getmodel1(V,U,x): b=0 for ui in range(0,len(U): for uii in range(ui+1,len(U): for vi in range(0,len(V): for vii in range(vi+1,len(V): for n in range(12): bi=1 for xi in x:,nUui:Uuii: if xi=Vvi and xiVvii: bi=2 b=(b2)|bi return bdef getmodelall(V,U,train): B= for i in range(len(train): for j in traini: b=getmodel1(V,U,j) B.append(b) return B對(duì)測(cè)試集進(jìn)行測(cè)試:def gettest1(V,U,x,y,B): b=getmodel1(V,U,x)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)二年級(jí)描寫小貓的作文200字
- Thalidomide-5-Br-生命科學(xué)試劑-MCE
- Terazosin-hydrochloride-dihydrate-Standard-生命科學(xué)試劑-MCE
- Sulfabenzamide-Standard-生命科學(xué)試劑-MCE
- 部編版七年級(jí)下冊(cè)道德與法治第六課“我”和“我們”作業(yè)題1
- 2024-2025學(xué)年高中歷史第三單元北魏孝文帝改革第1課改革迫在眉睫課后鞏固訓(xùn)練含解析新人教版選修1
- 2024高一地理寒假作業(yè)同步練習(xí)題自然地理環(huán)境的差異性含解析
- 2024-2025學(xué)年新教材高中物理第一章運(yùn)動(dòng)的描述4速度變化快慢的描述-加速度學(xué)案新人教版必修1
- 2025版高考地理第4單元中國地理概況第3課時(shí)中國的氣候達(dá)標(biāo)練含解析
- 六年級(jí)語文楚才杯雨還在下獲獎(jiǎng)作文27
- 物資設(shè)備盤點(diǎn)報(bào)告(模版)
- 國家安全概論智慧樹知到期末考試答案2024年
- 大數(shù)據(jù)與會(huì)計(jì)職業(yè)生涯規(guī)劃
- 寧德時(shí)代2024年社招測(cè)評(píng)題庫
- 2023年度省綜合專家?guī)煸u(píng)標(biāo)專家繼續(xù)教育培訓(xùn)考試試題(三套)
- 2023年6月新高考英語天津卷(第二次)基礎(chǔ)詞匯積累
- 電力配網(wǎng)安全培訓(xùn)課件
- 高風(fēng)險(xiǎn)作業(yè)培訓(xùn)課件
- 幼兒音樂節(jié)奏培訓(xùn)課件
- 2024中國鐵路成都局集團(tuán)限公司招聘88人高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 數(shù)字信號(hào)處理試卷及答案
評(píng)論
0/150
提交評(píng)論