项目问题定义:预测工业锅炉蒸汽量,所以项目问题属于回归问题,采用的各种算法应该都属于回归算法。
数据预处理:
- 异常值处理:给定数据经过脱敏,无法了解每个特征的具体含义,所以异常值的界定较为模糊,所以在项目实践中没有进行异常值处理。
- 缺失值处理:经过观察,该脱敏数据数据完整,不存在缺失值。
- 数据标准化:对数据进行Min-Max Scaler标准化
- 数据偏态处理:通过观察每个特征的数据分布,对右偏数据采用对数化处理;对左偏数据采用指数化处理。
- 对经过偏态处理后的数据,以数据为中心进行scale缩放。
特征工程:
- 通过比较训练集与测试集在每个特征上的分布,删除训练集与测试集分布差异较大的特征。
- 根据每个特征的方差大小来判断特征所包含的价值。指定一个方差阈值,删除低于该阈值的特征。
- 单变量选择:对于该回归问题,基于方差分析中的f_regression,根据相关性对特征进行选择,该项目指定排名前18的特征入选
模型选择:
首先,分别训练以linear为核函数的支持向量回归机(SVR)、线性回归模型、Lasso回归模型、ElasticNet回归模型、使用核函数的岭回归模型1(以polynominal为核函数)、使用核函数的岭回归模型2(以linear为核函数)、XGBregreressor模型、深度学习KreasRegressor模型。通过K折交叉验证计算上述模型的MSE的均值和标准差。
然后,根据模型的均值、标准差,选择其中的几个模型,利用集成学习的思想将选定模型进行集成。
最后,利用训练集对集成模型进行训练,然后用测试集进行测试,得到最终结果。