很多对数据科学领域感兴趣的人,最关心的问题之一就是:获得数据科学方面的能力需要多长时间?
本文将讨论典型的数据科学能力进程表。获得数据科学能力所需的时间取决于能力的水平,共分为三个层次,最后将讨论基于兴趣水平获得数据科学能力所需的时间。注意本文提供的观点是基于自己的数据科学经验提出的个人观点。
数据科学的三个层次
在讨论数据科学能力进程表之前,首先介绍数据科学的三个层次。本节将讨论笔者认为的数据科学能力的三个层次:1级(基础)、2级(中级)和3级(高级)。能力从1级增加到3级。这里将使用Python作为默认语言,即使其他编程语言(例如R,SAS和MATLAB)也可用于数据科学。
基础水平
在第一级,你应该学会使用通常以逗号分隔符(CSV)文件格式表示的数据集,应该具备掌握数据基础知识的能力,如数据可视化和线性回归。
1. 数据基础知识
能够操作、清理、结构化、缩放和设计数据。熟练使用pandas和NumPy库,具备以下能力:
- 知道如何导入和导出以CSV文件格式存储的数据
- 能够清理、整理和组织数据以进行进一步分析或建模
- 能够处理数据集中的缺失值
- 了解并能够应用数据插值技术,例如均值或中位数插值
- 能够处理类别数据
- 知道如何将数据集划分为训练和测试集
- 能够使用诸如归一化和标准化之类的缩放技术来缩放数据
- 能够通过降维技术(例如主成分分析(PC))来压缩数据
2. 数据可视化
能够理解好的数据可视化的基本组成部分。能够使用数据可视化工具,包括Python的matplotlib和seaborn包和R的ggplot2包。应该了解好的数据可视化的基本组成部分:
- 数据组件:决定如何可视化数据的重要的第一步是了解数据的类型,例如分类数据、离散数据、连续数据、时间序列数据等。
- 几何组件:决定哪种可视化适合你的数据,例如散点图、线图、条形图、直方图、Q-Q图、平滑密度图、箱形图、多变量图以及热图等。
- 映射组件:需要确定将什么变量用作x变量,将什么变量用作y变量。这一点很重要,尤其是当数据集是具有多个特征的多维数据集时。
- 比例组件:决定使用哪种比例,例如线性比例、对数比例等。
- 标签组件:包括轴标签、、图例、要使用的字体大小等内容。
- 道德构成要素:确保可视化过程是真实的。在清理、汇总、操作和生成数据可视化效果时注意操作,并确保不会使用可视化效果误导或操纵受众。
3. 监督学习(预测连续目标变量)
熟悉线性回归和其他高级回归方法。能够使用scikit-learn和caret等数据包进行线性回归模型构建。具有以下能力:
- 能够使用NumPy或Pylab执行简单的回归分析
- 能够使用scikit-learn执行多元回归分析
- 了解正则化的回归方法,例如Lasso回归、岭回归和弹性网络
- 了解其他非参数回归方法,例如K近邻回归(KNR)和支持向量回归(SVR)
- 了解评估回归模型的各种指标,例如MSE(均方误差)、MAE(平均绝对误差)和R2分数
- 能够比较不同的回归模型
中级水平
除了基础级别的技能和能力外,还应具备以下能力:
1. 监督学习(预测连续目标变量)
熟悉二值分类算法,例如:
- 感知机分类器
- Logistic回归分类器
- 支持向量机(SVM)
- 能够使用核SVM解决非线性分类问题
- 决策树分类器
- K最近分类器
- 朴素贝叶斯分类器
- 了解评估分类算法质量的几个指标,例如准确度、精确度、灵敏度,特异度、召回率、f-l得分、混淆矩阵以及ROC曲线。
- 能够使用scikit-learn建立模型
2. 模型评估和超参数调整
- 能够将管道(pipeline)中的变换操作和评估操作结合
- 能够使用k折交叉验证来评估模型性能
- 知道如何使用学习和验证曲线来调试分类算法
- 能够通过学习曲线诊断偏差和方差问题
- 能够解决验证曲线过拟合和欠拟合的问题
- 知道如何通过网格搜索微调机器学习模型
- 了解如何通过网格搜索调整超参数
- 能够读懂和解释混淆矩阵
- 能够绘制和解释工作特性(ROC)曲线
3. 结合不同模型进行集成学习
- 能够对不同的分类器使用集成方法
- 能够结合不同的算法进行分类
- 知道如何评估和调整集成分类器
高级水平
能够处理高级数据集,例如文本、图像、语音和视频。除基本和中级技能外,还应具备以下能力:
- 聚类算法(无监督学习)
- K均值
- 深度学习
- 神经网络
- Keras
- TensorFlow
- Theano
- 云系统(AWS,Azure)
数据科学能力进程表
基础水平需要6到12个月,中级水平需要7到18个,高级水平需要18到48个月。
数据科学能力的大致进程表| 图源:Benjamin O. Tayo
需要注意,这些只是近似值。获得一定水平的能力所需的时间长短取决于学科背景以及愿意在数据科学研究中投入多少时间。通常,和不具有数据科学相关背景的人相比,具有诸如物理学、数学、科学,工程、会计或计算机科学等分析学科背景的人需要的时间更少。
基础水平可以在6到12个月内达到,中级水平可以在7到18个月内达到,高级水平可以在18到48个月内达到。这完全取决于投入的精力和每个人的背景。总而言之,如果热爱,那就去试试吧!