看帖神器
未名空间
追帖动态
头条新闻
每日新帖
最新热帖
新闻存档
热帖存档
文学城
虎扑论坛
未名空间
北美华人网
北美微论坛
看帖神器
登录
← 下载
《看帖神器》官方
iOS App
,体验轻松追帖。
数据科学转行大忌,一做Kaggle误 终生
查看未名空间今日新帖
最新回复:2020年12月6日 19点52分 PT
共 (1) 楼
返回列表
订阅追帖
只看未读
更多选项
阅读全帖
只看图片
只看视频
查看原帖
a
abceamanda
接近 4 年
楼主 (未名空间)
kaggle是一个机器学习的比赛平台。有不少的公司会把自己的数据放在上面,让世界各地的参赛者帮他们建模型。他们同时也提供一定的资金,奖励那些模型精度最高的几个队伍。
现在,每次比赛都会有好几千的队伍参加。虽然绝大多数的人都拿不到奖金,但是通过这些比赛,大家可以获得用机器学习模型解决实际问题的第一手经验。而且,大家在总想努力提高自己的排名,就会不断尝试各种方法,从而迫使自己不断地学习总结,在比赛中充分地锤炼自己的知识和技术。此外,许多参赛者会把自己的部分解决方案放在讨论区。通过学习这些公开的解决方案,大家可以有效地吸收别人的经验,很好地加强自己相关知识的深度和广度。
从找工作的角度来讲,如果能在比赛中拿到比较好的名次,也可以提高自己拿到面试的几率。如果,你是一个kagglemaster,很多公司都会愿意给你提供面试机会。
但是,我不推荐转行的同学去做kaggle。
第一,并不是所有数据科学岗位都需要机器学习知识。比如像data analyst 和
analytic data scientist 之类的岗位,需要的是对数据的分析和理解,所以在技术面试的时候考的都是 sql,statistics,和business case study。哪怕在工作中应用机
器学习知识,也是侧重于用模型去提取数据中的insight,强调模型的可解释性,反而
对模型精度没有那么高的要求。
第二,在 modeling 比较重的岗位中(比如 NLPdata scientist),建模本身也只是日常工作的一小部分。每当接手一个项目,大家首先需要定义问题,把一个产品需求转化成一个可以解决的机器学习问题。同时,根据产品的应用特点,设计能够反映模型价值的衡量指标。然后,收集、筛选、清理数据会需要花很多的时间。如果这些事情都做完了,建模是很快的。而且,比较成熟的data science team 一般都已经搭建了
trainingpipeline,可能几行命令就行了。我和一个在kaggle上举办过比赛的大牛聊过。他说,从技术贡献上讲,组织kaggle比赛对他们帮助不大。有定义好的问题和指标,还有整理成表的数据,一个项目就已经完成了百分之九十了。
第三,kaggle上的高分模型在工业界中往往是没法用的。除了kernel赛,一般
kaggle比赛中的高分模型都是非常复杂的,会有上百个模型stack在一起。哪怕是可以
把这些模型写成稳定的production code,工作量也是巨大的。而且,比赛中拿高分的
很多tricks,实际上都是在ovefithyperparameters 或者利用data leakage。比如,
classification问题用logloss 反推testset 的base rate,NLP 问题用test set 数据建立vocabulary,利用隐藏在indices 中数据收集的pattern 去建立所谓magic
feature。这些都是真实工作中要极力避免的情况,在比赛中却是千万人中杀出一条血
路的独门绝技。所以,有些没有工业界经验的同学做kaggle 容易走火入魔,影响了自
己对机器学习技术应用的认知。
第四,kaggle比赛需要大量的时间和精力投入。每次比赛都会持续两三个月。很多同学刚开始的时候,哪怕没日没夜地做,也就很难排到前20%。这样成绩并不能
impress 面试官。而且,如果你做的不是有奖金的比赛,只是Titanic那些教学性质的
比赛,甚至可能会让面试官觉得你太业余。
总而言之,kaggle是一个很好的学习和练习机器学习知识的平台。但是我不推荐转行的同学去做kaggle比赛。通过做kaggle来掌握找工作所需要的技术和知识会事倍功半,甚至有可能被带入歧途。既然我们的目标是找工作,那么就应该根据工作岗位的需求,有针对性地,系统地,充分地准备。
请输入帖子链接
收藏帖子
kaggle是一个机器学习的比赛平台。有不少的公司会把自己的数据放在上面,让世界各地的参赛者帮他们建模型。他们同时也提供一定的资金,奖励那些模型精度最高的几个队伍。
现在,每次比赛都会有好几千的队伍参加。虽然绝大多数的人都拿不到奖金,但是通过这些比赛,大家可以获得用机器学习模型解决实际问题的第一手经验。而且,大家在总想努力提高自己的排名,就会不断尝试各种方法,从而迫使自己不断地学习总结,在比赛中充分地锤炼自己的知识和技术。此外,许多参赛者会把自己的部分解决方案放在讨论区。通过学习这些公开的解决方案,大家可以有效地吸收别人的经验,很好地加强自己相关知识的深度和广度。
从找工作的角度来讲,如果能在比赛中拿到比较好的名次,也可以提高自己拿到面试的几率。如果,你是一个kagglemaster,很多公司都会愿意给你提供面试机会。
但是,我不推荐转行的同学去做kaggle。
第一,并不是所有数据科学岗位都需要机器学习知识。比如像data analyst 和
analytic data scientist 之类的岗位,需要的是对数据的分析和理解,所以在技术面试的时候考的都是 sql,statistics,和business case study。哪怕在工作中应用机
器学习知识,也是侧重于用模型去提取数据中的insight,强调模型的可解释性,反而
对模型精度没有那么高的要求。
第二,在 modeling 比较重的岗位中(比如 NLPdata scientist),建模本身也只是日常工作的一小部分。每当接手一个项目,大家首先需要定义问题,把一个产品需求转化成一个可以解决的机器学习问题。同时,根据产品的应用特点,设计能够反映模型价值的衡量指标。然后,收集、筛选、清理数据会需要花很多的时间。如果这些事情都做完了,建模是很快的。而且,比较成熟的data science team 一般都已经搭建了
trainingpipeline,可能几行命令就行了。我和一个在kaggle上举办过比赛的大牛聊过。他说,从技术贡献上讲,组织kaggle比赛对他们帮助不大。有定义好的问题和指标,还有整理成表的数据,一个项目就已经完成了百分之九十了。
第三,kaggle上的高分模型在工业界中往往是没法用的。除了kernel赛,一般
kaggle比赛中的高分模型都是非常复杂的,会有上百个模型stack在一起。哪怕是可以
把这些模型写成稳定的production code,工作量也是巨大的。而且,比赛中拿高分的
很多tricks,实际上都是在ovefithyperparameters 或者利用data leakage。比如,
classification问题用logloss 反推testset 的base rate,NLP 问题用test set 数据建立vocabulary,利用隐藏在indices 中数据收集的pattern 去建立所谓magic
feature。这些都是真实工作中要极力避免的情况,在比赛中却是千万人中杀出一条血
路的独门绝技。所以,有些没有工业界经验的同学做kaggle 容易走火入魔,影响了自
己对机器学习技术应用的认知。
第四,kaggle比赛需要大量的时间和精力投入。每次比赛都会持续两三个月。很多同学刚开始的时候,哪怕没日没夜地做,也就很难排到前20%。这样成绩并不能
impress 面试官。而且,如果你做的不是有奖金的比赛,只是Titanic那些教学性质的
比赛,甚至可能会让面试官觉得你太业余。
总而言之,kaggle是一个很好的学习和练习机器学习知识的平台。但是我不推荐转行的同学去做kaggle比赛。通过做kaggle来掌握找工作所需要的技术和知识会事倍功半,甚至有可能被带入歧途。既然我们的目标是找工作,那么就应该根据工作岗位的需求,有针对性地,系统地,充分地准备。