kaggle 的入门可以从101playground 开始,重要的是要开始做,万事开头难。然后平时要多多看高手的文章,获奖经验。有的高手获奖者甚至会把自己的源代码放上去,你就是去仅仅跑一遍,也能学到非常多的东西。关于kaggle的问题分类:一般就是regression,classification, timeseries这几类。
kaggle的问题一般解决过程:拿到数据之后,第一步就是data exploration. 这一步就是各种画图,找规律,找灵感,找可能的feature.
会R的可以shiny app做一些UI来辅助自己对数据的理解。
然是后选strategy, 从经典的机器学习算法中,选择自己要用的模型。一般这个大家都是用现成的包,没什么好说的。如果数据量比较大的话,可能要做batch sampling,上work station. 通常先做一个超级简单的能跑的模型,之后就是无穷无尽的feature engineering了。。。
一些tips:classification 问题的大杀器是xgboost. 最终大杀器是ensemble learning.feature 为王.细节上,script 最好用svn或者git管理,做的时间长了容易乱。另外,好像recruiting competitions 更简单一些,因为没有什么奖金。
参加kaggle的好处:其实就不用说了,学到很多东西,而且通常数据量比较大,所以一个比赛做下来对自己的编程能力提升很高。另外如果成绩好的话,在简历上绝对是牛逼的一笔,是一些high level job的撬门砖。
kaggle的局限性:1. kaggle把实际中的数据挖掘问题大大的简化了,给你的直接是非常好的dataset. 而实际中的问题,做机器学习是万里长征的最后一步,整个长征都是在做data cleanning...
2. kaggle和统计关系不大,需要用到的统计知识几乎为零。想要通过做kaggle来学统计是南辕北辙的,还是老老实实去读个学位吧。
其他:kaggle的leader board很有意思,public leader board显示的仅仅是你提交答案一部分的数据分数。不到最后一刻,不知道谁才是真正的winner, 这个过程感觉蛮刺激的。。。