我在数据科学辅导创业公司工做,我发现有一条建议让我本身一遍又一遍地给有抱负的学员。这真的不是我所指望的那样。网络
我建议他们首先考虑他们想要成为何样的数据科学家,而不是建议一个新的库或工具,或者一些简历***。app
这一点相当重要的缘由在于,数据科学不是一个单一的,定义明确的领域,公司不会雇用通用的,万能的“数据科学家”,而是拥有很是专业技能的我的。框架
为了了解缘由,想象一下你是一家试图聘请数据科学家的公司。你几乎确定会有一个至关明确的问题,你须要帮助,而这个问题须要一些至关具体的技术知识和主题专业知识。例如,一些公司将简单模型应用于大型数据集,一些公司将复杂模型应用于小型模型,一些公司须要动态训练模型,一些公司根本不使用(传统)模型。机器学习
这些都须要彻底不一样的技能组合,而有一点特别奇怪的是有抱负的数据科学家收到的建议每每如此通用:“学习如何使用Python,构建一些分类/回归/聚类项目,并开始申请工做“。ide
咱们这些在该行业工做的人承担了不少责任。在随意的对话,博客文章和演示文稿中,咱们倾向于将过多的东西纳入“数据科学”中。为生产构建强大的数据管道?这是一个“数据科学问题。”发明一种新的神经网络?这是一个“数据科学问题”。工具
这并很差,由于它每每会致使有抱负的数据科学家失去对特定问题类别的关注,而是成为全部行业的jacks(在一个已经饱含多面手的市场中,这会使得更难以引发注意或突破)。oop
可是,若是你不知道哪一个常见的问题类能够在第一时间专一,那么很难避免成为一名多面手。这就是我将“数据科学”标题下常常混为一谈的五个问题列出来的缘由:学习
1. 数据工程师测试
职位描述:您将为处理大量数据的公司管理数据管道。这意味着你要确保,当须要数据清理,预处理时,你能够从源头有效地收集和检索数据。优化
为何这很重要:若是您只使用过存储在.csv或.txt文件中的相对较小(<5 Gb)的数据集,那么可能很难理解为何会有人要创建全职工做的人和维护数据管道。这有如下几个缘由:
(1)50 Gb数据集不适合您计算机的RAM,所以您一般须要其余方式将其提供给您的模型
(2)大量数据可能须要花费大量时间来处理,而且常常须要冗余存储。管理该存储须要专业的技术知识。
要求:您将使用的技术包括Apache Spark,Hadoop和/或Hive,以及Kafka。您极可能须要在SQL中拥有坚实的基础。
你要处理的问题听起来像:
“如何构建一个每分钟可处理10000个请求的管道?”
“如何清除此数据集而不将其所有加载到RAM中?”
2. 数据分析师
职位描述:您的工做是将数据转化为可操做的业务洞察。您一般会成为技术团队和业务战略,销售或营销团队的中间人。数据可视化将成为您平常工做的重要组成部分。
为何这很重要:高技术人员一般很难理解为何数据分析师如此重要,但他们确实如此。他们须要将通过训练,测试的模型和大量用户数据转换为易于理解的格式,以便围绕它们设计业务策略。数据分析师帮助确保数据科学团队不会浪费时间来解决没法提供商业价值的问题。
要求:您将使用的技术包括Python,SQL,Tableau和Excel。你还须要成为一名优秀的沟通者。
你要处理的问题听起来像:
“是什么推进了咱们的用户增加数字?”
“咱们如何向管理层解释最近用户费用的增长让人们失望?”
3. 数据科学家
职位描述:您的工做将是清理和探索数据集,并进行预测以实现业务价值。您的平常工做将涉及训练和优化模型,并常常将其部署到生产中。
为何这很重要:若是你有一堆数据对于人类来讲太大而没法解析,并且太有价值而没法被忽略,那么你须要一些方法从中汲取可被消化的看法。这是数据科学家的基本工做:将数据集转换为易于理解的结论。
要求:您将使用的技术包括Python,scikit-learn,Pandas,SQL,以及可能的Flask,Spark和/或TensorFlow / PyTorch。一些数据科学职位纯粹是技术性的,但大多数人要求你具有必定的商业意识,这样你就不会最终解决没有人的问题。
你要处理的问题听起来像:
“咱们到底拥有多少种不一样的用户类型?”
“咱们能够创建一个模型来预测哪些产品将销售给哪些用户?”
4. 机器学习工程师
职位描述:您的工做是构建,优化和部署机器学习模型到生产。您一般会将机器学习模型视为API或组件,您能够将其插入到全栈应用程序或某种硬件中,但您也可能须要本身设计模型。
要求:您将使用的技术包括Python,Javascript,scikit-learn,TensorFlow / PyTorch(和/或企业深度学习框架),以及SQL或MongoDB(一般用于app DB)。
你要处理的问题听起来像:
“如何将此Keras模型集成到咱们的Javascript应用程序中?”
“如何减小推荐系统的预测时间和预测成本?”
5. 机器学习研究员
职位描述:您的工做是找到解决数据科学和深度学习中的挑战性问题的新方法。您不会使用开箱即用的解决方案,而是制做本身的解决方案。
要求:您将使用的技术包括Python,TensorFlow / PyTorch(和/或企业深度学习框架)和SQL。
你要处理的问题听起来像:
“如何将模型的准确性提升到更接近现有技术的水平?”
“自定义优化器会帮助减小培训时间吗?”
我在这里列出的五个职位描述绝对不是孤立的。例如,在早期创业公司,数据科学家也可能必须是数据工程师和/或数据分析师。可是大多数工做会比其余工做更整齐地落入其中一个类别 - 公司规模越大,这些类别就越适用。
总的来讲,要记住的是,为了得到雇佣,你一般会更好地创建一个更集中的技能组合:若是你想成为一名数据分析师,不要学习TensorFlow,若是你想成为一名机器学习研究员,不优先学习Pyspark。
相反,要考虑一下您但愿帮助公司创建的价值,并善于实现这一价值。最重要的是,这是进入大门的最佳方式。