sklearn隨機(jī)森林的參數(shù)有哪些

這篇文章主要介紹“sklearn隨機(jī)森林的參數(shù)有哪些”,在日常操作中,相信很多人在sklearn隨機(jī)森林的參數(shù)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”sklearn隨機(jī)森林的參數(shù)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

德令哈ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!

隨機(jī)森林


      隨機(jī)森林是一個(gè)元估計(jì)器,它適合數(shù)據(jù)集的各個(gè)子樣本上的多個(gè)決策樹(shù)分類(lèi)器,并使用平均值來(lái)提高預(yù)測(cè)精度和控制過(guò)度擬合。子樣本大小始終與原始輸入樣本大小相同,但如果bootstrap = True(默認(rèn)值),則會(huì)使用替換來(lái)繪制樣本。
先看這個(gè)類(lèi)的參數(shù):

class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion='gini', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=1, random_state=None, verbose=0, warm_start=False, class_weight=None)

代碼舉例:

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import make_classification

X, y = make_classification(n_samples=1000, n_features=4,
                           n_informative=2, n_redundant=0,
                           random_state=0, shuffle=False)
clf = RandomForestClassifier(max_depth=2, random_state=0)
clf.fit(X, y)
RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',
           max_depth=2, max_features='auto', max_leaf_nodes=None,
           min_impurity_decrease=0.0, min_impurity_split=None,
           min_samples_leaf=1, min_samples_split=2,
           min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,
           oob_score=False, random_state=0, verbose=0, warm_start=False)
print(clf.feature_importances_)
[ 0.17287856  0.80608704  0.01884792  0.00218648]
print(clf.predict([[0, 0, 0, 0]]))
[1]

具體參數(shù)意義如下:
參數(shù):

  • n_estimators :森林里(決策)樹(shù)的數(shù)目
    integer, optional (default=10) 整數(shù),可選擇(默認(rèn)值為10)

  • criterion : string, optional (default=”gini”) 字符串,可選擇(默認(rèn)值為“gini”)。
    衡量分裂質(zhì)量的性能(函數(shù))。受支持的標(biāo)準(zhǔn)是基尼不純度的"gini",和信息增益的"entropy"(熵)。
    注意:這個(gè)參數(shù)是特定樹(shù)的。

  • max_features : int, float, string or None, optional (default=”auto”) 整數(shù),浮點(diǎn)數(shù),字符串或者無(wú)值,可選的(默認(rèn)值為"auto")
    尋找最佳分割時(shí)需要考慮的特征數(shù)目:
    &如果是int,就要考慮每一次分割處的max_feature特征
    &如果是float,那么max_features就是一個(gè)百分比,那么(max_feature*n_features)特征整數(shù)值是在每個(gè)分割處考慮的。
    &如果是auto,那么max_features=sqrt(n_features),即n_features的平方根值。
    &如果是log2,那么max_features=log2(n_features)
    &如果是None,那么max_features=n_features
    注意:尋找分割點(diǎn)不會(huì)停止,直到找到最少一個(gè)有效的節(jié)點(diǎn)劃分區(qū),即使它需要有效檢查超過(guò)max_features的特征。

  • max_depth : integer or None, optional (default=None) 整數(shù)或者無(wú)值,可選的(默認(rèn)為None)
    (決策)樹(shù)的最大深度。如果值為None,那么會(huì)擴(kuò)展節(jié)點(diǎn),直到所有的葉子是純凈的,或者直到所有葉子包含少于min_sample_split的樣本。

  • min_samples_split : int, float, optional (default=2) 整數(shù),浮點(diǎn)數(shù),可選的(默認(rèn)值為2)
    分割內(nèi)部節(jié)點(diǎn)所需要的最小樣本數(shù)量:
    ~如果為int,那么考慮min_samples_split作為最小的數(shù)字。
    ~如果為float,那么min_samples_split是一個(gè)百分比,并且把ceil(min_samples_split*n_samples)是每一個(gè)分割最小的樣本數(shù)量。
    在版本0.18中更改:為百分比添加浮點(diǎn)值。

  • min_samples_leaf : int, float, optional (default=1) 整數(shù),浮點(diǎn)數(shù),可選的(默認(rèn)值為1)
    需要在葉子結(jié)點(diǎn)上的最小樣本數(shù)量:
    ~如果為int,那么考慮min_samples_leaf作為最小的數(shù)字。
    ~如果為float,那么min_samples_leaf為一個(gè)百分比,并且ceil(min_samples_leaf*n_samples)是每一個(gè)節(jié)點(diǎn)的最小樣本數(shù)量。
    在版本0.18中更改:為百分比添加浮點(diǎn)值。

  • min_weight_fraction_leaf : float, optional (default=0.) 浮點(diǎn)數(shù),可選的(默認(rèn)值是0.0)
    一個(gè)葉子節(jié)點(diǎn)所需要的權(quán)重總和(所有的輸入樣本)的最小加權(quán)分?jǐn)?shù)。當(dāng)sample_weight沒(méi)有提供時(shí),樣本具有相同的權(quán)重

  • max_leaf_nodes : int or None, optional (default=None) 整數(shù)或者無(wú)值,可選的(默認(rèn)值為None)
    以最優(yōu)的方法使用max_leaf_nodes來(lái)生長(zhǎng)樹(shù)。最好的節(jié)點(diǎn)被定義為不純度上的相對(duì)減少。如果為None,那么不限制葉子節(jié)點(diǎn)的數(shù)量。

  • min_impurity_split : float, 浮點(diǎn)數(shù)
    樹(shù)早期生長(zhǎng)的閾值。如果一個(gè)節(jié)點(diǎn)的不純度超過(guò)閾值那么這個(gè)節(jié)點(diǎn)將會(huì)分裂,否則它還是一片葉子。

  • min_impurity_decrease : float, optional (default=0.) 浮點(diǎn)數(shù),可選的(默認(rèn)值為0)

  • bootstrap : boolean, optional (default=True) 布爾值,可選的(默認(rèn)值為T(mén)rue)建立決策樹(shù)時(shí),是否使用有放回抽樣。

  • oob_score : bool (default=False) bool,(默認(rèn)值為False)是否使用袋外樣本來(lái)估計(jì)泛化精度。

  • n_jobs : integer, optional (default=1) 整數(shù),可選的(默認(rèn)值為1)用于擬合和預(yù)測(cè)的并行運(yùn)行的工作(作業(yè))數(shù)量。如果值為-1,那么工作數(shù)量被設(shè)置為核的數(shù)量。

  • random_state : int, RandomState instance or None, optional (default=None) 整數(shù),RandomState實(shí)例,或者為None,可選(默認(rèn)值為None)RandomStateIf int,random_state是隨機(jī)數(shù)生成器使用的種子; 如果是RandomState實(shí)例,random_state就是隨機(jī)數(shù)生成器; 如果為None,則隨機(jī)數(shù)生成器是np.random使用的RandomState實(shí)例。

  • verbose : int, optional (default=0) 整數(shù),可選的(默認(rèn)值為0)控制決策樹(shù)建立過(guò)程的冗余度。

  • warm_start : bool, optional (default=False) 布爾值,可選的(默認(rèn)值為False)當(dāng)被設(shè)置為T(mén)rue時(shí),重新使用之前呼叫的解決方案,用來(lái)給全體擬合和添加更多的估計(jì)器,反之,僅僅只是為了擬合一個(gè)全新的森林。

  • class_weight : dict, list of dicts, “balanced”, 字典,字典序列,"balanced"

