Python大模型基礎(chǔ)與智能應(yīng)用課件 4-5.隨機(jī)森林算法_第1頁
Python大模型基礎(chǔ)與智能應(yīng)用課件 4-5.隨機(jī)森林算法_第2頁
Python大模型基礎(chǔ)與智能應(yīng)用課件 4-5.隨機(jī)森林算法_第3頁
Python大模型基礎(chǔ)與智能應(yīng)用課件 4-5.隨機(jī)森林算法_第4頁
Python大模型基礎(chǔ)與智能應(yīng)用課件 4-5.隨機(jī)森林算法_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

4.5隨機(jī)森林算法1隨機(jī)森林(randomforest,RF)算法是Bagging算法的一個擴(kuò)展變體,其基學(xué)習(xí)器指定為決策樹,但在訓(xùn)練過程中加入隨機(jī)屬性選擇,即在構(gòu)建單棵決策樹的過程中,隨機(jī)森林算法并不會利用子數(shù)據(jù)集中所有的特征屬性訓(xùn)練決策樹模型,而是在樹的每個節(jié)點(diǎn)處從m個特征屬性中隨機(jī)挑選k個特征屬性(),一般按照節(jié)點(diǎn)基尼指數(shù)最小的原則從這k個特征屬性中選出一個,對節(jié)點(diǎn)進(jìn)行分裂,讓這棵樹充分生長,不進(jìn)行通常的剪枝操作。1.隨機(jī)森林算法的基本原理24.5隨機(jī)森林算法在隨機(jī)森林算法生成單棵決策樹的過程中,參數(shù)k控制了特征屬性的選取數(shù)量,若,則隨機(jī)森林中單棵決策樹的構(gòu)建與傳統(tǒng)的決策樹算法相同。一般情況下,推薦k的取值為。高手點(diǎn)撥4.5隨機(jī)森林算法3隨機(jī)森林模型往往具有很高的預(yù)測準(zhǔn)確率,對異常值和噪聲具有很好的容忍度,且不容易出現(xiàn)過擬合現(xiàn)象。在實際應(yīng)用中,隨機(jī)森林算法的優(yōu)點(diǎn)有:①構(gòu)建單棵決策樹時,選擇部分樣本及部分特征,能在一定程度上避免出現(xiàn)過擬合現(xiàn)象;②構(gòu)建單棵決策樹時,隨機(jī)選擇樣本及特征,使得模型具有很好的抗噪能力,性能穩(wěn)定;③能處理很高維度的數(shù)據(jù),并且不需要進(jìn)行特征選擇和降維處理。隨機(jī)森林算法的缺點(diǎn)在于參數(shù)較復(fù)雜,模型訓(xùn)練和預(yù)測速度較慢。1.隨機(jī)森林算法的基本原理44.5隨機(jī)森林算法Sklearn的ensemble模塊提供了RandomForestClassifier類和RandomForestRegressor類,分別用于實現(xiàn)隨機(jī)森林分類和回歸算法。在Sklearn中,可通過下面語句導(dǎo)入隨機(jī)森林算法模塊。fromsklearn.ensembleimportRandomForestClassifier #導(dǎo)入隨機(jī)森林分類模塊fromsklearn.ensembleimportRandomForestRegressor #導(dǎo)入隨機(jī)森林回歸模塊2.隨機(jī)森林算法的Sklearn實現(xiàn)5RandomForestClassifier類和RandomForestRegressor類都有如下幾個參數(shù)。(1)參數(shù)n_estimators用于設(shè)置要集成的決策樹的數(shù)量。(2)參數(shù)criterion用于設(shè)置特征屬性的評價標(biāo)準(zhǔn),RandomForestsClassifier中參數(shù)criterion的取值有g(shù)ini和entronpy,gini表示基尼指數(shù),entronpy表示信息增益,默認(rèn)值為gini;RandomForestsRegressor中criterion的取值有mse和mae,mse表示均方差,mae表示平均絕對誤差,默認(rèn)值為mse。(3)參數(shù)max_features用于設(shè)置允許單棵決策樹使用特征的最大值。(4)參數(shù)random_state表示隨機(jī)種子,用于控制隨機(jī)模式,當(dāng)random_state取某一個值時,即可確定一種規(guī)則。4.5隨機(jī)森林算法2.隨機(jī)森林算法的Sklearn實現(xiàn)6【例8-2】使用隨機(jī)森林算法對Sklearn自帶的鳶尾花數(shù)據(jù)集進(jìn)行分類。使用隨機(jī)森林算法對鳶尾花數(shù)據(jù)集進(jìn)行分類的步驟如下。(1)使用隨機(jī)森林算法訓(xùn)練模型,并輸出模型的預(yù)測準(zhǔn)確率?!境绦蚍治觥?.5隨機(jī)森林算法2.隨機(jī)森林算法的Sklearn實現(xiàn)7程序運(yùn)行結(jié)果如圖5所示?!具\(yùn)行結(jié)果】4.5隨機(jī)森林算法圖5隨機(jī)森林模型的預(yù)測準(zhǔn)確率2.隨機(jī)森林算法的Sklearn實現(xiàn)【參考代碼】

fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensembleimportRandomForestClassifierfromsklearn.metricsimportaccuracy_scoreimportmatplotlib.pyplotaspltfrommatplotlib.colorsimportListedColormapimportnumpyasnp#拆分?jǐn)?shù)據(jù)集x,y=load_iris().data[:,2:4],load_iris().targetx_train,x_test,y_train,y_test=train_test_split(x,y,random_state=0,test_size=50)#訓(xùn)練模型model=RandomForestClassifier(n_estimators=10,random_state=0)model.fit(x_train,y_train)#評估模型pred=model.predict(x_test)ac=accuracy_score(y_test,pred)print("隨機(jī)森林模型的預(yù)測準(zhǔn)確率:",ac)8程序運(yùn)行結(jié)果如圖6所示。可見,隨機(jī)森林模型可有效地對樣本數(shù)據(jù)進(jìn)行分類?!具\(yùn)行結(jié)果】4.5隨機(jī)森林算法(2)使用Matplotlib繪制圖形,顯示模型的分類效果。圖6隨機(jī)森林模型分類效果2.隨機(jī)森林算法的Sklearn實現(xiàn)【參考代碼】

x1,x2=np.meshgrid(np.linspace(0,8,500),np.linspace(0,3,500))x_new=np.stack((x1.flat,x2.flat),axis=1)y_predict=model.predict(x_new)y_hat=y_predict.reshape(x1.shape)iris_cmap=ListedColormap(["#ACC6C0","#FF8080","#A0A0FF"])plt.pcolormesh(x1,x2,y_hat,cmap=iris_cmap)#繪制3種類別鳶尾花的樣本點(diǎn)plt.scatter(x[y==0,0],x[y==0,1],s=30,c='g',marker='^')plt.scatter(x[y==1,0],x[y==1,1],s=30,c='r',marker='o')plt.scatter(x[y==2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論