决策分类树的重要剪枝参数设置
criterion
决策树叶子节点信息熵的计算标准:1.‘gini’ 2.‘entropy’ 默认gini
random_state
随机数种子 设置之后随机性确定(不具有随机性)
max_depth(剪枝的重要参数)
限制树的最大深度
实际使用时,建议从=3开始尝试,看看拟合的效果再决定是否增加设定深度。
min_sample_leaf
叶子节点的最小样本数
当叶子节点的样本数少于该参数设置时,叶子节点直接裁剪
一般来说,建议从=5开始使用。如果叶节点中含有的样本量变化很
大,建议输入浮点数作为样本量的百分比来使用。同时,这个参数可以保证每个叶子的最小尺寸,可以在回归问题中避免低方差,过拟合的叶子节点出现。对于类别不多的分类问题,=1通常就是最佳选择。
min_samples_split
内部节点再划分所需要的最小样本数,内部节点的样本数少于该参数设置时,不再进行叶子节点的划分。、
max_features
限制特征的个数,主要是降维,可以输入整数(个数),也可以输入浮点数(百分比)
min_impurity_decrease
叶子节点划分的最小不纯度,小于该值时,不再进行划分节点
一般max_depth使用,用作树的”精修“
max_features限制分枝时考虑的特征个数,超过限制个数的特征都会被舍弃。和max_depth异曲同工,
max_features是用来限制高维度数据的过拟合的剪枝参数,但其方法比较暴力,是直接限制可以使用的特征数量而强行使决策树停下的参数,在不知道决策树中的各个特征的重要性的情况下,强行设定这个参数可能会导致模型
学习不足。如果希望通过降维的方式防止过拟合,建议使用PCA,ICA或者特征选择模块中的降维算法。
决策分类树的属性和接口
接口
clf.fit(xtrain,ytrain)
clf.predict(x,y)
clf,apply(xtest)
apply会将生成的决策树的叶子节点索引返回
clf.score()会返回决策树的R^2分数(越接近1越好)
属性
clf.feature_importances_ 返回各个特征的重要性系数
决策回归树的重要参数设置
criterion
1.mse 2.friedman_mse 3.mae
其他参数、属性、接口和分类树一致,功能也大同小异
points
1.data[‘特征’].apply(lambda x: x+1)
对特征的列全部+1 还有data[‘特征’].applymap()的方法,可以对整个data的所有数据进行处理
2.[*range(1,10]和[i for i in range(1,10]的效果是一样的
3.网格搜索GridSearchCV
输入参数 parameters model cv=n
属性best_score_
best_params_