# study **Repository Path**: AmberHan/study ## Basic Information - **Project Name**: study - **Description**: 工业蒸汽量模型的学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-08 - **Last Updated**: 2022-05-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工业蒸汽量模型的学习 题目说明:\        经脱敏后的锅炉传感器采集的数据(采集频率是分钟级别),根据锅炉的工况,预测产生的蒸汽量。(均方方差最小) >*`问题思路`*:通过提供的V0~V37预测连续值的target,典型的回归问题。常见的回归算法包括线性回归、决策树回归等。 > **** ## 文件说明 - demo:数据预处理,降维,正态化,可视化; - demo1: 数据验证,交叉验证; - demo3: 特征优化,构造特征函数; - demo_final: 模型总代码(从头到尾) ## 1. 数据分析(demo) - `变量分析:` 连续-连续:散点图、热力图 连续-类型:双向表(频次和频率占比)、[卡方检验](https://blog.csdn.net/ludan_xia/article/details/81737669) 连续-类型:小提琴图 - `缺失值处理:` 删除:当特征列或特征行缺失达到90% 填充:均值、中位数、相似样本(依据相关度高还原) 预测:划分出缺失列,通过模型训练填充 - `异常值检测:` 通过箱型图、直方图、散点图查看 - `异常值处理:` 删除、转换(归一化)、填充(人为造成)、单独处理(大量异常值) **** ## 2. 数据转换        通过可视化发现,数据分布不均,需要归一化处理,故对变量取值进行转换->正态分布 - `标准化:` 比例缩放,但不改变数据分布 - `取平方:`右倾(对数、平方立方根、对数)、左倾(平方、立方、指数) - `分组:` 按百分比分划分训练 - `虚变量:` 变量拆分、哑变量(0 1) **** ## 3. 注意 - 对训练集和测试集进行特征分析,查看相同变量的概率分布是否一样(不一致需要进一步处理); - 查看数据集是否符合正态分布,若不一样,train和test数据拿出来做归一化处理; - 大道至简,好的数据和特征选取决定机器学习的上线,模型和算法是逼近这个上限; - 一般流程:数据预处理(采集->清洗->采样);特征处理(补缺失值、归一化、虚变量、转换、降维) - 降维:相关系数、信息熵、卡方检验(自变量对定性因变量的相关性)、主成分分析、线性分析(LDA) **** ## 4. 模型检验(demo1) - 欠拟合和过拟合 `欠拟合:`加特征、加多项式、减小lamda `过拟合:` 减特征、采集更多数据、增加lamda - 模型选择方法 `正则化:`选择经验风险和模型复杂度低的(Occam's razor),可理解为惩罚因子 `交叉检验:` K折、留一交叉验证 **** ## 5.demo模型 - LinearRegression、KNeighborsRegressor、DecisionTreeRegressor、RandomForestRegressor、svm、lightgbm **** ## 6.特征优化 demo3 - 合成特征: 由一个或多个输入特征衍生而来(标准化单独特征非合成特征) `1. 特征组合:`特征自身或与其他相乘 `2. 两个特征相除` `3. 特征分箱:` 连续特征分区 **** ### 7.模型融合 1. 模型学习曲线 - 高偏差:欠拟合(说明准确率低) - 高方差:过拟合(说明模型复杂、训练集准确率好,但验证集泛化能力不好) 2. 模型融合技术 - 提高个体分类器数目T,集成学习器错误率也会指数级下降 - 如果个体学习器,相互独立,无强依赖,可并行运算,如随机森林和Bagging - 如何个体学习器强依赖,必须串行生成序列化方法,如Boosting 3. Bagging & 随机森林 - Bagging采用自助采样法,对m个样本,随机采样,然后放回(下采样) - 随机森林限定学习器为决策树、样本和属性随机扰动,然后最优划分 - Boosting,训练过程呈阶梯状,有AdaBoost和Boosting Tree 4. 融合策略 - Voting:硬投票(对多个模型投票,少数服从多数)、软投票(对模型增加了权重); - Averaging和Ranking: 取模型的(加权)平均值进行预测; - Blending:第一次阶段70%数据训练多个模型,30%验证;第二阶段,用30%数据在第一阶段基础上继续训练;