【IT168 评论】通常来说,年轻人都很容易立志成为什么,例如成为一名科学家,然后又很快放弃。这一方面是因为摆在他们面前的诱惑太多,也因为成为一名科学家真的很不容易。
这一点放在数据科学上尤其突出。实际上,近年来随着数据科学和机器学习的火爆,我们经常能遇到刚毕业的大学生立志成为数据科学家,但很快又放弃的例子。究其原因,我认为在很大程度上是因为要成为一名真正的数据科学家,需要掌握的专业知识实在是太多了:包括计算机科学、编程基础、数学知识、机器学习算法甚至商业洞察力等等。
看起来这些知识无穷无尽,而且还在不断地发展和变化,似乎终其一生也无法完全掌握。但实际上并非如此,下文我们整理了成为数据科学家的四个关键因素,它们并没有想象中的庞杂,而且正是由于不断的发展和变化,因此对于新手来说通常只需要关注其中比较核心的基础知识就可以了。
成为数据科学家的四个关键因素:
编程基础:例如 R 语言和 Python 语言,这两种语言是数据科学家们最常使用的数据建模、数据清理和数据管理语言。
机器学习核心算法:例如回归、朴素贝叶斯、支持向量机 SVM(Support Vector Machine)、随机森林等,大部分面试官都希望面试者们能了解这些最基本的机器学习算法。
在恰当的问题上磨炼自己:对于数据科学家而言,优秀和伟大之间的一个重要差别就是:找准一个恰当的问题并为之锲而不舍的能力。
能讲述一个激动人心的故事:这将有助于你说服客户并让他们最终采纳你的意见。
下面我们围绕这四点展开阐述。
编程语言
与精通一门或者一系列编程语言相比,数据科学家应该更关注编程的灵活性。即他们需要具备迁移学习的能力,将一种语言的编程技巧轻松迁移到当前项目需要的语言中,目标是找到解决问题的非常好的方案。
为此,对新手来说最好的办法是先学习一些应用广泛的基础性语言。例如专注于统计计算的 R 语言,以及更具通用性的 Python 语言。一旦你熟悉了这两种语言,那么学习其他新语言就会容易得多,因为它们之间一定存在一些通用的特性和语法细节。
总之,作为一名数据科学家,编程语言只是一种工具,你并不需要成为编程领域的专家。但你必须熟悉它们,以便于利用这些工具解决一些现实的数据研究问题,以及一些简单的编码和调试问题。
机器学习算法
这里首先需要强调的是,在机器学习算法中我们仍然应该专注于基础知识,避免盲目追求最新技术。
这是因为没有了基础的支持,最新的技术成果也将变得毫无意义。一个数据科学家应该关注于技术核心,例如评估机器学习分类算法的优劣,了解客户更关心哪些分类错误等。毕竟,真实成本分析比准确率更有价值。
同样,懂得各种机器学习算法之间的差异,能够为模型选择最恰当的参数也非常重要。一般基础的机器学习分类器包括逻辑和线性回归、朴素贝叶斯、随机森林和 K 均值聚类等。这里需要强调的是:机器学习是一个不断发展变化的学科,不要试图一蹴而就。也就是说,作为数据科学初学者,你不应该把太多的精力放在机器学习和人工智能上,而应该多考虑一些非技术的要素。
非技术性要素
认为技术要素是促成最终成功的最大驱动力,是一个非常常见的错误,对于数据科学家而言,我认为沟通技巧和解决问题的能力也许更加重要。因为这些能力将有助于你取得诸多具有影响力的成果:包括增加公司收入、创新产品甚至改变整个行业的走向。最终你将从一名普通的 SQL 程序猿成长为一个值得信赖的商业伙伴。下面列出我认为最重要的三点非技术要素。
1. 我认为最关键的一个非技术要素就是“数据直觉”(data intuition),即结合领域内的专业知识和商业敏感性,提出最深刻的见解,并能够快速决策的能力。数据直觉可以让从业者以多种不同的方式理解数据,找出数据中的异常值,以及最不容易发觉的变化趋势。
通常情况下我都会把处理数据问题视为一个柠檬,即随着时间的推移,通过不断努力,我究竟能从这颗柠檬里榨出多少有价值的果汁。而这也是数据直觉的含义:为了找到最优的解决方案,你已经尝试了所有可能的方法,从数据中发掘了所有有价值的信息。
当然,培养自己的数据直觉需要时间,也需要实践的积累。实际上,一个最有效的培养方法就是参与一些与自己的工作和生活息息相关的项目,例如买房子、或者买一辆新的山地自行车。另一个方法是处理与自己的爱好相关的数据。这种方法的优势是:你对自己喜欢的行业已经有了一定的前期了解,另外你对该问题的结论也具有天然的热情。最终,在这些项目中总结和积累的“直觉”将被应用于其他的数据分析场景。
2. 我认为第二点非常关键的非技术因素是解决问题的能力,也就是将客户的需求转化为具体的问题,并将其分解成一系列可以切实执行的解决方案的能力。以下是我在这方面的一些经验总结,仅供参考:
深刻认识问题的内容和意义,只有充分认识了问题,才能解决问题;
找到可用数据,如果数据的格式有问题,找出解决办法;
分析数据,并发掘其中决定性的变化趋势,找到最能说明问题的变量或特征;
研究哪种分析算法和模型最高效,并预测、解释结果;
将你的分析结果分享给利益相关者,并向他们征求意见。
3. 最后一点非技术要素:认识到你的工作不仅仅是数据分析,它也包括向非技术人员提供大数据意见指导。因为大多数普通用户并不会谈论数据,他们只关心营收、销售、推广和产品。将专业技术转化为业务支持,这才是作为数据科学家的工作核心。
现在,请牢记上述四个关键点,向着数据科学家的目标奋勇前进吧,助你好运!