屬性:

  • estimators_ : list of DecisionTreeClassifier 決策樹(shù)分類(lèi)器的序列,擬合的子估計(jì)器的集合。

  • classes_ : array of shape = [n_classes] or a list of such arrays 數(shù)組維度=[n_classes]的數(shù)組或者一個(gè)這樣數(shù)組的序列。類(lèi)別標(biāo)簽(單一輸出問(wèn)題),或者類(lèi)別標(biāo)簽的數(shù)組序列(多輸出問(wèn)題)。

  • n_classes_ : int or list 整數(shù)或者序列,類(lèi)別的數(shù)量(單輸出問(wèn)題),或者一個(gè)序列,包含每一個(gè)輸出的類(lèi)別數(shù)量(多輸出問(wèn)題)

  • n_features_ : int 整數(shù),執(zhí)行擬合時(shí)的特征數(shù)量

  • n_outputs_ : int 整數(shù),執(zhí)行擬合時(shí)的輸出數(shù)量。

  • feature_importances_ : array of shape = [n_features] 維度等于n_features的數(shù)組,特征的重要性(值越高,特征越重要)

  • oob_score_ : float 浮點(diǎn)數(shù),使用袋外估計(jì)獲得的訓(xùn)練數(shù)據(jù)集的得分。

  • oob_decision_function_ : array of shape = [n_samples, n_classes] 維度=[n_samples,n_classes]的數(shù)組,在訓(xùn)練集上用袋外估計(jì)計(jì)算的決策函數(shù)。如果n_estimators很小的話,那么在有放回抽樣中,一個(gè)數(shù)據(jù)點(diǎn)也不會(huì)被忽略是可能的。在這種情況下,oob_decision_function_ 可能包括NaN。

注意點(diǎn):

參數(shù)的默認(rèn)值控制決策樹(shù)的大?。ɡ?,max_depth,,min_samples_leaf等等),導(dǎo)致完全的生長(zhǎng)和在某些數(shù)據(jù)集上可能非常大的未修剪的樹(shù)。為了降低內(nèi)容消耗,決策樹(shù)的復(fù)雜度和大小應(yīng)該通過(guò)設(shè)置這些參數(shù)值來(lái)控制。

這些特征總是在每個(gè)分割中隨機(jī)排列。 因此,即使使用相同的訓(xùn)練數(shù)據(jù),max_features = n_features和bootstrap = False,如果在搜索最佳分割期間所列舉的若干分割的準(zhǔn)則的改進(jìn)是相同的,那么找到的最佳分割點(diǎn)可能會(huì)不同。為了在擬合過(guò)程中獲得一個(gè)確定的行為,random_state將不得不被修正。

方法:

apply(X)   Apply trees in the forest to X, return leaf indices.
decision_path(X)   Return the decision path in the forest
fit(X, y[, sample_weight])     Build a forest of trees from the training set (X, y).
get_params([deep])    Get parameters for this estimator.
predict(X)     Predict class for X.
predict_log_proba(X)     Predict class log-probabilities for X.
predict_proba(X)      Predict class probabilities for X.
score(X, y[, sample_weight])      Returns the mean accuracy on the given test data and labels.
set_params(**params)     Set the parameters of this estimator.

到此,關(guān)于“sklearn隨機(jī)森林的參數(shù)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)頁(yè)標(biāo)題:sklearn隨機(jī)森林的參數(shù)有哪些
鏈接地址:http://bm7419.com/article46/jdeeeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、小程序開(kāi)發(fā)品牌網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、域名注冊(cè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)