交叉验证cross_val_score

回归树:交叉验证

本文仅用作学习记录 及分享,有不对的地方还请指正,谢谢!
交叉验证是用来观察模型的稳定性的一种方法,我们将数据划分为n份,依次使用其中一份作为测试集,其他n-1份作为训练集,多次计算模型的精确性来评估模型的平均准确程度。训练集和测试集的划分会干扰模型的结果,因此用交叉验证n次的结果求出的平均值,是对模型效果的一个更好的度量。

简单来看看回归树是怎么样工作的

from sklearn.datasets import load_boston
from sklearn.model_selection import cross_val_score
from sklearn.tree import DscisionTreeRegressor

boston = load_boston()
reg = DecisionTreeRegressor(random_state=0)
cross_val_score(regressor,boston.data,boston.target,cv=10,scoring = 'neg_mean_squared_error') 

DecisionTreeRegressor

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

几乎所有参数,属性及接口都和分类树一摸一样。需要注意的是,在回归树中,没有标签分布是否均衡的问题,因此没有class_weight这样的参数

介绍交叉验证函数

cross_val_score()
第一个位置可以是任何模型,包括分类树,回归树,随机森林等。
第二个是所有特征数据,这里不用分训练集和测试集
第三个是所有标签数据。
第四个是划分份数n,这里cv=10是将数据集分了10份。
第五个是返回的衡量指标,默认是R平方,这里是的neg_mean_squared_error是负均方误差

实例在泰坦尼克号幸存者的预测中有涉及

你可能感兴趣的:(python,人工智能)