将解决数据科学问题看作是遵循结构化路线图,而非一蹴而就。正如工程师遵循蓝图、科学家遵循实验方案一样,数据科学家通常会按一系列步骤进行,以从一个初始问题得到有价值的答案。这个过程并非总是严格线性的;随着获得更多信息,它常涉及回到较早的阶段进行调整。然而,理解其总体流程为组织工作提供了一个有益的框架。这种整体结构常被称为数据科学工作流程或数据科学过程。虽然具体细节可能因项目而异,但核心阶段通常包含:主要阶段定义问题: 这是起点。你正试图用数据回答什么具体问题?你正试图达成什么业务目标?清晰的定义是基础,因为它指导所有后续步骤。如果没有明确的问题,你的分析可能会缺乏方向。例子有:“哪些客户最有可能停止使用我们的服务?”或“我们能根据房屋特征预测房价吗?”数据获取: 一旦你明确了问题,就需要原始材料:数据。此阶段涉及从各种来源收集相关数据。数据可能来自数据库、文件(如电子表格或CSV文件)、网络API、传感器,甚至通过问卷调查进行人工收集。数据准备(和清洗): 原始数据通常杂乱、不完整或不一致。这个阶段通常最耗时,它涉及清洗和组织数据,使其适合进行分析。任务包括处理缺失值、纠正错误、删除重复项以及将数据转换为可用格式。可以把它看作是烹饪前准备食材。数据查看分析(EDA): 有了准备好的数据,你就可以开始查看。EDA涉及检查数据集以了解其主要特点,通常使用汇总统计和数据可视化。目标是发现规律、识别异常、验证初始假设并检查假定。这有助于你了解数据并调整你的方法。建模(介绍): 根据目标,此阶段可能涉及构建模型。在数据科学中,模型通常是一种基于数据构建的数学或计算表示,用于帮助理解关联、进行预测或分类结果。例如,你可能构建一个模型,根据客户的过往行为预测客户流失。在这个介绍层面,可以将其视为基于数据寻找一个简化的方法或规则。沟通成果(并可能部署): 最后一步是分享你的成果。这可以通过报告、仪表盘、演示文稿或可视化图表进行,清晰地向利益相关者传达从分析中获取的观点。如果构建了预测模型,此阶段还可能涉及将其部署到实际系统中以进行持续预测。循环式工作流程这些步骤很少以完美的单向顺序完成,而是一个迭代过程。数据查看分析(EDA)中的发现可能显示数据存在问题,从而促使你回到数据准备阶段。初始模型表现不佳可能促使你收集更多数据(数据获取)或重新审视问题定义。digraph DataScienceWorkflow { rankdir=LR; node [shape=rect, rounded=true, style="filled", fontname="sans-serif", fillcolor="#e9ecef"]; edge [fontname="sans-serif"]; splines=true; overlap=false; "问题定义" [fillcolor="#a5d8ff"]; "数据获取" [fillcolor="#96f2d7"]; "数据准备" [fillcolor="#ffec99"]; "数据查看分析" [fillcolor="#ffd8a8"]; "建模" [fillcolor="#fcc2d7"]; "沟通成果" [fillcolor="#d0bfff"]; "问题定义" -> "数据获取" [label=" 需要"]; "数据获取" -> "数据准备" [label=" 提供原始数据"]; "数据准备" -> "数据查看分析" [label=" 提供清洗数据"]; "数据查看分析" -> "建模" [label=" 给出信息"]; "建模" -> "沟通成果" [label=" 产生结果"]; "数据查看分析" -> "数据准备" [dir=back, style=dashed, color="#adb5bd", label=" 调整"]; "数据查看分析" -> "数据获取" [dir=back, style=dashed, color="#adb5bd", label=" 需要更多/不同数据"]; "建模" -> "数据查看分析" [dir=back, style=dashed, color="#adb5bd", label=" 重新查看"]; "建模" -> "数据准备" [dir=back, style=dashed, color="#adb5bd", label=" 重新处理"]; "建模" -> "问题定义" [dir=back, style=dashed, color="#adb5bd", label=" 重新评估目标"]; }典型的数据科学工作流程,强调其迭代特性,即在后期阶段发现的观点或问题经常会回到早期阶段。这种循环性是数据科学的核心组成部分。每次循环理想情况下都能让你更接近有用的观点或更有效的解决方案。本章接下来的部分将更详细地审视这些阶段,即问题定义、数据获取、数据准备、数据查看分析、建模思路和沟通成果,帮助你更清楚地了解每个步骤中发生的情况。