86-预测分析-R语言实现-树模型rpart

Python021

86-预测分析-R语言实现-树模型rpart,第1张

数据集的行是游戏玩家们玩的每一次游戏,列是某个玩家玩游戏时的速度、能力和决策,都是数值型变量。

任务是根据这些表现的衡量指标来预测某个玩家当前被分配到8个联赛中的哪一个,输出变量(LeagueIndex)是一个有序的类别变量,序号从1到8,最后一个对应的是技术最高的玩家组成的联赛。

一种对待序号输出的可能方式是把它们当作一个数值型变量,作为回归任务来建模,并构建一个回归树。GameID列表示唯一的游戏标识符,跟模型无关,可以丢弃;另外TotalHours列被识别为字符型,需要修正为数值型。

Age、HoursPerWeek和TotalHours存在缺失值,直接删除带有缺失值的行。(虽然树模型可以自动处理缺失值,但是后面还会使用其他模型来对比,那些模型不一定能处理缺失值)

使用rpart包构建回归树模型。

对于输入特征,我们会关注它用在树里任何地方时产生的优化准则(例如偏差或SSE)里的约简,将树里所有分裂的这个量值汇总起来,就得到变量重要性的相对数量。

越重要的变量会越早用来分裂数据(离根节点更近),也会更常用到。如果一个变量从来没有用过,那么就是不重要的,通过这种方式,可以用来做特征选择,但是这种方法对特征中的相关性敏感。

根据数据科学家一生的三个发展阶段,将这些计划做了分类。大家可以自己判断哪些计划适合自己并按照计划行动起来。如果你已经成功地完成了现有阶段的任务,就可以转向下一阶段。

初级水平

什么是初学者?——如果解析学和数据科学对你来说是全新的领域,你也不知该行业的发展模式,而你又想在这个行业大展拳脚一番,那么初学者就是你。以下这些应该在你的计划之内。

1. R语言也好,Python语言也好,学习一门新的编程语言

我曾见到有同学同时学习R语言和Python语言,最后落得两手空空。这种做法是很致命的。你一定要沉下心来专攻一门。鉴于这两种语言都是开放源代码工具,所以在公司里都有广泛运用。Python被公认为最简单的编程语言,而R语言一直都是最受青睐的统计工具。学习哪一门的决定权在你,因为两个同等出色。

推荐课程:推荐R语言和Python入门课程《Python入门:数据挖掘实战》、《R语言入门》

2. 学习统计学和数学

统计学的内容全都是关于假设和数列,然而没有统计学和数学的知识你很难深入到数据行业里,这是数据科学家的重中之重。

3.一次性完成一门网络开放课程(最难执行)

大规模网络开放课程可以免费获取和学习,可这对你来说也是最难实现的诺言。很多学生通常一次性注册选修很多课程,结果一门也没有圆满完成。所以,你一定要一次专注一门课,完成之后再选下一门。

推荐课程:推荐R语言和python进阶课程:《R语言实战》、《Python进阶:数据挖掘算法》

4.了解业界动态,善于探索和发现

你要了解业内动态。我们生活在一个变化的世界,一夜之间事物就可能发生重大变化,今日和流行的技术明日就很可能面临淘汰。你一定要多与一些富有经验的专业人士、业内专家交流,预见未来的自己。所以赶快参与到讨论和聚会中来吧,关注一些微博微信,加入一些群组,多阅读一些书籍。

中级水平

中级水平的数据科学家是什么样的?——如果你已经完成了前一阶段的内容,有过机器学习基础知识的实践经验,掌握了建立预测模型的知识,那你就达到了中级水平。完成这一阶段需要强大的决心和持久的练习。你准备好迎接这个挑战了吗?

1.理解并构建你的机器学习技能

机器学习是数据科学和技术的未来。所有的大型企业都不惜重金雇用掌握这个技能的人才。毫无疑问,近日来这项技术的需求越来越大,现在正是你充分利用这一局面的大好时机。今年,你应该努力在机器学习上精益求精,深入掌握回归、聚类和分类与回归树(CART)技能。

推荐课程:《机器学习与R语言实践》,斯坦福大学公开课《机器学习》

2. 专注集成算法和Boosting算法

一旦你对机器学习充满自信,那就继续去学习其他模型。通过Boosting和集成算法,你的模型准确率与其他算法相比会突飞猛进。

3. 探索Spark、NoSQL和其他大数据工具

今年你的学习之旅始于大数据。考虑到大数据专业人员的需求激增,你一定要学习Spark,这个工具最近非常火爆。大数据的未来就在Spark,它广泛用于处理和操纵数据。除此之外,你还可以拓展到NoSQL和Hadoop领域来。

推荐课程:从Spark迈出学习第一步。推荐观看课程《大数据实战工具Spark》

4.给社区成员做分享

还有什么比分享知识更美妙呢!从今年开始,你可以把自己的知识分享给正在数据科学的路上不断探索的人们。你可以加入活跃的数据科学论坛,给他们答疑解惑,你也可以在附近的行业圈里发起聚会。

推荐任务:关注大数据公众号和论坛等等。

高级水平

对于进入这个阶段的人我就不需要来给出标准了,你们所了解的数据科学,很多人甚至连尝试的勇气都没有。身处这一阶段,你们的生活惬意而又自如。可有时还想去迎接挑战,以下是一些计划。

1. 建立深度学习模式

你们要为有志于成为数据科学家的人们树立榜样。你要下决心在今年建立深度学习的模式。全球的人都在用这一模式进行预测,它是机器学习的高级阶段,其准确率明显高于普通的机器学习模型。

推荐课程:完成深度学习辅导课程任务。

2.回馈

我相信知识的意义不是被束之高阁,而是与人分享。分享越多,收获越大。据说,如果你了解一个新概念并解释给你的两个朋友,你对这个概念的记忆很可能会更久。所以今年,你必须制定计划,运用自己的知识和经验帮助数据分析学领域的人。这也会为更多的在这个领域的人指明方向。

推荐任务:在社区分享你的知识。

3. 探索强化学习

强化学习是机器学习中最有效而又鲜有发现的领域。今年,你可以下定决心研究下这个领域。虽然很有挑战性,但是一定值得你去尝试。无人汽车、无人侦察机就是强化学习的硕果。一旦开始学习这些,你就自然而言地进入到了人工智能领域。

rpart包,rpart包是官方推荐的一个包,它的功能就是实现递归分割和回归树。 party包,关于递归分割更为详细的包,它包含了Bagging方法,可以产生条件推断树(conditional inference tree)等; randomForest包,实现了分类与回归树的随机森林(rando