2020研究生数模整理(1):机器学习回归+GridSearch参数调优+AutoML(TPOT)+模型评估+决策树绘制

本文整理了2020研究生数模比赛中涉及的回归模型,包括线性回归、随机森林(含决策树输出)和梯度提升回归。详细介绍了GridSearch参数调优和AutoML工具TPOT的使用。同时,讨论了模型评估标准和残差图的重要性。
摘要由CSDN通过智能技术生成

本文将介绍以下四点内容:
(1)三种回归模型:线性回归、随机森林(输出决策树图)、梯度提升回归;
(2)使用GridSearch对机器学习模型进行参数调优;
(3)自动机器学习包:TPOT;
(4)回归模型的评估:评估指标+残差图。

2020研究生数学建模比赛已经收尾,我们组选择的是B题,预测汽油辛烷值损失的建模。一般来讲,对分类变量进行预测使用分类器,对连续变量进行预测使用回归。本文为整理的建模中所用的回归模型,欢迎交流,指出不足。

1 三种回归模型

本部分要介绍的三种模型都是用于回归的模型,这里变量已经经过了筛选,特征工程已经结束,主要作为数模所使用的方法的整理汇总。其中线性回归原理比较简单,随机森林和梯度提升回归都是基于树的决策,随机森林是多棵树,相对于

1.1 线性回归

线性回归的原理比较简单,不多说,直接上代码。

#载入包
import pandas as pd
import numpy as np  
from sklearn.model_selection import train_test_split #用户划分训练集和测试集
from sklearn.linear_model import LinearRegression  #线性回归包
from sklearn import metrics  #模型评估包
from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
#以下为后续绘图用包
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns

#数据读取
data= pd.read_csv("D:/course/other/shumo_code_2020/data/data_for_q3.csv")
del data["index"]
#训练集和测试集的划分
data_train, data_test= train_test_split(data,test_size=0.3, random_state=0) #参数test_size表示测试集的比例
train_y = data_train.RON_loss
columns = data_train.columns.tolist()
train_X = data_train.drop(["RON_loss"],axis = 1)
test_X = data_test.drop(["RON_loss"],axis = 1)
test_y = data_test.RON_loss
#构建模型
model = LinearRegression()
model = model.fit(train_X, train_y)

#模型应用:进行值的预测,训练集和测试集都要预测是为了评估模型的能力以及有没有过拟合的问题,关于模型评估请见第四部分
#预测训练集的Y值
train_y_predict = model.predict(train_X)
#预测测试集的Y值
predicted_values = model.predict(test_X)

1.2 随机森林

随机森林是基于树的回归,这里会介绍如何使用随机森林进行

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值