D******s 发帖数: 1 | 1 【 以下文字转载自 DataSciences 讨论区 】
发信人: abceamanda (Mandy), 信区: DataSciences
标 题: 数据科学转行大忌,一做Kaggle误 终生
关键字: 数据科学;找工作;面试;转行;博士;博士后
发信站: BBS 未名空间站 (Sun Dec 6 22:52:06 2020, 美东)
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来掌握找工作所需要的技术和知识会事倍功
半,甚至有可能被带入歧途。既然我们的目标是找工作,那么就应该根据工作岗位的需
求,有针对性地,系统地,充分地准备。 |
|