国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現隨機森林random forest的原理及方法

2020-02-16 11:16:15
字體:
來源:轉載
供稿:網友

引言

想通過隨機森林來獲取數據的主要特征

1、理論

隨機森林是一個高度靈活的機器學習方法,擁有廣泛的應用前景,從市場營銷到醫療保健保險。 既可以用來做市場營銷模擬的建模,統計客戶來源,保留和流失。也可用來預測疾病的風險和病患者的易感性。

根據個體學習器的生成方式,目前的集成學習方法大致可分為兩大類,即個體學習器之間存在強依賴關系,必須串行生成的序列化方法,以及個體學習器間不存在強依賴關系,可同時生成的并行化方法;

前者的代表是Boosting,后者的代表是Bagging和“隨機森林”(Random
Forest)

隨機森林在以決策樹為基學習器構建Bagging集成的基礎上,進一步在決策樹的訓練過程中引入了隨機屬性選擇(即引入隨機特征選擇)。

簡單來說,隨機森林就是對決策樹的集成,但有兩點不同:

(2)特征選取的差異性:每個決策樹的n個分類特征是在所有特征中隨機選擇的(n是一個需要我們自己調整的參數)
隨機森林,簡單理解, 比如預測salary,就是構建多個決策樹job,age,house,然后根據要預測的量的各個特征(teacher,39,suburb)分別在對應決策樹的目標值概率(salary<5000,salary>=5000),從而,確定預測量的發生概率(如,預測出P(salary<5000)=0.3).

隨機森林是一個可做能夠回歸和分類。 它具備處理大數據的特性,而且它有助于估計或變量是非常重要的基礎數據建模。

參數說明:

最主要的兩個參數是n_estimators和max_features。

n_estimators:表示森林里樹的個數。理論上是越大越好。但是伴隨著就是計算時間的增長。但是并不是取得越大就會越好,預測效果最好的將會出現在合理的樹個數。

max_features:隨機選擇特征集合的子集合,并用來分割節點。子集合的個數越少,方差就會減少的越快,但同時偏差就會增加的越快。根據較好的實踐經驗。如果是回歸問題則:

max_features=n_features,如果是分類問題則max_features=sqrt(n_features)。

如果想獲取較好的結果,必須將max_depth=None,同時min_sample_split=1。
同時還要記得進行cross_validated(交叉驗證),除此之外記得在random forest中,bootstrap=True。但在extra-trees中,bootstrap=False。

2、隨機森林python實現

2.1Demo1

實現隨機森林基本功能

#隨機森林from sklearn.tree import DecisionTreeRegressor from sklearn.ensemble import RandomForestRegressor import numpy as np from sklearn.datasets import load_iris iris=load_iris() #print iris#iris的4個屬性是:萼片寬度 萼片長度 花瓣寬度 花瓣長度 標簽是花的種類:setosa versicolour virginica print(iris['target'].shape)rf=RandomForestRegressor()#這里使用了默認的參數設置 rf.fit(iris.data[:150],iris.target[:150])#進行模型的訓練 #隨機挑選兩個預測不相同的樣本 instance=iris.data[[100,109]] print(instance)rf.predict(instance[[0]])print('instance 0 prediction;',rf.predict(instance[[0]]))print( 'instance 1 prediction;',rf.predict(instance[[1]]))print(iris.target[100],iris.target[109])             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武鸣县| 宝丰县| 宣汉县| 高邮市| 贵阳市| 沁水县| 永仁县| 浑源县| 澄迈县| 绍兴市| 沅江市| 郴州市| 吉水县| 微山县| 潞西市| 崇礼县| 藁城市| 布尔津县| 绥江县| 教育| 临泉县| 永泰县| 柳河县| 宁海县| 延津县| 珲春市| 江陵县| 杨浦区| 尉犁县| 石景山区| 河曲县| 平果县| 普宁市| 涟源市| 新干县| 织金县| 榕江县| 青海省| 吕梁市| 吕梁市| 弥渡县|