DecisionTreeRegressor
1 | class sklearn.tree.DecisionTreeRegressor(criterion=’mse’, splitter=’best’, |
- 幾乎所有參數、屬性、接口都和分類樹相同
- 回歸樹沒有標籤分佈是否均衡的問題
- 因此沒有
class_weight
這樣的參數
- 因此沒有
重要參數
criterion
回歸樹衡量分枝質量的指標,支持的標準有三種
"mse"
: 使用均方誤差(mean squared error)- 父節點和葉子節點之間均方誤差之差額被用作特徵選擇的標準
- 使用葉子節點的平均值來最小化L2損失
"friedman_mse"
:費爾德曼均方誤差- 對潛在分枝問題進行改進的另一種計算均方誤差的方法
"mae"
:使用絕對平均誤差(mean absolute error)- 使用葉子節點的中位數來最小化L1損失
Mean Squared Error(MSE)
- $f_i$:是模型回歸出的數值
- $y_i$:是樣本點$i$實際的數值標籤
重要接口
score
回歸樹中恆量指標,返回的是$R^2$,並不是MSE
- $R^2$範圍為1至負無窮大
tips
- 在回歸樹中,MSE是分枝質量衡量指標
- 在回歸樹中,MSE是最常使用回歸質量衡量指標
- 使用交叉驗證(cross_validation)時,通常選擇均方誤差作為評估
cross_val_score(regressor,data,target,cv=10,scoring="neg_mean_squared_error")
scoring
不指定的話,預設返回的是$R^2$
- 在回歸模型中,MSE越小越好
結論
如果樹的最大深度(max_depth
)設置得太高,決策樹會學習的太精細
- 從訓練數據中學了太多細節(包括noise)
- 使模型偏離真實欲表達得曲線,變成過擬合