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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Random Forest(sklearn参数详解)

發布時間:2024/9/5 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Random Forest(sklearn参数详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

2016年08月17日 10:32:42 銘霏 閱讀數:36874 版權聲明:本文為博主原創文章,博主轉載請附加原文鏈接并聲明。 https://blog.csdn.net/u012102306/article/details/52228516

本篇不是介紹RF的,關于RF網上有很多通俗易懂的解釋
西瓜書與統計學習方法等很多教材中的解釋也都足夠
本篇僅針對如何使用sklearn中的RandomForestClassifier作記錄

一、代碼怎么寫

  • class sklearn.ensemble.RandomForestClassifier(n_estimators=10, crite-rion=’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, bootstrap=True,
  • oob_score=False, n_jobs=1, ran-dom_state=None, verbose=0,
  • warm_start=False, class_weight=None)
  • ?

    二、關于參數

    其中關于決策樹的參數:

    criterion: ”gini” or “entropy”(default=”gini”)是計算屬性的gini(基尼不純度)還是entropy(信息增益),來選擇最合適的節點。

    splitter: ”best” or “random”(default=”best”)隨機選擇屬性還是選擇不純度最大的屬性,建議用默認。

    max_features: 選擇最適屬性時劃分的特征不能超過此值。

    當為整數時,即最大特征數;當為小數時,訓練集特征數*小數;

    if “auto”, then max_features=sqrt(n_features).

    If “sqrt”, thenmax_features=sqrt(n_features).

    If “log2”, thenmax_features=log2(n_features).

    If None, then max_features=n_features.

    max_depth: (default=None)設置樹的最大深度,默認為None,這樣建樹時,會使每一個葉節點只有一個類別,或是達到min_samples_split。

    min_samples_split:根據屬性劃分節點時,每個劃分最少的樣本數。

    min_samples_leaf:葉子節點最少的樣本數。

    max_leaf_nodes: (default=None)葉子樹的最大樣本數。

    min_weight_fraction_leaf: (default=0) 葉子節點所需要的最小權值

    verbose:(default=0) 是否顯示任務進程

    關于隨機森林特有的參數:

    n_estimators=10:決策樹的個數,越多越好,但是性能就會越差,至少100左右(具體數字忘記從哪里來的了)可以達到可接受的性能和誤差率。?

    bootstrap=True是否有放回的采樣。 ?

    oob_score=Falseoob(out of band,帶外)數據,即:在某次決策樹訓練中沒有被bootstrap選中的數據。多單個模型的參數訓練,我們知道可以用cross validation(cv)來進行,但是特別消耗時間,而且對于隨機森林這種情況也沒有大的必要,所以就用這個數據對決策樹模型進行驗證,算是一個簡單的交叉驗證。性能消耗小,但是效果不錯。 ?

    n_jobs=1并行job個數。這個在ensemble算法中非常重要,尤其是bagging(而非boosting,因為boosting的每次迭代之間有影響,所以很難進行并行化),因為可以并行從而提高性能。1=不并行;n:n個并行;-1:CPU有多少core,就啟動多少job

    warm_start=False熱啟動,決定是否使用上次調用該類的結果然后增加新的。 ?

    class_weight=None各個label的權重。 ?


    進行預測可以有幾種形式:

    predict_proba(x):給出帶有概率值的結果。每個點在所有label的概率和為1. ?

    predict(x):直接給出預測結果。內部還是調用的predict_proba(),根據概率的結果看哪個類型的預測值最高就是哪個類型。 ?

    predict_log_proba(x):和predict_proba基本上一樣,只是把結果給做了log()處理。

    轉載于:https://www.cnblogs.com/fengff/p/10919741.html

    總結

    以上是生活随笔為你收集整理的Random Forest(sklearn参数详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

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