sklearn的DecisionTreeRegressor 迴歸樹

  • DecisionTreeRegressor

class sklearn.tree.DecisionTreeRegressor (criterion=’mse’, splitter=’best’, max_depth=None,
min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None,
random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, presort=False)

與分類樹對比:

  1. criterion參數取值不同;
  2. 迴歸樹種,沒有標籤分佈是否均衡的問題,所以沒有目標權重的參數;
  3. 屬性及接口都和分類樹的功能一模一樣;但是實現方式略有不同
  • criterion 參數:迴歸樹衡量分枝質量的指標

支持的標準有三種:
1)criterion=“mse”:使用均方誤差mean squared error(MSE),父節點和葉子節點之間的均方誤差的差額將被用來作爲特徵選擇的標準,這種方法通過使用葉子節點的均值來最小化L2損失
2)criterion=“friedman_mse”:使用費爾德曼均方誤差,這種指標使用弗裏德曼針對潛在分枝中的問題改進後的均方誤差
3)criterion=“mae”:使用絕對平均誤差MAE(mean absolute error),這種指標使用葉節點的中值來最小化L1損失

  • score接口:衡量模型好壞程度

在DecisionTreeClassifier中,這個接口返回的是“模型的準確度”;而在DecisionTreeRegressor中,這個接口返回的是“R平方”(此處不對什麼是R平方解釋),但是雖然稱爲“R平方”但是可以取值可以爲正爲負(如果模型的殘差平方和 > 模型的總平方和,模型非常糟糕,R平方就會爲負),R方越接近1越好。

說明:

對於迴歸樹來說,衡量模型好不好除了使用接口score以外,還不得不提“交叉驗證”的方法,如果想使用均方誤差作爲模型的衡量指標,就要使用交叉驗證;之後會寫一篇“交叉驗證”的介紹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章