鱼C论坛

 找回密码
 立即注册
查看: 1491|回复: 0

[技术交流] 机器学习系列------决策树

[复制链接]
发表于 2018-6-20 09:26:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
        今天用决策树预测鸢尾花数据,先建立决策树模型,代码如下:
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier

iris=load_iris()
X=iris.data[:,2:]
y=iris.target

tree_clf=DecisionTreeClassifier(max_depth=2)
tree_clf.fit(X,y)
        决策树是一棵树型的逻辑图,许多个决策树就组成了随机森林,我们可以把以上模型做成一个.dot文件的树形图:
from sklearn.tree import export_graphviz

export_graphviz(
    tree_clf,
    out_file="iris_tree.dot",
    feature_names=iris.feature_names[2:],
    class_names=iris.target_names,
    rounded=True,
    filled=True
)
        以上代码会在你电脑里生成个iris_tree.dot文件,也可以转传承png文件,但是必须在Linux系统下,输入如下命令:
dot -Tpng iris_tree.dot -o iris_tree.png
        这里就不做演示了。下面预测下5厘米长1.5厘米宽的花瓣的准确率:
tree_clf.predict_proba([[5,1.5]])
        输出为:array([[ 0.        ,  0.90740741,  0.09259259]])。然后看下预测结果:
tree_clf.predict([[5,1.5]])
        输出为:array([1])。是第二种花。以上是决策树的分类模型,我们也可以用决策树建回归模型,与分类模型的区别是,回归模型每个节点是一个数,而分类模型是一个类。代码如下:
from sklearn.tree import DecisionTreeRegressor

tree_reg=DecisionTreeRegressor(max_depth=2)
tree_reg.fit(X,y)
        决策树的优点是模型的使用上运算速度快,但是建立模型的时间长,就跟我们学数据结构和算法里的map一样,缺点是不稳定。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 09:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表