Random Forest算法中的參數詳解

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

一、代碼怎么寫

[python]?view plaincopy
print?在CODE上查看代碼片派生到我的代碼片
  1. class?sklearn.ensemble.RandomForestClassifier(n_estimators=10,?crite-rion=’gini’,?max_depth=None,????
  2. min_samples_split=2,?min_samples_leaf=1,????
  3. min_weight_fraction_leaf=0.0,????
  4. max_features=’auto’,????
  5. max_leaf_nodes=None,?bootstrap=True,????
  6. oob_score=False,?n_jobs=1,?ran-dom_state=None,?verbose=0,????
  7. 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()處理。 ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456935.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456935.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456935.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python中自動化辦公 【筆記】

00讀取csv文件 import csv def readCsv(path):infolist []with open (path,"r") as f:allFileInfo csv.reader(f)print(allFileInfo)for row in allFileInfo:infolist.append(row)return infolistpath r"D:\xiazaipan\第1章 Python語言基礎\15、自動化辦公與…

Python爬蟲:一些常用的爬蟲技巧總結

1、基本抓取網頁 get方法 import urllib2 url "http://www.baidu.com" respons urllib2.urlopen(url) print response.read() post方法 import urllib import urllib2url "http://abcde.com" form {name:abc,password:1234} form_data urllib.urlenco…

微型計算機選用要點,微型計算機原理以及應用考試_new要點分析.doc

微型計算機原理以及應用第一章:1.微機的主要的特點是:(1)體積小、重量輕;(2)價格低廉;(3)可靠性高、結構靈活(4)應用面廣2.微型機的分類:按微處理器規模分類:單片機 、個人計算機、 …

到底什么是API經濟

編者按:這是一篇兩年前的文章,作者為原CA TECH的中國區技術總監。他在文章中闡述的問題,今天讀來依舊讓人振聾發聵。但遺憾的是,國人在API成為一種服務的概念上似乎還停留在遙遠的PC時代,說白了還都只是一些低端的數據…

解決Linux下vi或vim操作Found a swap file by the name

在linux下用vi或vim打開 文件時 E325: ATTENTION Found a swap file by the name ".1.py.swp" owned by: liu dated: Sat Apr 20 17:37:19 2019 file name: ~liu/1.py modified: YES user name: liu host name: localhos…

給未來的自己一封信計算機,給未來的自己的一封信范文(精選5篇)

給未來的自己的一封信范文(精選5篇)在日常生活或是工作學習中,大家總免不了要接觸或使用書信吧,書信一般包括稱呼、問候語、正文、祝語、署名、日期六個部分。你知道書信怎樣寫才規范嗎?下面是小編為大家收集的給未來的自己的一封信范文(精選…

matlab神經網絡函數

1.設計函數 solvein 設計線性網絡; solverb 設計徑向基網絡; solverbe 設計精確的徑向基網絡; solvehop 設計Hopfield網絡。 2.傳遞函數 hardlim 硬限幅傳遞函數; hardl…

GBDT算法簡介

在網上看到一篇GBDT介紹非常好的文章,GBDT大概是非常好用又非常好用的算法之一了吧(哈哈 兩個好的意思不一樣) GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一種迭代的決策樹算法,該算…

DevExpress Chart空間Y軸歸一化(線性歸一化函數)

數據的標準化(normalization)是將數據按比例縮放,使之落入一個小的特定區間。在某些比較和評價的指標處理中經常會用到,去除數據的單位限制,將其轉化為無量綱的純數值,便于不同單位或量級的指標能夠進行比較…

Linux samba的配置和使用

推薦局域網內使用 不推薦遠程服務器 一、安裝Samba服務 yum -y install samba # 查看yum源中Samba版本 yum list | grep samba # 查看samba的安裝情況 rpm -qa | grep samba Samba服務器安裝完之后, 會生成配置文件目錄/etc/samba, /etc/samba/smb.conf是samba的核心配置文件.…

23期PHP基礎班第四天

轉載于:https://www.cnblogs.com/lihang666/p/6078982.html

SVM和SVR簡介

1、支持向量機( SVM )是一種比較好的實現了結構風險最小化思想的方法。它的機器學習策略是結構風險最小化原則 為了最小化期望風險,應同時最小化經驗風險和置信范圍) 支持向量機方法的基本思想: ( 1 &#…

gojs實現最短路徑尋址實例

2019獨角獸企業重金招聘Python工程師標準>>> JS function init() {if (window.goSamples) goSamples(); // init for these samples -- you dont need to call thisvar $ go.GraphObject.make; // for conciseness in defining templatesmyDiagram $(go.Diagram,…

河南王牌計算機專業,河南計算機專業實力突出的7所大學,鄭大位列次席,榜首實至名歸...

鄭州大學是省內唯一的211建設高校,整體辦學實力在國內同類高校之中名列前茅,雖然沒有能夠在學科評估之中取得A類學科,但學校有化學、考古學、材料科學與工程等多個學科獲評B,學校計算機科學與技術學科取得了C的成績,雖…

Linux中配置ftp服務器

1. 先用rpm -qa| grep vsftpd命令檢查是否已經安裝,如果ftp沒有安裝,使用yum -y install vsftpd 安裝,(ubuntu 下使用apt-get install vsftpd) 2. service vsftpd start / service vsftpd restart 啟動要讓FTP每次開機自動啟動,運行命令:…

機器學習中各類算法的優缺點比較

1決策樹(Decision Trees)的優缺點 決策樹的優點: 一、 決策樹易于理解和解釋.人們在通過解釋后都有能力去理解決策樹所表達的意義。 二、 對于決策樹,數據的準備往往是簡單或者是不必要的.其他的技術往往要求先把數據一般化&am…

在程序開發中日志級別

日志打印可以查看代碼的執行情況,以及快速定位錯誤。 在代碼中,特別是業務層邏輯的代碼,適當的添加日志是必須的,一般在catch代碼塊中是出現異常的,如果需要打印 可以用error級別, 一般的無關緊要的日志&am…

基于Python搭建Django后臺管理系統

一、博客網站的創建 創建項目 生成站點(sites)Model,這兩步驟第一篇有介紹,這里就直接操作了 二、數據庫配置 介紹一下數據庫的配置就是在setting里面配置鏈接的數據庫,這里系統以及配置好了,鏈接一個…

計算機研究所專業課,【擇校必看】十三所計算機專業課只考數據結構的985院校!...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓敲黑板:本文涉及到的學校計算機專業考研只考數據結構,其中部分院校同時也會考算法、C語言等相關內容。但是,相對其他幾門,無疑在專業課的復習上大大降低了難度。如果各位同學目前的專…

在Python2.7下如何安裝TA-lib庫

最近在做一個關于股票預測的模型,由于想要用Talib庫中的方法,來提取各種金融技術指標,所以就下了這個庫。但整個過程可謂是一波三折。花費了大半天才搞定這件事。 下面來給大家分享一下安裝的步驟,省的大家再往這個坑里跳。。。 …