机器学习pipeline
一个典型的机器学习包括以下几个过程:
1. 定义问题
理解实际场景是机器学习的第一步,需要将业务问题抽象为机器学习能处理的数学问题,包括明确可以获得哪些数据、什么样的数据、数据是怎样的格式,原始数据需要做怎样的处理,机器学习的目标是一个分类、回归还是聚类等。
2. 获取数据
“ 数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限”。获取的数据需要业务相关,能够解决业务问题,并且是全面的、客观的,具有“代表性”的数据。
3. 数据处理
现实世界的数据一般是不完整的、有噪声的和不一致的。机器学习80%的时间都是在做数据处理,数据处理是机器学习的基础步骤。
数据预处理、数据清洗决定的数据质量,特征工程是机器学习的关键,主要包括从清洗后的数据中,根据实际业务场景提取特征,筛选出显著特征、摒弃非显著特征,需要结合领域知识反复迭代,这对很多结果有决定性的影响。此外还需对特征进行转换、离散化、归一化等。
4. 模型训练、评估与调优
选择合适的模型并通过训练数据训练模型,通过测试数据,评估模型的有效性,分析原因,提升算法性能。
5. 模型部署
模型上线运行,根据准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性
不断迭代优化。