决策树是机器学习的一种算法,简要原理分析见上篇。
sklearn是python的一个机器学习框架,其中包含了很多机器学习算法的实现。模块提供了决策树模型,用于解决分类问题和回归问题。本次模型的实现是使用的DecisionTreeClassifier来构建决策树。
对于,可以看官网:.
对于DecisionTreeClassifier的参数说明,一共12个参数
1.criterion:特征选择标准,可选参数,默认是gini,可以设置为entropy。gini是基尼不纯度,是将来自集合的某种结果随机应用于某一数据项的预期误差率,是一种基于统计的思想。entropy是香农熵,也就是上篇文章讲过的内容,是一种基于信息论的思想。Sklearn把gini设为默认参数,应该也是做了相应的斟酌的,精度也许更高些?ID3算法使用的是entropy,CART算法使用的则是gini。2.splitter:特征划分点选择标准,可选参数,默认是best,可以设置为random。每个结点的选择策略。best参数是根据算法选择最佳的切分特征,例如gini、entropy。random随机的在部分划分点中找局部最优的划分点。默认的"best"适合样本量不大的时候,而如果样本数据量非常大,此时决策树构建推荐"random"。3.max_features:划分时考虑的最大特征数,可选参数,默认是None。寻找最佳切分时考虑的最大特征数(n_features为总共的特征数),有如下6种情况:如果max_features是整型的数,则考虑max_features个特征;如果max_features是浮点型的数,则考虑int(max_features * n_features)个特征;如果max_features设为auto,那么max_features = sqrt(n_features);如果max_features设为sqrt,那么max_featrues = sqrt(n_features),跟auto一样;如果max_features设为log2,那么max_features = log2(n_features);如果max_features设为None,那么max_features = n_features,也就是所有特征都用。
一般来说,如果样本特征数不多,比如小于50,我们用默认的"None"就可以了,如果特征数非常多,我们可以灵活使用刚才描述的其他取值来控制划分时考虑的最大特征数,以控制决策树的生成时间。4.max_depth:决策树最大深,可选参数,默认是None。这个参数是这是树的层数的。层数的概念就是
本文发布于:2024-01-28 23:58:59,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170645754611243.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |