CV&DTR
交叉验证
当数据不足时,为选择更优的模型,可进行交叉验证Cross-validation,重复使用数据。交叉验证也可用于观察模型的稳定性。将数据集分为n份,其中1份为测试集,n-1份为训练集,对模型进行交叉验证n次,对n次的评价结果求平均值,作为对模型效果的度量。
from sklearn.model_selection import cross_val_score
regressor = DecisionTreeRegressor(random_state=0)#实例化
cross_val_score(regressor, boston.data, boston.target, cv=10
,scoring = "neg_mean_squared_error")#这里实例化模型可以是回归树,分类树,随机森林,训练集测试集不用自己划分,数据分为cv份
其中,scoring表示评价计算方式,分类树的scoring默认为score(准确度accuracy),回归树默认返回R2. neg_mean_squared_error表示负的平方差MSE.
维度改变
- .ravel()
数据降一维 - [:,np.newaxis] / [np.newaxis,:]
增维,n行1列 / 1列n行 - reshape()
回归树DTR
对于标签为连续型的数据,建立回归树。
DecisionTreeRegressor(ccp_alpha=0.0, criterion=‘mse’, max_depth=5,
max_features=None, max_leaf_nodes=None,
min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=2,
min_weight_fraction_leaf=0.0, presort=‘deprecated’,
random_state=None, splitter=‘best’)
#x, y, x_test由自己给出
from sklearn.tree import DecisionTreeRegressor
dtr = DecisionTreeRegressor()
dtr.fit(x, y)
y_predict = dtr.predict(x_test)