数据科学领域的发展日新月异. 只有掌握了数据科学的基础知识, 才能够继续学习那些更加高深的概念, 比如深度学习和人工智能.
而数据科学所涵盖的内容极为宽泛, 其分支领域包括数据准备与探索, 数据表示与转换, 数据可视化与表达, 预测分析以及机器学习等. 听到这里, 初学者自然会产生疑惑: 哪些技能才是数据科学家的必备技能呢?
为此, 本文将探讨十项数据科学家必须学习的重要技能.
这些技能大体上可分为两类, 即专业技能与软技能. 其中, 专业技能包括数学与统计学, 编码, 数据整合与预处理, 数据可视化, 机器学习, 项目实践技能等; 软技能则包含人际交流, 终身学习, 团队合作以及伦理道德.
义无反顾地开始吧~
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) 标度: 需要选择使用何种标度, 例如线性标度或者对数标度.
来源: http://news.51cto.com/art/201911/606998.htm