日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scikit_learn 官方文档翻译(集成学习)

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scikit_learn 官方文档翻译(集成学习) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.11. Ensemble methods(集成學習)

目標:

相對于當個學習器,集成學習通過使用多個基學習器的預測結果來來提高學習預測的泛化性能以及魯棒性;

集成學習的兩個思路:

1)、通過使用并行的學習,得到多個學習模型然后取其平均結果目的在于減少方差,代表算法有隨機森林。通常來說多個學習器的集成要比單個學習器的效果要好多。

2)、采用串行的方式生成多個學習器目的在于減少偏差(bias),使用多個弱分類器組合成為一個強分類器,代表算法adaBoosting以及boosting tree、GDBT。

1.11.1. Bagging meta-estimator

集成學習中,bagging方法使用訓練集的一個隨機子集來進行訓練多個黑盒分類器,然后將不同的黑盒分類器集成到一起得到一個最終的預測模型。在生成訓練模型的過程中引入隨機化并在最后集成結果的方式可以減少整個訓練模型的方差,同時不用因為底層的學習器的不同而發生改變。隨機森林通過引入隨機性來避免過擬合因此在生成基學習器時可以考慮完成生成即基學習器越強越好,對于boosting的方法則是相反,要求基學習器要弱一點才好。(boosting減少偏差,因為越強越吻合3反而容易出現過擬合)。

隨機森林根據訓練數據不同的生成方式包括一下:

1)、又放回的抽取,稱作bagging

2)、針對特征進行隨機化,成為隨機子空間random subspace

3)、針對特征和樣本都做隨機化,稱為隨機patchs(補丁、塊)

4)、隨機抽取樣本,稱為 Pasting

scikit-learn框架中,sklearn.ensemble中有BaggingClassifier和BaggingRegres?sor兩個對象可以實現Bagging方法。方法中可以通過參數指定模型使用基學習器的類型,以及抽取子集的策略。通用的參數為一下幾個參數:

max_sample:指定隨機子集的規模;小于1表示比例,大于1則為樣本數

max_features:指定訓練數據的特征規模;小于1表示比例,大于1則為樣本數

boostrap:指定是否又放回的抽樣;true/false;

boostrap_features:指定特征是否又放回的抽樣;true/false;

oob_score = true:表示使用帶外數據衡量泛化能力,數據越大越好;

一下實例中基學習器采用K近鄰算法,樣本規模為原樣本的50%,特征為50%

from sklearn.ensemble import BaggingClassifier from sklearn.neighbors import KNeighborsClassifier bagging = BaggingClassifier(KNeighborsClassifier(),max_samples=0.5, max_features=0.5) View Code

1.11.2. Forests of randomized trees

基于隨機化的決策樹算法,sklearn.ensemble包含了兩種平均結果的算法:隨機森林和Extra-Tree。在構建分類器時通過引入隨機性生成了一系列不相同的樹,然后將不同的分類樹的結果進行平均作為最終的輸出結果。

樹算法的訓練和其他的算法一樣,都是使用兩個數組作為參數:X承載訓練特征, Y承載訓練數據的標簽值。如下例所示:

from sklearn.ensemble import RandomForestClassifier X = [[0, 0], [1, 1]] Y = [0, 1] clf = RandomForestClassifier(n_estimators=10) clf = clf.fit(X, Y) View Code

如果擴展成為多分類的問題,那么將Y擴展成為[n_samples, outputs]

1.11.2.1. Random Forests

隨機森林的使用主要包括這兩個類:RandomForestClassifier?and?RandomForestRegressor;一個負責分類一個負責回歸。在隨機森林生成過程中數據采用又放回的抽取,同時在選擇劃分時選中的劃分只是在相應的特征子集上的最優而不是全部特征的最優,這樣就會使得最終的bias會有所增大,但是通過多棵樹的平均使得方差varience減少很多,因此這種方法還是很有效的。在最終預測結果時,現有版本采取的方式是平均所有類別的輸出的概率,然后選擇最大的輸出(只在最后產生一個結果),拋棄了原有的對類別的投票(在每棵樹上都有一個分類結果);

1.11.2.2. Extremely Randomized Trees(省略)應該是計算劃分點的計算方式發生變化。

1.11.2.3. Parameters

n_estimators:生成的基學習器的數量,越多越好,但是越費時間;

max_features:抽樣后樣本的最大值,在回歸問題中一般直接等于原有的特征數,在分類問題中一般采用sqrt(原有特征);

max_depth=None:生成基學習器樹的最大深度;

min_samples_split=1:選擇劃分最小的樣本數,越小生成的樹就越完全,通常和max_depth搭配使用產生一個發育完全的樹;

bootstrap=False:同上面說的;

oob_score = true:同上(當然在使用又放回抽樣時使用);

n_jobs = k:設置并行化計算參數,任務被分成k分,使用機器的k個核心計算,當k=1時使用機器的全部核心,可以提升計算速度,但是不是線性關系。

1.11.2.5. Feature importance evaluation

在決策樹的生成過程中特征使用的先后順序可以作為一個特征相對重要性判斷的一個指標,越先使用的特征對結果的貢獻就越大因次該特征也就相對來說比較重要,因此可以使用該特征對最后結果的貢獻度來表示該特征的相對重要性。

在實際的使用中,使用feature_importances_屬性來存儲每個特征的重要性指標,維度就是特征的數量,其總和為1;

轉載于:https://www.cnblogs.com/daguankele/p/6706651.html

總結

以上是生活随笔為你收集整理的scikit_learn 官方文档翻译(集成学习)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。