一、分类或回归模型的机器学习项目可以分成以下六个步骤:
(1)定义问题。
(2)理解数据。
(3)数据准备。
(4)评估算法。
(5)优化模型。
(6)结果部署。
二、Python机器学习项目的模板(适用于分类或回归问题)
#1. 定义问题
##a) 导入类库
##b) 导入数据集
#2. 理解数据
##a) 描述性统计
##b) 数据可视化
#3. 数据准备
##a) 数据清洗
##b) 特征选择
##c) 数据转换
#4. 评估算法
##a) 分离数据集
##b) 定义模型评估标准
##c) 算法审查
##d) 算法比较
#5. 优化模型
##a) 算法调参
##b) 集成算法
#6. 结果部署
##a) 预测评估数据集
##b) 利用整个数据集生成模型
##c) 序列化模型
三、解释
步骤1:定义问题
主要是导入在机器学习项目中所需要的类库和数据集等,以便完成机器学习的项目,包括导入Python的类库、类和方法,以及导入数据。同时这也是所有的配置参数的配置模块。当数据集过大时,可以在这里对数据集进行瘦身处理,理想状态是可以在1分钟内,甚至是30秒内完成模型的建立或可视化数据集。
步骤2:理解数据
这是加强对数据理解的步骤,包括通过描述性统计来分析数据和通过可视化来观察数据。在这一步需要花费时间多问几个问题,设定假设条件并调查分析一下,这对模型的建立会有很大的帮助。
步骤3:数据准备
数据准备主要是预处理数据,以便让数据可以更好地展示问题,以及熟悉输入与输出结果的关系。包括:
通过删除重复数据、标记错误数值,甚至标记错误的输入数据来清洗数据。
特征选择,包括移除多余的特征属性和增加新的特征属性。
数据转化,对数据尺度进行调整,或者调整数据的分布,以便更好地展示问题。
要不断地重复这个步骤和下一个步骤,直到找到足够准确的算法生成模型。
步骤4:评估算法
评估算法主要是为了寻找最佳的算法子集,包括:
分离出评估数据集,以便于验证模型。
定义模型评估标准,用来评估算法模型。
抽样审查线性算法和非线性算法。
比较算法的准确度。
在面对一个机器学习的问题的时候,需要花费大量的时间在评估算法和准备数据上,直到找到3~5种准确度足够的算法为止。
步骤5:优化模型
当得到一个准确度足够的算法列表后,要从中找出最合适的算法,通常有两种方法可以提高算法的准确度:
对每一种算法进行调参,得到最佳结果。
使用集合算法来提高算法模型的准确度。
步骤6:结果部署
一旦认为模型的准确度足够高,就可以将这个模型序列化,以便有新数据时使用该模型来预测数据。
通过验证数据集来验证被优化过的模型。
通过整个数据集来生成模型。
将模型序列化,以便于预测新数据。
做到这一步的时候,就可以将模型展示并发布给相关人员。当有新数据产生时,就可以采用这个模型来预测新数据。
使用模板的小技巧
快速执行一遍:首先要快速地在项目中将模板中的每一个步骤执行一遍,这样会加强对项目每一部分的理解并给如何改进带来灵感。
循环:整个流程不是线性的,而是循环进行的,要花费大量的时间来重复各个步骤,尤其是步骤3或步骤4(或步骤3~步骤5),直到找到一个准确度足够的模型,或者达到预定的周期。
尝试每一个步骤:跳过某个步骤很简单,尤其是不熟悉、不擅长的步骤。坚持在这个模板的每一个步骤中做些工作,即使这些工作不能提高算法的准确度,但也许在后面的操作就可以改进并提高算法的准确度。即使觉得这个步骤不适用,也不要跳过这个步骤,而是减少该步骤所做的贡献。
定向准确度:机器学习项目的目标是得到一个准确度足够高的模型。每一个步骤都要为实现这个目标做出贡献。要确保每次改变都会给结果带来正向的影响,或者对其他的步骤带来正向的影响。在整个项目的每个步骤中,准确度只能向变好的方向移动。
按需适用:可以按照项目的需要来修改步骤,尤其是对模板中的各个步骤非常熟悉之后。需要把握的原则是,每一次改进都以提高算法模型的准确度为前提。
以上是从云社区学习到的。