python实现回归模型预测

使用广告收益数据,建立广告投入和销量的关系模型,并按照下个月的投入量预测销量

在这里插入图片描述


# coding: utf-8
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
filename='data\\advertising.csv'
data=pd.read_csv(filename,index_col=0)
print(data.iloc[0:5,:])
#1.观察变量的相关性,选择合适的列作为模型的特征量
data.plot(kind='scatter',x='TV',y='Sales')#可以选择部分数据绘制散点图
data.plot(kind='scatter',x='Weibo',y='Sales')
#多次plot()绘制在不同图上,plt.scatter()绘制在一张图
data.plot(kind='scatter',x='Weibo',y='Sales')
data.plot(kind='scatter',x='WeChat',y='Sales')
plt.show()
x=data.iloc[:,0:3].values.astype(float)
y=data.iloc[:,3].values.astype(float)
#模型初始化
#from sklearn.linear_model import LinearRegression
#linreg=LinearRegression() 
#模型训练
#linreg.fit(x,y) #模型训练学习
print(linreg.intercept_,linreg.coef_)#线性回归模型的截距和系数
from sklearn import cross_validation
from sklearn import model_selection
#2.将数据分为训练集和测试集0.35
x_train,x_test,y_train,y_test=model_selection.train_test_split(x,y,test_size=0.35,random_state=1)
#3.模型初始化
linregTr=LinearRegression()
#4.模型训练
linregTr.fit(x_train,y_train)
#5.模型预测
y_train_pred=linregTr.predict(x_train)
y_test_pred=linregTr.predict(x_test)
#分别计算误差,确定是否过拟合;评估模型的泛化能力
from sklearn import metrics
train_err=metrics.mean_squared_error(y_train,y_train_pred)
test_err=metrics.mean_squared_error(y_test,y_test_pred)
#6.性能评估
predict_score=linregTr.score(x_test,y_test)#性能评估,决定系数
print('The decision coeficient is:{:.2f}'.format(predict_score))
#决定系数相比于RMSE均方根误差去除了纲量 

在这里插入图片描述性能评估方法原理
引用:数据科学与技术(宋晖)

  • 4
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值