70%求职者因此被拒,你还不避开这些“雷区”?!
副标题[/!--empirenews.page--]
很多想要在数据科学行业寻找一席之地的人正在慢慢意识到这个问题:在数据科学这个领域应聘,想得到求职或者面试反馈是基本不可能的。 图片来源:unsplash.com/@kentreloar 互联网公司对这些信息守口如瓶有很多原因。其一,公司给出的每一条拒绝理由都可能招致法律诉讼。其二,很多人并不能很好地消化负面消息,有些人甚至会变得十分偏激。其三,如果要这么做的话,想想面试官要花多长时间写一篇构思精良的反馈给几十个甚至上百个应聘的人。除此之外,公司并没有从中得到任何好处。 于是,就出现了一大批困惑、迷茫又想要有所成就的数据科学家。但好消息是:在这个行业,求职被拒的原因其实也就那么几个,针对这些不足还有很多方法来进行弥补。 不管是技术性还是非技术性的技能,应聘者所不具备的也正是这些公司迫切需求的,本文旨在对这些问题进行探讨。 原因1:使用Python语言处理数据科学的技能 大部分数据科学模型都基于Python环境。在使用Python语言处理数据结构时,仅有少数工具能将新手和经验丰富的老手区分开来。如果你指望通过创建特别出众的项目来吸引雇主的注意,这些工具能迅速拉开你和其他人的差距。 要想促使自己扩充数据科学理论方面的知识,提高实践能力,可以在项目中尝试以下几个方法: 数据挖掘。你应该熟练掌握pandas函数,比如.corr(),scatter_matrix(),.hist() 和.bar()这些语句的使用。你应该时刻注意,利用主成分分析(PCA)原理或者t-SNE的方法将数据可视化,在Python语言中可以使用sklearn的PCA和TSNE。 特征选择。在90%的情况下,数据集会有很多并不需要的特征,这些特征会耗费不必要的调试时间,还很可能会出现过拟合的现象。这就要求数据科学家们熟练掌握基本的筛选方法(如scikit-learn库的VarianceThreshold函数和SelectKBest函数)和稍显复杂的基于模型的特征筛选方法(如SelectFromModel)。 使用超参数搜索的方法来寻找最优模型。数据科学家一定得知道GridSearchCV函数是什么、怎么用。RandomSearchCV函数同理。要想出类拔萃,你可以用skopt库中的BayesSearchCV这个函数来实验一下,看看怎么将贝叶斯优化法运用到超参数搜索中。 管道机制。sklearn中的pipeline库可以帮助你一站式完成数据预处理、特征选择和建模这些步骤。如果你对pipeline不熟悉的话,那就说明你应该加强对建模工具包的学习。 原因2: 概率论和统计学知识 图片来源:unsplash.com/@johnmoeses 概率论和统计学方面的知识并不会在数据科学的工作中单独应用,但它们是所有数据科学工作的基础。所以,如果你还没仔细研究过下面这些知识的话,那你就很容易把面试搞砸了。 贝叶斯法则。这是概率论的基础,在面试中经常出现。你可以练习一些基础的贝叶斯“白板”问题,并且阅读下面这本著作来深刻理解这个法则的含义和来由。 传送门:http://www.med.mcgill.ca/epidemiology/hanley/bios601/GaussianModel/JaynesProbabilityTheory.pdf 基本的概率论知识。你应该知道怎么回答下文这些问题。 问题传送门:https://github.com/kojino/120-Data-Science-Interview-Questions/blob/master/probability.md 模型评估。在分类问题中,很多新手习惯以模型的精确度作为衡量标准,这样做通常不是一个很好的选择。你应该习惯使用sklearn的precision_score,recall_score,fl_score,和roc_auc_score等函数并了解其背后的理论知识。对于回归问题,知道为什么用均方误差(mean_squared_error)而不用平均绝对误差(mean_absolute_error)也同样重要,反之亦然。花时间去弄清列在sklearn官方文件中的所有模型评估标准是很值得的。 官方文件传送门:https://scikit-learn.org/stable/modules/model_evaluation.html 原因3: 软件工程小窍门 数据科学家被要求做软件工程工作的情况越来越多。很多雇主都要求应聘者管理好自己的代码,在笔记本和草稿上留下清晰的注释。尤其是以下几个方面: 版本控制。你应该知道怎么使用git系统,并且能用命令行和自己的GitHub库远程互动。如果你还不能做到的话,建议你从下面这个教程开始。 教程传送门:https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners 网页开发。有些公司更倾向于将数据储存到自己的网络应用程序(WebApp)中,或者通过API的形式来访问数据。因此,熟悉网页开发的基本知识也很重要,最好的办法就是学习一些Flask框架的知识。 传送门:https://www.freecodecamp.org/news/how-to-build-a-web-application-using-flask-and-deploy-it-to-the-cloud-3551c985e492/ 网页抓取。这有点类似与网页开发:有时候你需要通过从网页直接抓取数据,将数据采集自动化。BeautifulSoup和scrapy是两个非常不错的网页抓取工具。 清晰简洁的代码。学会字符串的使用。不要滥用行间注释。将长函数拆成短函数,越短越好。10行以上的函数都不应该出现在你的代码中。每个函数都应该清晰地命名,function_1不是一个好名字。在给变量命名时遵循Python语言的规则,要像这样like_this,不能像LikeThis或者这样likeThis。一个Python模块(.py格式的文件)中的代码不要超过400行代码。每个模块都要有一个明确的目的,比如data_processing.py,predict.py)。学习if name == ‘_main_’语句是什么,为什么重要。使用列表解析(list comprehension)。不要滥用for循环。最后要记得给你的项目附上一个README文件。 原因4:商业嗅觉 图片来源:unsplash.com/@emmamatthews 似乎有很多人认为只要自己技术够硬,就能被心仪的公司录取。其实不然。事实上,公司更青睐能更快带来效益的员工。 这就意味着求职者不仅技术要过关,还要掌握一些其他的技能。 想别人之所想,并付诸行动。大多数人在沉浸于“数据科学学习模式”时,都会遵循一系列步骤:导入数据、分析数据、清理数据、数据可视化、建模、模型评估。 (编辑:鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |