前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3 机器学习入门——决策树之天气预报、鸢尾花

3 机器学习入门——决策树之天气预报、鸢尾花

作者头像
天涯泪小武
发布2019-01-17 12:08:02
1.4K0
发布2019-01-17 12:08:02
举报
文章被收录于专栏:SpringCloud专栏SpringCloud专栏

前面我们简单学习了线性回归、逻辑回归,不知道有没有做一个总结,那就是什么时候该用逻辑回归?

从结果来观察,可以看到,线性回归的过程就是在找那个合适的方程,来尽量满足你的每行数据。即Y=ax + bx^2 + …….

通过算法来寻找合适的a、b、c。

一般来说,线性回归适用于最终结果和各属性之间有数值上的关系,能通过一系列的组合,得出一个规律。当然,实际在应用中,我们一般不管什么数据集,都先跑一遍逻辑(线性)回归就是了,它性能优异,至少我们可以将它的结果作为baseline。

在实际生活中,我们面对的当然不仅仅是由数字得出的,很多时候是通过决策得出。譬如判断一朵花属于哪个品种,我们会根据它的叶片形状、颜色等一些属于分类的属性来进行判断;还有去相亲,可能会先根据对方的年龄、学历、高富帅程度等做决策。

so,这些问题都促使了决策树的诞生。决策树是一个巨大的机器学习分支,里面有很多著名的算法如C4.5和最近一些在竞赛中大放异彩的GDBT等,都属于决策树。

到底决策树是什么,我们直接上实例。

在weka安装目录里有个data文件夹,里面有一些weka从各处搜集来一些比较知名的数据样例。

拿weather.nominal.arff为例

这个数据集是根据外面的温度、刮风与否等来决定是不是要出去play。

将这个数据导入weka

我们先选择Logistics逻辑回归来试一下这个数据集

可以看到在test options为Use training set时,也就是所有样本作为训练集时,逻辑回归正确率达到了100%。这种并不奇怪,当数据量很小时,任何算法往往都能拟合的很好,给出一个并不通用的结果。

我们选择Cross-validation,10次交叉。再试一下,这次逻辑回归的正确率达到了71%。

OK,我们来使用决策树试试,先试试大名鼎鼎的C4.5分类器,在weka中对应J48。

在trees里找到J48,同样选择10次折叠,点击start。

可以看到正确率在50%。我们在模型上右键,选择查看这棵树。

可以看到,这就是决策树的本来面目。就像法庭上辩论时,对方律师问你问题,让你回答是与不是。决策树就是通过算法,挑选一个最合适做根节点的属性,然后开始往下依次生成子节点。通过树来构建一个模型预测新的数据。

不过这个案例数据太少,导致决策树表现不佳。当数据量变大时,这种类型的在决策树下表现通常会优于线性方程。

当然对于这个案例,通过使用融合梯度提升后的J48,也能让正确率达到70%多。

下面来看另一个数据集,鸢尾花,iris.arff,这个案例也非常知名,是UCI下载量最大的数据集,估计每个搞机器学习的helloworld阶段都会用过这个数据集。

导入数据,分别使用逻辑回归和J48来跑一下,发现两个都是96%的正确率。

这个数据集经过多次尝试,在各个算法上表现比较类似,差距不大,最好的结果是在SVM(支持向量机)上,96.6667%。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年06月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档