python里实现一个简单的决策树

  统计/机器学习 监督式学习 Python    浏览次数: 975
3

才入门机器学习,对决策树只是知道概念,没有用python实现过。请问python里现成的函数或者工具包可以用决策树做分类问题吗?

 

擒贼先擒鱼   2017-02-28 10:51



   1个回答 
6

绝大部分机器学习的算法都可以在sklearn这个包里面找到,也包括你说到的决策树(DecisionTree)。代码很简单,如下:

>>>from sklearn import tree
>>>clf = tree.DecisionTreeClassifier(criterion='gini')
>>>clf.fit(X,y)
>>>y_test = clf.predict(X_test)

上面的criterion='gini'表示这个决策树是根据“Gini不纯性”准则建立的;如果criterion='entropy',意思说这个决策树是根据“熵增益准则”来构建的。

fit是训练拟合这个决策树的过程,X是训练集样本(注意:不含真实标签的那一列),y是训练样本的标签。

predict是用fit出来的树来进行预测。y_test是测试集X_test中每个样本的预测结果。这个结果是0,1两元的。

如果想要得到预测为0或者为1的概率,那么最后一句话要改成

>>>y_test = clf.predict_proba(X_test)



沛县李刚   2017-03-01 09:33

这个看起来比看sklearn的documentation好懂多了,那个太长了 - word哥   2017-03-01 13:46


  相关主题

python sklean中的决策树是用的哪一种决策树算法?   2回答

决策树怎么做增量学习或者online学习?   1回答

剪枝是什么意思   1回答

决策树的深度和数据特征个数的关系   1回答

随机森林(random forest)和支持向量机(SVM)各有什么优劣   1回答

求问:Cart分类树为什么是基尼指数最小化准则   1回答

Extra Tree算法   1回答

决策树是如何得到量化的概率,不只是0或1的标签?   2回答

决策树剪枝有什么策略或者注意事项?   2回答

Gradient tree boosting和random forest (随机森林) 有什么区别和联系   1回答

决策树可以做多元分类吗?   1回答

决策树的熵是什么?怎么用熵来选分叉?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!