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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

sklearn 随机森林(分类器、回归器)的重要参数、属性、方法理解

發布時間:2023/12/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sklearn 随机森林(分类器、回归器)的重要参数、属性、方法理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 隨機森林分類器
    • 引入
    • 重要參數
      • 1,n_estimators
      • 2,criterion
      • 3,max_depth
      • 4,min_samples_leaf
      • 5,min_samples_split
      • 7,max_features
      • 8,class_weight
      • 9,max_leaf_nodes
      • 10,oob_score
      • 11,verbose
    • 重要屬性
    • 重要方法
  • 隨機森林回歸器

隨機森林分類器

引入

from sklearn.ensemble import RandomForestClassifier # 全部參數 RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None,criterion='gini', max_depth=None, max_features='auto',max_leaf_nodes=None, max_samples=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=100,n_jobs=None, oob_score=False, random_state=None,verbose=0, warm_start=False)

重要參數

1,n_estimators

數值型參數,默認值為100,此參數指定了弱分類器的個數。設置的值越大,精確度越好,但是當 n_estimators 大于特定值之后,帶來的提升效果非常有限。

推薦的參數值為:[120, 300, 500, 800, 1200]

2,criterion

字符串類型,默認值為 ‘gini’。這個參數指定劃分子樹的評估標準:

  • ‘entropy’,使用基于信息熵的方法,即計算信息增益
  • ‘gini’,使用基尼系數(Gini Impurity)
  • **推薦設置為 ‘gini’,**因為(1)基尼系數的計算過程相對簡單,而計算信息增益需要進行對數運算。(2)使用信息增益作為劃分標準時,在使用高緯度數據或者噪聲很多的數據時容易過擬合。

    3,max_depth

    數值型,默認值None。這是與剪枝相關的參數,設置為None時,樹的節點會一直分裂,直到:(1)每個葉子都是“純”的;(2)或者葉子中包含?于min_sanples_split個樣本。

    推薦從 max_depth = 3 嘗試增加,觀察是否應該繼續加大深度。

    合適的取值可以是 [3, 5, 8, 15, 25, 30, None]

    如果max_leaf_nodes參數非None,則忽略此項

    4,min_samples_leaf

    數值型,默認值1,指定每個葉子結點包含的最少的樣本數。參數的取值除了整數之外,還可以是浮點數,此時(min_samples_leaf * n_samples)向下取整后的整數是每個節點的最小樣本數。
    此參數設置的過小會導致過擬合,反之就會欠擬合。調整過程:

  • 從min_samples_leaf=5開始上下調整。
  • 對于類別不多的分類問題,設置為1通常是合理的選擇。
  • 當葉節點包含樣本數量差異很大時,建議設置為浮點數。
  • 推薦的取值可以是:[1, 2, 5, 10]

    5,min_samples_split

    數值型,默認值2,指定每個內部節點(非葉子節點)包含的最少的樣本數。與min_samples_leaf這個參數類似,可以是整數也可以是浮點數。

    推薦的取值是:[1, 2, 5, 10, 15, 100]

    7,max_features

    可以為整數、浮點、字符或者None,默認值為None。此參數用于限制分枝時考慮的特征個數,超過限制個數的特征都會被舍棄。

  • 如果是整數,則每次切分只考慮max_features個特征。
  • 如果是浮點數,每次切分只考慮max_features*n_features個特征(max_features指定百分?)。
  • 如果是字符串‘auto’,則max_features等于n_features。
  • 如果是字符串‘sqrt’,則max_features等于sqrt(n_features)。
  • 如果是字符串‘log2’,則max_features等于log2(n_features)。
  • 如果是字符串None,則max_features等于n_features。
  • 推薦的取值為:[‘log2’, ‘sqrt’, None]

    8,class_weight

    可以是列表、字典、或者字符串’balanced’,還可以是默認值None。這個參數主要是用于樣本不平衡數據集,當設置為None時,所有類別樣本權重都為1。也可以利用列表或者字典手動設置各個類別樣本的權重,將樣本較少的類別賦予更大的權重。當設置為’balanced’時,會自動根據樣本出現的頻率計算權重,即 n_samples / (n_classes * np.bincount(y))
    推薦的設置為:[None, ‘balanced’]

    9,max_leaf_nodes

    數值型參數,默認值為None,即不限制最大葉子節點數。這個參數通過限制樹的最大葉子數量來防止過擬合,如果設置了一個正整數,則會在建立的最大葉節點內的樹中選擇最優的決策樹。如果特征不多,可以設置為None,否則可以設置為小于 2max_depth2^{max\_depth }2max_depth 的數值。

    10,oob_score

    bool類型參數,默認值為False,即是否采用袋外樣本來評估模型的好壞。個人推薦設置為True,因為袋外分數反應了一個模型擬合后的泛化能力。

    11,verbose

    數值類型,默認值為0,表示不輸出日志。如果為1,則每次迭代輸出一次日志。如果大于1,則每間隔 verbose 此迭代輸出一次日志。

    重要屬性

    1,feature_importances_ ,給出了各個特征對模型的重要性。

    2,oob_score_,訓練數據使用的包外數據的得分。

    重要方法

    1,fit(X,y) : 訓練模型。
    2,predict(X) : 用模型預測,返回預測值。
    3,predict_proba(X) : 返回一個數組,數組元素依次為各個樣本屬于各個類別的概率值。
    4,score(X, y) : 返回在(X, y)上預測的準確率(accuracy)。

    隨機森林回歸器

    引入方式如下:

    from sklearn.ensemble import RandomForestRegressor # 所有參數 RandomForestRegressor(bootstrap=True, ccp_alpha=0.0, criterion='mse',max_depth=None, max_features='auto', max_leaf_nodes=None,max_samples=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=100, n_jobs=None, oob_score=False,random_state=None, verbose=0, warm_start=False)

    其中,參數criterion 是字符串類型,默認值為 ‘mse’,是衡量回歸效果的指標。可選的還有‘mae’ 。

    除了criterion這個參數之外,其他參數、屬性、方法的含義與用法與上文提到的隨機森林分類器的參數基本一致。

    參考文章:

    sklearn.ensemble.RandomForestClassifier

    sklearn.ensemble.RandomForestRegressor

    SKlearn中分類決策樹的重要參數詳解

    總結

    以上是生活随笔為你收集整理的sklearn 随机森林(分类器、回归器)的重要参数、属性、方法理解的全部內容,希望文章能夠幫你解決所遇到的問題。

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