大数据文摘作品
作者:龙牧雪
2017年3月,数据科学和机器学习竞赛领域的老大kaggle被谷歌收购,点击查看大数据文摘报道《谷歌宣布收购全球最大数据科学社区kaggle》,当时双方均未透露收购细节和未来计划。接近一年过去了,kaggle在做什么?
kaggle由anthony goldbloom和ben hamner创立于2010年。企业和研究人员在kaggle上发布数据,让全世界的统计师和数据科学家对数据集进行建模和分析,以竞赛的形式评选出最佳模型。kaggle众包竞赛模式的价值在于,让人们有可能从无穷无尽的建模方法中,寻找到最优解。
目前在竞赛模式上,除了面向大众的竞赛,kaggle还推出了免费的inclass模式,方便高校教师和学生在kaggle平台上完成随堂练习。
最近,大数据文摘也观察到,kaggle首页新增了一个learn板块(也免费!),主打动手学数据科学(hands-on data science education),似乎在向竞赛+学习平台方向转型。
kaggle learn版块地址:
https://kaggle/learn
1月22日,kaggle联合创始人anthony goldbloom发表了一篇博客,宣布2018年将为kaggle平台添加新的教育资源,致力于将kaggle社区从主要关注机器学习竞赛扩展到更广泛的数据科学和机器学习平台,希望借由比赛、公开数据集平台和kaggle kernels,最终让kaggle成为可以完成一切数据科学和机器学习活动的地方。
2017年kaggle活跃用户从2016年的471k增加到895k
大数据文摘摘录了博客中透露的部分kaggle 2018年计划:
比赛:2018年,我们计划开始支持新的竞赛类型,以确保我们能够支持处于机器学习和人工智能领域前沿的问题。要做到这一点,我们的目标是更好地支持代码竞赛(通过kaggle上传代码而不是解决方案文件)。这将使我们能够举办新类型的比赛,包括强化学习比赛和有计算限制的比赛。公共数据集平台:在2018年,我们希望除了因机器学习比赛而闻名之外,我们也能以公开数据集平台闻名。为此,我们需要继续增加kaggle上高质量数据集的数量。我们正在计划整合和添加服务,使我们的社区能够通过与像bigquery这样的数据仓库的集成来处理更大的数据集,并增加允许在实时数据集中流式传输的功能,而不仅仅是上传静态数据集。kaggle内核(kernels):kaggle内核目前最主要用于共享模型,以及分析公开数据集平台上的数据。在2018年,我们希望将kaggle kernels建设成为一个强大的独立产品,包括让kagglers能够使用kaggle内核与他们自己的私有数据集,访问gpu并支持更复杂的通道。kaggle学习:许多用户从kaggle开始他们的数据科学事业。为了更好地支持我们社区的这一部分,我们在https://kaggle/learn上推出了机器学习实践课程平台。我们希望它能够辅助用户创建高度精确的机器学习模型,并帮助他们快速get所需技能,以帮助他们找到第一个数据科学工作。
今天,文摘菌就带大家来实地测评一下kaggle新上线的机器学习实践课程平台。
整个学习版块又分为4个模块:机器学习、r语言、数据可视化、深度学习。
强调实践和动手
kaggle的课程介绍页显示,这个免费的在线课程适用于那些现在想开始学习数据科学和机器学习的人。 你会花更多的时间来编写代码,而不是阅读它。 你将了解必须的理论背景,以便做出良好的建模决策,但这些课程不会在阅读历史背景方面浪费你的时间——那不会帮助你成为一名能实际工作的数据科学家。
讲师选择
在讲师的选择上,也能看出kaggle不强调理论背景,而是强调实践。三位课程制作者dan becker、aleksey bilogur和rachael tatman各自的履历中似乎都没有特别强调计算机或统计背景,其中rachael tatman更是本科学习英语专业、之后直博语言学专业。简直666666!
faq
我们将用到什么语言,为什么选择他们?
除了r语言模块之外,所有东西都用python。 哪种语言适合你? 互联网充斥着语言选择的辩论。 但是和与你合作的人用同一种语言是很有价值的。 python是数据科学中最受欢迎的语言,r是第二大流行语言。 所以我们推荐r和python,且更倾向于python。
我需要提前了解多少python?
你应该熟悉变量,列表,字典,函数和循环。 如果你想学习python入门知识,我们强烈推荐codecademy上的learn python系列。 学完他们的第1-8节课,你将可以学习kaggle机器学习课程。 他们也有被称为pro的付费课,但是你不需要这些材料就可以在kaggle上学习机器学习系列。
机器学习模块
下面,就让文摘菌带大家看看机器学习模块都有哪些内容:
模块分为2个等级,共15门细分课程。
等级1
模型是什么
开始你的机器学习项目
用pandas选择和筛选数据
跑第一个模型
模型验证
欠拟合、过拟合和模型最优化
随机森林
在比赛中做提交
等级2
处理缺失数据
使用分类数据
xgboost梯度提升
部分相关性画图
scikit-learn流程
交叉验证
数据泄露
让我们先来看看等级1的第一课:模型是什么。
打开课程页面之后,我们发现,课程以内嵌的notebook方式呈现。第一课并未涉及代码,只是介绍了决策树模型。浏览完整个notebook,也就完成了该部分课程。简直so easy!
第二课就涉及代码了。我们需要fork讲师提供的notebook,进入自己的编程环境。
点一下fork,我们就进入到自己的notebook里啦。fork的作用是让我们复制了讲师提供的代码到自己的notebook。
在自己的notebook里,我们可以看到一个个代码块。代码块有2种模式可以选择:markdown和code。例如,在这张图里,你所看到的“introduction”和下面的文字就是markdown格式,markdown方便我们展示文字。而“write your code below”下面则是code格式,可以直接运行代码喔。我们也可以选择隐藏该代码块、在上方或下方插入新的代码块、运行代码块。和jupyter notebook的操作方式一致哦。
完成代码之后,我们可以下载notebook到本地,也可以点击publish提交,提交后的界面是一个html页面。
不过,我们无需担心隐私问题,因为之前选择的是“private”模式的notebook,提交之后,也只会显示在个人的kernel里,只有自己能看到。
所有写过的代码也不会丢失,会在自己的kernel下面汇总,点开后仍然可以再次编辑该notebook。这个功能文摘菌觉得很是方便。
如果你选择公开展示notebook,其他小伙伴也可以给你评论。
文摘菌也发现了一个提问的好地方:learn forum论坛。不过目前看来,论坛并不活跃,一个话题下通常只有一个留言。也许是大家觉得这一切都太小case了(o_o)?
就目前的课程内容来说,kaggle推出的learn版块所教授的内容并不深入,但是其友好的界面和动手环境非常适合数据科学与机器学习初学者。对于有代码恐惧症的童鞋(比如文摘菌)来说,这是个入门数据科学领域的好机会!如果能一步步跟着教程学下来,相信各位童鞋会对机器学习、数据可视化等领域的基本概念和基础模型有所了解,同时也将有机会敲下自己人生中的第一行代码。
正在学习的小伙伴们,举起手来让我看到~
素材来源:
http://blog.kaggle/2018/01/22/reviewing-2017-and-previewing-2018/