Home Forums Chinese Forum 大数据分析 【转载】 数据科学转行大忌,一做Kaggle误终生 (李果 Techlent )

  • 【转载】 数据科学转行大忌,一做Kaggle误终生 (李果 Techlent )

     Datura updated 1 month, 3 weeks ago 1 Member · 1 Post
  • Datura

    Member
    February 14, 2021 at 12:58 pm

    数据科学转行大忌,一做Kaggle误终生

    kaggle是一个机器学习的比赛平台。有不少的公司会把自己的数据放在上面,让世界各地的参赛者帮他们建模型。他们同时也提供一定的资金,奖励那些模型精度最高的几个队伍。

    现在,每次比赛都会有好几千的队伍参加。虽然绝大多数的人都拿不到奖金,但是通过这些比赛,大家可以获得用机器学习模型解决实际问题的第一手经验。而且,大家在总想努力提高自己的排名,就会不断尝试各种方法,从而迫使自己不断地学习总结,在比赛中充分地锤炼自己的知识和技术。此外,许多参赛者会把自己的部分解决方案放在讨论区。通过学习这些公开的解决方案,大家可以有效地吸收别人的经验,很好地加强自己相关知识的深度和广度。

    从找工作的角度来讲,如果能在比赛中拿到比较好的名次,也可以提高自己拿到面试的几率。如果,你是一个kaggle master,很多公司都会愿意给你提供面试机会。

    但是,我不推荐转行的同学去做kaggle。

    第一,并不是所有数据科学岗位都需要机器学习知识。比如像 data analyst 和 analytic data scientist 之类的岗位,需要的是对数据的分析和理解,所以在技术面试的时候考的都是 sql,statistics,和 business case study。哪怕在工作中应用机器学习知识,也是侧重于用模型去提取数据中的 insight,强调模型的可解释性,反而对模型精度没有那么高的要求。

    第二,在 modeling 比较重的岗位中(比如 NLP data scientist),建模本身也只是日常工作的一小部分。每当接手一个项目,大家首先需要定义问题,把一个产品需求转化成一个可以解决的机器学习问题。同时,根据产品的应用特点,设计能够反映模型价值的衡量指标。然后,收集、筛选、清理数据会需要花很多的时间。如果这些事情都做完了,建模是很快的。而且,比较成熟的 data science team 一般都已经搭建了training pipeline,可能几行命令就行了。我和一个在kaggle上举办过比赛的大牛聊过。他说,从技术贡献上讲,组织kaggle比赛对他们帮助不大。有定义好的问题和指标,还有整理成表的数据,一个项目就已经完成了百分之九十了。

    第三,kaggle上的高分模型在工业界中往往是没法用的。除了kernel 赛,一般kaggle比赛中的高分模型都是非常复杂的,会有上百个模型stack在一起。哪怕是可以把这些模型写成稳定的 production code,工作量也是巨大的。而且,比赛中拿高分的很多tricks,实际上都是在ovefit hyperparameters 或者利用 data leakage。比如,classification 问题用 logloss 反推test set 的 base rate,NLP 问题用 test set 数据建立vocabulary,利用隐藏在 indices 中数据收集的 pattern 去建立所谓 magic feature。这些都是真实工作中要极力避免的情况,在比赛中却是千万人中杀出一条血路的独门绝技。所以,有些没有工业界经验的同学做 kaggle 容易走火入魔,影响了自己对机器学习技术应用的认知。

    第四,kaggle比赛需要大量的时间和精力投入。每次比赛都会持续两三个月。很多同学刚开始的时候,哪怕没日没夜地做,也就很难排到前20%。这样成绩并不能 impress 面试官。而且,如果你做的不是有奖金的比赛,只是Titanic那些教学性质的比赛,甚至可能会让面试官觉得你太业余。

    总而言之,kaggle是一个很好的学习和练习机器学习知识的平台。但是我不推荐转行的同学去做kaggle比赛。通过做kaggle来掌握找工作所需要的技术和知识会事倍功半,甚至有可能被带入歧途。既然我们的目标是找工作,那么就应该根据工作岗位的需求,有针对性地,系统地,充分地准备。

Log in to reply.

Original Post
0 of 0 posts June 2018
Now