linux工程师,RHCE
分类: 系统运维
2019-12-01 22:29:03
数据科学家必备技能Top10
数据科学领域的发展日新月异。只有掌握了数据科学的基础知识,才能够继续学习那些更加高深的概念,比如深度学习和人工智能。
数据科学领域的发展日新月异。只有掌握了数据科学的基础知识,才能够继续学习那些更加高深的概念,比如深度学习和人工智能。
而数据科学所涵盖的内容极为宽泛,其分支领域包括数据准备与探索、数据表示与转换、数据可视化与表达、预测分析以及机器学习等。听到这里,初学者自然会产生疑惑:哪些技能才是数据科学家的必备技能呢?
为此,本文将探讨十项数据科学家必须学习的重要技能。
这些技能大体上可分为两类,即专业技能与软技能。其中,专业技能包括数学与统计学、编码、数据整合与预处理、数据可视化、机器学习、项目实践技能等;软技能则包含人际交流、终身学习、团队合作以及伦理道德。
义无反顾地开始吧~
1. 数学与统计学
(1)统计学与概率
统计学与概率主要应用于特征可视化、数据预处理、特征转换、数据重建、数据降维、特征工程以及模型评价等领域。在开始学习之前,需要先熟悉以下概念:
a) 平均数
b) 中位数
c) 众数
d) 标准差
e) 相关系数与协方差矩阵
f) 概率分布(二项分布、泊松分布、正态分布)
g) P值
h) 均方误差
i) 决定系数R2
j) 贝叶斯定理(查准率、查全率、阳性预测值、阴性预测值、混淆矩阵、ROC曲线)
k) A/B测试
l) 蒙特卡洛模拟
(2)多元微积分
大部分机器学习模型都是基于某一数据集创建而成,并且该数据集通常含有多种特征值或者预示变量。因此在创建一个机器学习模型之前,必须要足够了解多元微积分。因此,应该熟悉以下概念:
a) 多变量函数
b) 导数与斜率
c) 阶梯函数、S型函数、效用函数、线性整流函数
d) 代价函数
e) 函数绘图
f) 函数最大值与最小值
(3)线性代数
线性代数是机器学习领域最重要的数学技能。数据集可以通过矩阵进行表示。在数据预处理、数据转换以及模型评价过程中都会用到线性代数。因此,需要了解的概念如下:
a) 矢量
b) 矩阵
c) 矩阵的转置
d) 逆矩阵
e)矩阵的行列式
f) 点积
g) 特征值
h) 特征向量
(4)优化方法
大部分机器学习算法在运行预测模型时,通过最小化处理目标函数,然后获取用于测试数据的权值,以此获得预测标签。为此,需要熟悉以下概念:
a) 代价函数/目标函数
b) 似然函数
c) 误差函数
d) 梯度下降算法与其变量(随机梯度下降算法)
如果想要进一步了解梯度下降算法,请点击此处:《机器学习:梯度下降算法的工作原理》。
2. 编程
在数据科学领域,编程是一项非常重要的技能。其中,使用最普遍的两种编程语言分别是Python语言与R语言,因此必须对它们加以了解。但是,某些组织可能并不要求人们同时掌握Python语言与R语言,只需熟练使用其中任意一种即可。
(1)Python编程语言
大家应该熟练掌握基本的Python编程技能。为此,下文列出了几种最重要Python安装包,应该加以了解并熟练使用。
a) Numpy
b) Pandas
c) Matplotlib
d) Seaborn
e) Scikit-learn
f) PyTorch
(2)R编程语言
a) Tidyverse
b) Dplyr
c) Ggplot2
d) Caret
e) Stringr
(3)其它编程语言
在当今社会,某些行业组织可能还会要求掌握一些其他编程语言,比如:
a) Excel
b) Tableau
c) Hadoop
d) SQL
e) Spark
3. 数据整合与预处理
在数据科学领域,无论是推理分析、预测性分析,还是处方性分析,任何分析过程都少不了数据的参与。某一预测模型能否进行准确预测,主要取决于建模过程中使用的数据质量如何。数据的形式丰富多样,比如文本、表格、图像、语音和视频。通常,用以分析的数据需要进行挖掘、处理,并将其转换成一种合适的形式,以便后续分析。
(1)数据整合:对于每一位数据科学家来说,数据整合都是非常重要的一步。在数据科学项目中,大部分数据都无法直接用于分析,因为它们通常存在于文件、数据库或者各种文档中,比如网页、推文或者PDF文档。因此,必须学习如何整合与清理数据,才能从中得出深刻见解。
(2)数据预处理:了解数据预处理同样至关重要,与其相关的主要概念如下:
a) 处理缺失数据
b) 数据重建
c) 处理分类数据
d) 在处理分类问题时对类别标签进行编码
e) 各种特征转换技术与降维方法,例如主成分分析法(PCA)、线性判别分析法(LDA)
4. 数据可视化
一个合格的数据可视化应具备以下几点:
a) 数据类型:在决定如何对数据进行可视化处理时,首先要了解数据的类型,比如它是分类数据、离散数据、连续数据、时序数据,还是其它种类。
b) 几何图形:需要根据数据类型选择合适的可视化方法,具体包括散点图、曲线图、条形图、直方图、qqplot图、密度图、箱形图、pairplot多变量图,以及热图等。
c) 映射:需要分别选择X轴与Y轴的变量。如果要分析的数据是一个包含多种特征值的多维数据集,那么这一步就尤为重要。
d) 标度:需要选择使用何种标度,例如线性标度或者对数标度。
e) 标签:此时所使用到的标签主要包括坐标轴、标题、图例、字号等。
f) 伦理道德:必须确保该可视化方法能够阐述事实。在对数据进行清理、总结,最后进行可视化处理过程中,必须注意自己的每一步操作,从而确保最终结果真实可靠,不会误导读者。
5. 基本的机器学习技能
机器学习是数据科学的一个重要分支,因此了解机器学习框架同样至关重要,比如问题框架、数据分析、建模、测评,以及模型应用。如果想要进一步了解机器学习框架,请点击此处:《机器学习过程》。
下文列出了一些重要的机器学习算法,应当加以学习。
(1)监督学习(连续变量预测)
a) 基本回归分析
b) 多维回归分析
c) 正则化回归
(2)监督学习(离散变量预测)
a) 逻辑回归分类器
b) 支持向量机分类器
c) k-近邻算法分类器
d) 决策树分类器
e) 随机森林分类器
(3)无监督学习
a) k-均值聚类算法
6. 数据科学项目实践技能
如果想要成为一名数据科学家,仅凭书本上的知识是完全不够的。一名合格的数据科学家必须能够在现实世界中去执行,并成功完成某一数据科学项目。这一过程会涉及到数据科学与机器学习中的各个阶段,比如问题框架、数据采集与分析,以及模型的建立、测评与安装。如果想要获取数据科学实践项目,可以通过以下方式:
a) Kaggle项目实战
b) 企业实习
c) 企业面试
7. 交流能力
一个合格的数据科学家需要能够与团队成员或者组织领导交流自己的想法。因此,如果一个数据科学家具备优秀的交流能力,那么他将能够把各种非常专业的信息清楚地传达给他人,即便是一个毫无数据科学背景的门外汉。此外,良好的交流能力也能在数据科学家与其他团队成员之间(比如数据分析师、数据工程师、现场工程师等)营造出一种团结协作的氛围。
8. 终身学习
数据科学领域一直处于不断的变化和发展之中,因此人们也应该时刻准备接纳和学习各种新兴技术。要想紧跟数据科学领域的发展步伐,方法之一就是与其他数据科学家打交道。因此为了扩大社交圈,网上有许多平台可供选择,比如LinkedIn领英网、GitHub代码库,以及Medium网站(其中有Towards Data Science和 Towards AI 专栏)等。这些平台都非常有用,能够给人们提供数据科学领域最前沿的发展信息。
9. 团队合作
在实际工作过程中,数据科学家将与其他成员进行团队合作,团队中可能包括数据分析师、工程师,以及各种管理人员。因此,数据科学家不仅需要具备良好的沟通能力,还需要仔细倾听其他成员的想法,尤其是在项目推进的早期。因为在这一阶段,数据科学家需要依靠工程师或者其他专业人士来设计一个优质的数据科学项目。此外,高超的团队合作技能能够帮助人们在职场上发光发亮,并且与其他团队成员、管理人员,或者是组织领导培养良好的人际关系。
10.数据科学的伦理道德
必须清楚该项目可能会带来的社会影响。务必实事求是。切忌操控数据,或者使用容易产生偏见的方法。从数据采集到数据分析,从建立模型再到模型的分析与测评,每一个阶段都必须遵守基本的伦理道德。切忌企图通过伪造的结果来误导或操控读者。阐述研究结论时务必守住道德底线。
简言之,本文共讨论了十项数据科学家的必备技能。数据科学领域的发展瞬息万变,只有掌握好该领域的基础知识,人们才能继续探索更加先进的理论,比如深度学习、人工智能等。
大家,加油! 《linux就该这么学》不错的linux自学书籍