整合學習(Random Forest) 實踐

2022-06-16 06:00:13 字數 2237 閱讀 2450

對於整合學習,由於是多個基學習期共同作用結果,因此在做引數調節時候就有基學習器的引數和整合學習的引數兩類

在scikit-learn中,rf的分類類是randomforestclassifier,回歸類是randomforestregressor

官方文件:

引數說明:

1、n_estimators:隨機森林的基學習器數量

2、oob_score:是否使用袋外資料來評價模型

基學習器由於可選的很多,sklearn裡面的好像預設是決策樹

引數說明:

1、max_features:這個最重要:在做決策樹時候選擇的特徵數量 。預設是"none",意味著劃分時考慮所有的特徵數;如果是"log2"意味著劃分時最多考慮log

2n'>log2n

log2n個特徵;如果是"sqrt"或者"auto"意味著劃分時最多考慮n

'>n−−√

n個特徵。

2、criterion:決策樹劃分的衡量,gini是基尼係數,回歸樹種是mse均方誤差

3、max_depth:決策樹的最大深度

4、min_samples_split:最小劃分的樣本數,如果低於這個樣本數,決策樹不做劃分

例項說明:

導入庫import

pandas as pd

import

numpy as np

from sklearn.ensemble import

randomforestclassifier

from sklearn.ensemble import

randomforestregressor

from sklearn.datasets import

load_iris

from sklearn.model_selection import

train_test_split

from sklearn.metrics import

accuracy_score

from sklearn.model_selection import

gridsearchcv

#載入資料

iris =load_iris()

x =iris.data

y =iris.target

x_train,x_test,y_train,y_test = train_test_split(x,y,random_state = 1)

#使用網格搜尋確定要建立的基學習器個數

clf = gridsearchcv(randomforestclassifier(max_features='

log2

'),param_grid=(),cv=10)

clf.fit(x_train,y_train)

print

(clf.best_params_)

#再使用網格搜尋來確定決策樹的引數

clf2 = gridsearchcv(randomforestclassifier(n_estimators=11),param_grid=())

clf2.fit(x_train,y_train)

print

(clf2.best_params_)

#根據最大層數3,最多棵樹11,建立最終的隨機森林來**

rf = randomforestclassifier(n_estimators=11,max_depth=3,max_features='

log2')

rf.fit(x_train,y_train)

y_hat =rf.predict(x_test)

print(accuracy_score(y_hat,y_test))

《機器學習技法》第十講 Random Forest

bagging 通過平均來降低變化量。decision tree 對不同的資料敏感,變化量大。aggregation of aggregation 用bagging的方式把一堆decision tree結合起來。1 並行化 高效 2 繼承cart的優點 3 消除完全生長cart的overfit缺點 ...

機器學習 整合學習

1.理解什麼是整合學習 所謂 整合 是指同時構建多個學習器,這裡的學習器主要針對弱學習器。2.弱學習器主要是指泛化能力略優於隨機猜測的學習器,弱的相結合會得到更好的泛化能力。三個臭皮匠嘛!3那麼這些弱的摻雜起來為什麼會得到好的呢?主要思想就是投票法。所以呀我們要得到好的整合效果,必須要求個體學習器要...

機器學習 整合學習

一。概括 整合學習 ensemble learning 本身不是乙個單獨的機器學習演算法,而是通過構建並結合多個機器學習器來完成學習任務。可以用於分類問題整合 回歸問題整合 特徵選取整合 異常點檢測整合等等,可以說所有的機器學習領域都可以看到整合學習的身影。整合學習思想 對於訓練集資料,通過訓練若干...