下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、機(jī)器學(xué)習(xí)之隨機(jī)森林()文本算法的精確率目錄0、推薦無意中發(fā)現(xiàn)了一個(gè)巨牛的人工智能教程,忍不住分享一下給大家。教程不僅是零基礎(chǔ),通俗易懂,而且非常風(fēng)趣幽默,像看小說一樣!覺得太牛了,所以分享給大家。二I匕日1、背景最近的項(xiàng)目中,用到了很多機(jī)器學(xué)習(xí)的算法,每個(gè)機(jī)器學(xué)習(xí)的算法在不同的樣本下的精準(zhǔn)率是不同的。為了驗(yàn)證每個(gè)算法在每種不同樣本數(shù)量的能力,就做了一下實(shí)驗(yàn),本文講的是“隨機(jī)森林”在文本算法中的精準(zhǔn)率。相關(guān)其它機(jī)器學(xué)習(xí)算法的精準(zhǔn)率:決策樹:邏輯回歸:支持向量機(jī):K近鄰:樸素貝葉斯:機(jī)器學(xué)習(xí)各個(gè)算法對比:2、效果圖先看一下沒有任何調(diào)參的情況下的效果吧!隨機(jī)森林:數(shù)據(jù)量準(zhǔn)鞭iUI練時(shí)間/蟲昭試時(shí)間/
2、10D00.96C03060937997430000.90703042B57299150000.863COO112697399980000.78C0302912497980100000.75503049C68818943150030.70500043B181104719但數(shù)據(jù)量到達(dá)20000左右時(shí),準(zhǔn)確率已經(jīng)達(dá)到了70%左右了。、本次實(shí)驗(yàn)整體流程1、先把整體樣本讀到內(nèi)存中2、把整體樣本按照8:2的比例,分為80%的訓(xùn)練集,20%的測試集3、然后“訓(xùn)練集”的樣本先分詞,再轉(zhuǎn)換為詞向量4、接著把訓(xùn)練集的樣本和標(biāo)簽統(tǒng)一的傳入算法中,得到擬合后的模型5、把“測試集”的樣本先分詞,再得到詞向量6、把測試
3、集得出的詞向量丟到擬合后的模型中,看得出的結(jié)果7、把結(jié)果轉(zhuǎn)換為準(zhǔn)確率的形式,最后做成表格形式以便觀看這里應(yīng)該多跑幾遍不同樣本,然后把結(jié)果取平均值,每次的結(jié)果還是稍有不同的。4這里用詞向量,而不是用F預(yù)處理后的向量這里我們直接取得詞向量,而不是經(jīng)過TF-IDF處理過的詞向量。如果處理過,效果會(huì)不如現(xiàn)在的好。TF-IDF(詞頻-逆文本頻率),前面的TF也就是常說到的詞頻,我們之前做的向量化也就是做了文本中各個(gè)詞的出現(xiàn)頻率統(tǒng)計(jì),并作為文本特征,這個(gè)很好理解。關(guān)鍵是后面的這個(gè)IDF,即“逆文本頻率”如何理解。有些句子中的詞,比如說“的”,幾乎所有句子都會(huì)出現(xiàn),詞頻雖然高,但是重要性卻應(yīng)該比主語、賓語等
4、低IDF就是來幫助我們來反應(yīng)這個(gè)詞的重要性的,進(jìn)而修正僅僅用詞頻表示的詞特征值。概括來講,IDF反應(yīng)了一個(gè)詞在所有文本中出現(xiàn)的頻率,如果一個(gè)詞在很多的文本中出現(xiàn),那么它的IDF值應(yīng)該低加了TF-IDF處理后的效果:數(shù)據(jù)d椎確度訓(xùn)練時(shí)間測試時(shí)間血占100Cc.320COO129711091300Cc.325COO408c23013500Cc.S59COO1057173989SOOCc.779COO2633287978100C0c.754COO45977017317150C0c.721COO5578341037521過TF-IDF處:理后的交果比不處理效果好。所以,這就要經(jīng)過TF-IDF處理了哈。
5、以下源碼中,如果加TF-IDF處理,只需要在jiabaToVector()函數(shù)中增加True這個(gè)參數(shù)就OK了vector_train=jiabaToVector(m_text_train,False,True)vectortest=jiabaToVector(mtexttest,True,True)5、源代碼mportjiebamportdatetime向量測試集訓(xùn)練集得分比對romsklearn.model_selectionimporttrain_test_splitIromsklearn.feature_extraction.textimportTfidfTransformerromsk
6、learn.feature_extraction.textimportCountVectorizerromsklearn.metricsimportaccuracy_score隨機(jī)森林romsklearn.ensembleimportRandomForestClassifier忽略警告mportwarningswarnings.filterwarnings(ignore,category=FutureWarning,module=sklearn,lineno=196)m_count=1000,3000,5000,8000,10000,15000,20000allmist_allText=mis
7、t_allL4ID=內(nèi)容的訓(xùn)練集、測試集m_text_test=m_text_train=m_label_test=m_label_train=m_map_all=讀取文件里面數(shù)據(jù)獲取標(biāo)簽和內(nèi)容defgetFile(filename,count):withopen(filename,r,encoding=utf-8)asfp:globalmist_allL4ID,m_list_allTextm_list_allL4ID=mist_allText=foriinrange(count):foriinrange(count):text=fp.readline()if:intext:L4ID=text
8、.split(:)-2Msg=text.split(:)-1mist_allL4IEbppend(L4ID)m_list_allTextappend(Msg)隨機(jī)分為測試集和訓(xùn)練集2-8分defrandomTestAndTrain():生成訓(xùn)練集和測試集globalm_text_test,m_text_train,m_label_test,m_label_trainm_text_train,m_text_test,m_label_train,m_label_test=train_test_split(mist_allText,mist_allL4ID,test_size=0.2,random_
9、state=1)defjiabaToVector(list,isTest,isTFIDF=False):tmp_list=forsentenceinlist:tmp_list.append(.join(jieba.cut(sentence.strip()利用TFIDF生成詞向量transformer=TfidfTransformer()ifisTest:ifisTFIDF:tfidf=transformer.fit_transform(vectorizer.transform(tmp_list)else:tfidf=vectorizer.transform(tmp_list)else:ifis
10、TFIDF:tfidf=transformer.fit_transform(vectorizer.fit_transform(tmp_list)else:tfidf=vectorizer.fit_transform(tmp_list)returntfidf創(chuàng)建默認(rèn)參數(shù)defpredict_4(X,Y):clf=RandomForestClassifier()clf=clf.fit(X,Y)returnclfdeftest(count):getFile(./rg_test.train,count)getFile(./rg_train_20190102_20181227114134.train,c
11、ount)print(獲取全部已知數(shù)據(jù)的hbel和text)隨機(jī)分為測試集和訓(xùn)練集2-8分randomTestAndTrain()globalvectorizer全局向量vectorizer=CountVectorizer()生成訓(xùn)練向量vector_train=jiabaToVector(m_text_train,False)生成訓(xùn)練向量tfidfvector_train=jiabaToVector(m_text_train,False,True)數(shù)據(jù)大小lenall=len(mist_allText)print(總集大小,lenall)print(總集大小:,lenall)訓(xùn)練startT
12、_Train=datetime.datetime.now()clf=predict_4(vector_train,mabel_train)endT_Train=datetime.datetime.now()print(”訓(xùn)練Time:,(endT_Train-startT_Train).microseconds)生成測試向量vector_test=jiabaToVector(m_text_test,True)生成測試向量tfidfvector_test=jiabaToVector(m_text_test,True,True)測試startT=datetime.datetime.now()res
13、ult=clf.predict(vector_test)endT=datetime.datetime.now()print(測試Time:,(endT-startT).microseconds)計(jì)算百分比percent=accuracy_score(result,m_label_test)print(準(zhǔn)確率:,round(percent,3)map_all=map_all精確率=round(percent,3)map_all數(shù)據(jù)量:=lenallmap_all訓(xùn)練時(shí)間/us=(endT_Train-startT_Train).microsecondsmap_all測試時(shí)間/us=(endT-startT).microsecondsm_map_all.append(map_all)f_name_=_main_:print(-開始-)fortestCinm_count:test(testC)print(-結(jié)束-)打印表格print(數(shù)據(jù)量t準(zhǔn)確度t訓(xùn)練時(shí)間/ust測試時(shí)間/us)forkeyinm_map_all:print(%dt%ft%dt%d%(key數(shù)據(jù)量,key精確率,key訓(xùn)練時(shí)間/us,key測試時(shí)間/us)6、知識點(diǎn)普及6.1隨機(jī)森林優(yōu)點(diǎn)1、可以處理高維數(shù)據(jù),不同進(jìn)行特征選擇(特征子集是隨機(jī)選擇)2、模型的泛化能
溫馨提示
- 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)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024秋八年級英語上冊 Unit 10 If you go to the party you'll have a great time Section B (2a-2e)教案(新版)人教新目標(biāo)版
- 2023七年級歷史下冊 第二單元 遼宋夏金元時(shí)期:民族關(guān)系發(fā)展和社會(huì)變化第8課 金與南宋的對峙說課稿 新人教版
- 喜達(dá)屋酒店內(nèi)部員工管理制度
- 高考地理一輪復(fù)習(xí)第一章地球與地圖第一節(jié)經(jīng)緯網(wǎng)和地圖課件
- 自營業(yè)務(wù)外包合同(2篇)
- 腦卒中相關(guān)課件
- 布紋個(gè)性簡歷幻燈片模板
- 西京學(xué)院《應(yīng)用統(tǒng)計(jì)學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《家具設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《發(fā)電廠電氣系統(tǒng)》2022-2023學(xué)年期末試卷
- 某標(biāo)準(zhǔn)件廠冷鐓車間低壓配電系統(tǒng)及車間變電所設(shè)計(jì)(超詳細(xì))
- 紫金礦業(yè)污染事件商業(yè)倫理分析
- 體檢指標(biāo)分析課件
- 2023年口腔醫(yī)學(xué)期末復(fù)習(xí)-牙周病學(xué)(口腔醫(yī)學(xué))考試歷年真題精華集選附答案
- 2023年全國碩士研究生考試考研英語二試題真題(含答案)
- 中小學(xué)教師教育教學(xué)水平能力測試成績單
- 骨科細(xì)化分級護(hù)理標(biāo)準(zhǔn)
- 互聯(lián)網(wǎng)醫(yī)院整體方案介紹-PPT
- 4.2.1指數(shù)函數(shù)的概念 課件(共21張PPT)
- 嬰幼兒盥洗照料(嬰幼兒回應(yīng)性照護(hù)課件)
- 銀杏樹介紹-課件
評論
0/150
提交評論