對於整合學習,由於是多個基學習期共同作用結果,因此在做引數調節時候就有基學習器的引數和整合學習的引數兩類
在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)
(clf.best_params_)
#再使用網格搜尋來確定決策樹的引數
clf2 = gridsearchcv(randomforestclassifier(n_estimators=11),param_grid=())
clf2.fit(x_train,y_train)
(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 本身不是乙個單獨的機器學習演算法,而是通過構建並結合多個機器學習器來完成學習任務。可以用於分類問題整合 回歸問題整合 特徵選取整合 異常點檢測整合等等,可以說所有的機器學習領域都可以看到整合學習的身影。整合學習思想 對於訓練集資料,通過訓練若干...