【机器学习竞赛+笔记干货】工业蒸汽量预测:模型训练篇(四)


相关阅读:

比赛地址:工业蒸汽量预测_学习赛_天池大赛

4 模型训练

4.1 回归及相关模型

4.1.3 线性回归模型

假定因变量Y与自变量X呈线性相关,则可以采用线性模型找出两者的关系。

1. 一元线性回归模型

一元线性回归模型使用单一特征来预测响应值,拟合的最佳曲线通过最小化预测值和真实值之间的误差得到。
在这里插入图片描述

2. 多元线性回归模型

多元线性回归模型是利用多个自变量估计因变量,从而解释和预测因变量的值。
多元线性回归模型的一般形式:
y = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β p x p + ε y=\beta_0+\beta_1x_1+\beta_2x_2+\dots+\beta_px_p+\varepsilon y=β0+β1x1+β2x2++βpxp+ε

3. 线性回归调用方法

切分数据集:

from sklearn.model_selection import train_test_split
train_data,test_data,train_target,test_target=train_test_split(train,target,test_size=0.2,random_state=0)

调用线性回归模型进行预测:

from sklearn.metrics import mean_sqared_error
from sklearn.linear_model import LinearRegression
clf=LinearRegression()
clf.fit(train_data,tarin_target)
test_pred=clf.predit(test_data)
score=mean_sqared_error(test_target,clf.predit(test_data))
print("LinearRegression:",score)

4.1.4 K近邻回归模型

1. K近邻回归介绍

通过找出某个样本的k个最近邻居,将这些邻居的某个属性的平均值付给该样本。

2. K近邻回归调用方法
from sklearn.neighbors import KNeighborsRegressor
clf.KNeighborsRegressor(n_neighbors=3)
clf.fit(train_data,train_target)
test_pred=clf.predit(test_data)
score=mean_sqared_error(test_target,clf.predit(test_data))
print("KNeighborsRegressor:",score)

4.1.5 决策树回归模型

1. 决策树回归模型介绍

根据一定准则,将一个空间划分为若干个子空间,然后利用子空间内所有点的信息表示这个子空间的值。
在这里插入图片描述

划分的点在空间中有近似的分布和值的相似性,利用这些划分区域的均值或者中位数代表这个区域的预测值。
在这里插入图片描述

3. 决策树回归方法调用
from sklearn.tree import DecisionTreeRegressor
clf.DecisionTreeRegressor()
clf.fit(train_data,train_target)
test_pred=clf.predit(test_data)
score=mean_sqared_error(test_target,clf.predit(test_data))
print("DecisionTreeRegressor:",score)

4.1.6 集成学习回归模型

1. 随机森林回归模型

随机森林就是通过集成学习(Ensemble Learning)的思想将多棵树集成的一种算法,基本单元是决策树。
在回归问题中,随机森林输出所有决策树输出的平均值。
主要优点:

  • 在当前所有算法中,具有极好的准确率。
  • 能够有效地运行在大数据集上。
  • 能够处理具有高维特征的输入样本,而且不需要降维。
  • 能够评估各个特征在分类为问题上的重要性。
  • 在生成过程中,能够获取到内部生成误差的一种无偏估计。
  • 对于缺省值问题也能够获得很小的结果。
from sklearn.ensemble import RandomForestRegressor
clf.RandomForestRegressor(n_estimators=200) # 200棵树
clf.fit(train_data,train_target)
test_pred=clf.predit(test_data)
score=mean_sqared_error(test_target,clf.predit(test_data))
print("RandomForestRegressor:",score)
2. LightGBM回归模型

LightGBM(Light Gradient Boosting Machine)支持高效率的并行训练,具有更快的训练速度、更低的内存消耗、更好地准确率、分布式支持,可以快速处理海量数据的特征。

import lightgbm as lgb
clf.lgb.LGBMRegressior(learning_rate=0.01,max_depth=-1,n_estimators=5000,boosting_type='gbdt',random_state=2019,objective='regression')
clf.fit(X=train_data,y=train_target,eval_metric='MSE',verbose=50)
score=mean_sqared_error(test_target,clf.predit(test_data))
print("LGBMRegressior:",score)
3. 其他常用模型
  • 弹性网络(Elastic Net)回归是在参数空间中对L1和L2范数进行正则化的线性回归模型。可以理解为岭回归和Lasso回归的结合,主要用在正则化融合的技术中。
  • SVR(Support Vector Regression)是支持向量机在线性回归模型中的应用。该类模型的优势主要是在采用核函数后,可以进行自动升维拟合,提高拟合效果,并且参数计算量并没有增加。

4.2 赛题模型训练

4.2.3 多元线性回归

  • 优点:模型简单,部署方便,回归权重可以用于结果分析;训练快。
  • 缺点:精度低,特征存在一定的共线性问题。
  • 使用技巧:需要进行归一化处理,建议进行一定的特征选择,尽量避免高度相关的特征同时存在。

4.2.4 K近邻回归

  • 优点:模型简单,易于理解,对于数据量小的情况方便快捷,可视化方便。
  • 缺点:计算量大,不适合数据量大的情况;需要调参数。
  • 使用技巧:特征需要归一化,重要的特征可以适当加一定比例的权重。

4.2.5 随机森林回归

  • 优点:使用方便,特征无需做过多变换;精度较高;模型并行训练快。
  • 缺点:结果不容易理解。
  • 使用技巧:参数调节,提高精度。

4.2.6 LGB模型回归

  • 优点:精度高。
  • 缺点:训练时间长,模型复杂。
  • 使用技巧:有效的验证集防止过拟合;参数搜索。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还重名就过分了啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值