决策树分类方法的特点?
决策树是?种树形结构,其中每个内部节点表??个属性上的测试,每个分?代表?个测试输出,每个叶节点代表?种类别。决策树(Decision Tree)是在已知各种情况发?概率的基础上,通过构成决策树来求取净现值的期望值?于等于...易康采用的面向对象分类,跟决策树不一样的。最大似然法属于非监督分类,概念完全不同 决策树是?种树形结构,其中每个内部节点表??个属性上的测试,每个分?代表?个测试输出,每个叶节点代表?种类别。决策树(Decision Tree)是在已知各种情况发?概率的基础上,通过构成决策树来求取净现值的期望值?于等于...易康采用的面向对象分类,跟决策树不一样的。最大似然法属于非监督分类,概念完全不同 参考文档参考文档参考文档参考文档参考文档参考文档参考文档参考文档参考文档参考文档
决策树的使用之分类树
5.2 决策树的基本流程可以简单概括为: 5.3 DecisionTreeClassifier参数之random_state & splitter random_state用来设置分枝中随机模式的参数,默认为none,在高维度时随机性会表现更明显。输入任意整数,会一直长出同一棵树,让模型稳定下来。 splitter有两种输入值,输入”best",决策树在分枝时虽然随机,但是还是会优先选择更重要的特征进行分枝(重要性可以通过属性feature_importances_查看),输入“random",决策树在分枝时会更加随机,树会因为含有更多的不必要信息而更深更大,并因这些不必要信息而降低对训练集的拟合。这也是防止过拟合的一种方式。当你预测到你的模型会过拟合,用这两个参数来帮助你降低树建成之后过拟合的可能性。当然,树一旦建成,我们依然是使用剪枝参数来防止过拟合。 5.4 剪枝参数 我们收集的样本数据不可能和整体的状况完全一致,因此当一棵决策树对训练数据有了过于优秀的解释性,它找出的规则必然包含了训练样本中的噪声,并使它对 未知数据 的拟合程度不足。(过拟合指的是在训练集上表现很好,在测试集上却表现糟糕) 为了让决策树有更好的泛化性,我们要对决策树进行剪枝。剪枝策略对决策树的影响巨大,正确的剪枝策略是优化决策树算法的核心。sklearn为我们提供了不同的剪枝策略: 5.4.1 max_depth 限制树的最大深度,超过设定深度的树枝全部剪掉。这是用得最广泛的剪枝参数,在高维度低样本量时非常有效。 5.4.2 min_samples_leaf min_samples_leaf 限定,一个节点在分枝后的每个子节点都必须包含至少min_samples_leaf个训练本,否则分枝就不会发生,或者分枝会朝着满足每个子节点都包含min_samples_leaf个样本的方向去发生。一般搭配max_depth使用,在回归树中有神奇的效果,可以让模型变得更加平滑。这个参数的数量设置得太小会引起过拟合,设置得太大就会阻止模型学习数据。一般来说,建议从=5开始使用。如果叶节点中含有的样本量变化很大,建议输入浮点数作为样本量的百分比来使用。对于类别不多的分类问题,=1通常就是最佳选择。 5.4.3 min_samples_split min_samples_split限定,一个节点必须要包含至少min_samples_split个训练样本,这个节点才允许被分枝,否则分枝就不会发生。 5.4.4 max_features max_features限制分枝时考虑的特征个数,超过限制个数的特征都会被舍弃。和max_depth异曲同工,max_features是用来限制高维度数据的过拟合的剪枝参数,但其方法比较暴力,是直接限制可以使用的特征数量而强行使决策树停下的参数,在不知道决策树中的各个特征的重要性的情况下,强行设定这个参数可能会导致模型学习不足。如果希望通过降维的方式防止过拟合,建议使用PCA,ICA或者特征选择模块中的降维算法。 5.4.5 min_impurity_decrease min_impurity_decrease限制信息增益的大小,信息增益小于设定数值的分枝不会发生。这是在0.19版本种更新的功能,在0.19版本之前时使用min_impurity_split。 5.4.6 确认最优的剪枝参数 我们要使用确定超参数的曲线来进行判断了,继续使用我们已经训练好的决策树模型clf。超参数的学习曲线,是一条以超参数的取值为横坐标,模型的度量指标为纵坐标的曲线,它是用来衡量不同超参数取值下模型的表现的线。在我们建好的决策树里,我们的模型度量指标就是score。 5.5 目标权重参数 5.5.1 class_weight 完成样本标签平衡的参数。样本不平衡是指在一组数据集中,标签的一类天生占有很大的比例。因此我们要使用class_weight参数对样本标签进行一定的均衡,给少量的标签更多的权重,让模型更偏向少数类,向捕获少数类的方向建模。该参数默认None,此模式表示自动给与数据集中的所有标签相同的权重。 5.5.2 min_weight_fraction_leaf 有了权重之后,样本量就不再是单纯地记录数目,而是受输入的权重影响了,因此这时候剪枝,就需要搭配min_ weight_fraction_leaf这个基于权重的剪枝参数来使用。如果样本是加权的,则使用基于权重的预修剪标准来更容易优化树结构,这确保叶节点至少包含样本权重的总和的一小部分。 5.6 红酒数据实例 1)加载红酒数据集 2)查看标签数据 3)查看标签名称 4)划分训练集和测试集,random_state可以使拆分出的训练集、测试集是相同的 5)建立决策树,训练模型 6)导出决策树结构 7)查看每个特征的重要性