本文是对典型数据科学管道中预期内容的高层次概述。从构建业务问题到创建切实可行的见解。
解决任何数据科学问题的最初步骤是先制定问题, 然后使用数据来解决。
“好的数据科学是更多的问题, 你提出的数据, 而不是数据 munging 和分析”-莱利纽曼
例如, 您已从在线调查收集数据、定期客户反馈、历史采购订单、历史投诉、过去危机等。现在, 使用这些不同的数据堆, 您可能会要求您的数据回答以下问题:
- 下个季度的实际销售目标应该是什么?
- 在即将到来的假期里, 股票的最佳水平是什么?
- 公司应采取何种类型的措施留住客户?
- 可以做些什么来尽量减少投诉?
- 我们如何弥合定性和定量矩阵之间的差距?
- 可以做些什么来带来更多快乐的客户?
问题很重要
您对数据提出的问题越多, 您将获得的洞察力就越多。这就是你自己的数据如何产生隐藏的知识, 这有可能完全改变你的业务。
下面的图形是解决任何数据科学问题的典型管道。
- 获取您的数据。
- 准备/清理您的数据。
- 探索/可视化数据, 使您可以在数字中查找模式。
- 对数据建模。
- 解释结果。
- 重新访问/更新您的模型。
获取数据
数据科学在没有数据的情况下无法回答任何问题。因此, 最重要的是获取数据, 但不只是数据;它必须是 “真实可靠的数据”。很简单, 垃圾在垃圾桶里出来。
作为经验法则, 在获取数据时必须进行严格的检查。现在, 收集所有可用数据集 (可以来自 internet 或外部/内部数据库/第三方), 并将其数据提取为可用格式 (. csv、JSON、XML 等)。
所需技能:
- 分布式存储: Hadoops、Apache 火花/Flink。
- 数据库管理: MySQL、PostgresSQL、MongoDB。
- 查询关系数据库。
- 检索非结构化数据: 文本、视频、音频文件、文档。
准备/清理数据
这一阶段的管道是非常耗时和费力。大多数时间数据都有自己的异常, 如缺少参数、重复值、不相关的功能等。因此, 我们做一个清理练习并只采取对问题很重要的信息是非常重要的, 因为机器学习模型的结果和输出只和你投入的一样好。再次, 垃圾垃圾。
目标应该是彻底检查数据, 以了解您正在使用的数据的每个功能, 识别错误, 填充数据孔, 删除重复或损坏的记录, 有时扔掉整个功能等
所需技能:
- 编码语言: Python, R。
- 数据修改工具: Python 库、Numpy、熊猫、R。
- 分布式处理: Hadoop, 地图减少/火花。
数据的探索/可视化
在可视化阶段, 您应该尝试找出数据所具有的模式和值。您应该使用不同类型的可视化效果和统计测试技术来备份您的发现。这是您的数据将开始通过各种图表、图表和分析揭示隐藏的秘密的地方。域级的专业知识在现阶段是理想的, 以充分理解可视化效果及其解释。
目标是通过可视化和图表来找出模式, 这也将导致特征提取步骤使用统计信息来识别和测试重要变量。
所需技能:
- 蟒蛇: NumPy, Matplotlib, 熊猫, SciPy。
- R: GGplot2, Dplyr。
- 统计: 随机抽样, 推断。
- 数据可视化: Tableau。
对数据建模 (机器学习)
机器学习模型是通用工具。您可以访问许多工具和算法, 并使用它们来实现不同的业务目标。您使用的功能越好, 您的预测能力就越好。在清理数据并找出对于给定业务问题最重要的功能时, 使用相关模型作为预测工具将会增强决策过程。
这样做的目的是进行深入分析, 主要是创建相关的机器学习模型, 比如预测模型/算法来回答与预测相关的问题。
第二个重要的目标是评估和完善您自己的模型。这涉及多个评估和优化周期的会话。任何机器学习模型在第一次尝试时都不可能是最高级的。您将必须通过对数据的新鲜摄取、最小化损失等进行培训来提高其准确性。
可以使用各种技术或方法来评估模型的准确性或质量。评估机器学习算法是数据科学管道的重要组成部分。当使用指标进行评估时, 您的模型可能会给您带来令人满意的结果accuracy_score但在评估其他指标 (如logarithmic_loss或任何其他此类指标) 时可能会产生较差的结果。使用分类精度来衡量模型的性能是一种标准方法, 然而, 真正判断模型是不够的。因此, 在这里, 您将测试多个模型的性能, 错误率等, 并考虑根据您的要求的最佳选择。
一些常用的方法是:
- 分类精度。
- 对数损失。
- 混淆矩阵。
- 曲线下的区域。
- F1 得分。
- 平均值绝对误差。
- 均方根误差。
所需技能:
- 机器学习: 监督/无监督算法。
- 评价方法。
- 机器学习库: Python (Sci 套件学习, NumPy)。
- 线性代数和多元微积分。
解释数据
解释数据更像是向相关方传达您的发现因此, 这一步变得非常关键。
此步骤的目标是首先确定业务洞察, 然后将其与您的数据发现关联起来。您可能需要让领域专家参与调查结果与业务问题的关联。领域专家可以帮助您根据业务维度来可视化您的发现, 这也将有助于将事实传达给非技术受众。
所需技能:
- 业务领域知识。
- 数据可视化工具: Tableau、D3、Matplotlib、ggplot2、Seaborn。
- 沟通: 演讲和报告/写作。
重新审视您的模型
当您的模型在生产中时, 根据您收到新数据的频率或业务性质的变化, 定期重新访问和更新模型变得非常重要。您收到的数据越多, 更新的频率就越多。假设你在一家运输公司工作, 有一天, 燃料价格上涨, 公司不得不把电动汽车的稳定。您的旧型号没有考虑到这一点, 现在您必须更新包含此新类别车辆的模型。如果没有, 您的模型将随着时间的推移而降级, 并且不会执行, 也会使您的业务降级。引入新功能将通过不同的变体或可能与其他功能的相关性改变模型性能。
总之
-
确定您的业务问题并提出问题。
-
从真实可靠的来源获取相关数据。
-
获取数据、清理数据、利用可视化效果浏览数据、使用不同的机器学习算法对数据进行建模、通过评估解释数据以及定期更新旧模型。
您分析的大部分影响将来自您在数据平台中构建的强大功能, 而不是伟大的机器学习算法。因此, 基本方法是:
-
确保管道是实心的, 端到端。
-
从一个合理的目标开始。
-
直观地了解您的数据。
-
确保管道保持稳定。
所以, 这就是我对数据科学管道的研究。如果有什么, 你们想添加到这篇文章, 或如果你发现任何滑移, 请随时留言, 不要犹豫!任何形式的反馈都是真正的赞赏。谢谢!