1.核心思想

從數據集中找到一個最優特徵,再從這個最優特徵的所有取值中找到一個最優取值,根據這個最優取值將數據集分成兩個子集,不斷重複以上操作,直到滿足指定條件為止。

a.最優特徵選擇的方法:信息增益、信息增益率、Gini指數、卡方檢驗

b.最優取值的作用:減少敏感度,減少出錯

c.停止條件:控制葉節點、樹的最大深度、葉節點純度、分裂次數、最大特徵數

決策樹的構建是一種貪婪演算法,屬於局部最優

2.

(1)ID3演算法:

由信息增益(給定的特徵,對數據集不確定性減少的程度)選擇最優特徵

缺點:a.偏向於選擇取值種類很多的特徵作為最優特徵

b.只能處理類別型的特徵

c.不能處理缺失值

(2)C4.5演算法:

由信息增益率( frac{信息增益}{數據集D關於特徵A的值的熵H_{A}(D)} )選擇最優特徵

優點:a.可以處理類別型的特徵和連續型的特徵(原理:先對連續值進行排序,再選取一個點將連續值分成兩部分,並且分裂前後的信息增益率要最大)

b.可以處理缺失值(原理:用特徵所有取值的概率表示缺失值的可能取值)

缺點:時間花費長

(3)CART演算法

分類由基尼指數gini(表示一件事物的不確定性,基尼指數越大不確定性越大)選擇最優特徵

回歸由均方差mse選擇最優特徵

生成的一定是二叉樹

對缺失值:找一個替代數據填充

3.防止過擬合

(1)剪枝

(2)K-Fold

(3)正則化

(4)隨機森林

from sklearn import RandomForestClassifier(分類)

from sklearn import RandomForestRegressor(回歸)

調參:(詳見blog.csdn.net/CherDW/ar

1.Bagging框架參數:

主要是n_estimators:表示森林裡樹的個數。

2.決策樹參數:

主要有5個

a. max_features:劃分時選擇的最大特徵數

回歸問題:max_features=n_features;分類問題:max_features=sqrt(n_features)

b. max_depth:決策樹的最大深度,常用的可以取值10-100之間

c. min_samples_split:內部節點再劃分所需的最小樣本數,小於這個值則不會再劃分

d. min_samples_leaf:葉子節點最小樣本數,小於這個值則會被剪枝

步驟:

a.先確定n_estimators

b.再對max_depth和min_samples_split聯合調參,確定max_depth

c.然後對min_samples_split和min_samples_leaf聯合調參

d.最後對max_features調參

推薦閱讀:

相关文章