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以外,还不得不提“交叉验证”的方法,如果想使用均方误差作为模型的衡量指标,就要使用交叉验证;之后会写一篇“交叉验证”的介绍

你可能感兴趣的:(机器学习,sklearn)