4、python简单线性回归代码案例(完整)_4、python简单线性回归代码案例(完整)...

本文介绍了使用Python进行简单线性回归的步骤,包括数据预处理、模型建立、评估与预测。通过sklearn库创建LinearRegression模型,对数据进行对数和标准化变换,并绘制散点图,最终进行预测。
摘要由CSDN通过智能技术生成

第一、回归分析的步骤

01 根据预测目标,确定自变量和因变量

02 绘制散点图,确定回归模型类型

03 估计模型参数,建立回归模型

04 对回归模型进行检验

回归方程的精度就是用来表示实际观测点和回归方程的拟合程度的指标,使用判定系数来度量。

判定系数=相关系数R平方=ESS/TSS=1-RSS/TSS

其中:具体公式见图

TSS   总离差平方和

ESS   回归平方和

RSS   残差平方和

05 利用回归模型进行预测

第二、sklearn 建模

leModel=sklearn.linear_model.LinearRegression()

训练模型:

lrModel.fit(x,y)

模型评估:

lrModel.score(x,y)

模型预测:

lrModel.predict(x)

第三、代码实践

[code]import numpy

import pandas

data = pandas.read_csv('D:\\DATA\\pycase\\number2\\Data2.csv')

# 根据预测目标,确定自变量现金和因变量流水

# 0 确定自变量因素,对数据标签进行维度的合并,此处按照渠道序列筛选分组统计(因为有跨期影响)

Data=data.groupby(

by=['广告商']

)['现金','流水'].agg({

'现金': numpy.sum,

'流水': numpy.sum

})

# 1 数据质量分析

explore=Data.describe()

Data=Data[(Data.现金>0)&(Data.流水>0)]

# 2 数据变换,渠道之间的数据量级差距太大,进行简单的函数转换,这俩根据散点图,采用log对数函数

# 测试 range(Data.index)

# Data.columns.size

# Data.iloc[0,0]=math.log(Data.iloc[0,0])

# math.log(Data.iloc[0,0])

# 测试 Data.loc[indexs].values

import math

I=range(Data.index.size)

J=range(Data.columns.size)

i=0

j=0

for i in I:

for j in J:

# 逐个数据取对数

Data.iloc[i,j]=math.sqrt(Data.iloc[i,j])

# 0-1 标准化 from sklearn.preprocessing import MinMaxScaler

# scaler=MinMaxScaler()

# Data[['现金', '流水']]=scaler.fit_transform(Data[['现金', '流水']].values.reshape(-1,1))

# 3 属性规约

# 选择数据的自变量和因变量

x=Data['现金']

y=Data['流水']

# 绘制散点图,确定回归模型的类型

from matplotlib import pyplot as plt

plt.scatter(x,y)

# 4 估计模型参数,建立回归模型

# 对数据进行类型转化

y=y.values.reshape(-1, 1)

x=x.values.reshape(-1, 1)

from sklearn.linear_model import LinearRegression

lrModel = LinearRegression()

lrModel.fit(x, y)

# 5 对模型进行检验

lrModel.score(x,y)

# 6 利用回归模型进行预测

lrModel.predict([[500000],[400000],[300000]])

#查看截距

alpha = lrModel.intercept_[0]

#查看参数

beta = lrModel.coef_[0][0]

alpha + beta*numpy.array([500000, 400000, 300000])

阅读更多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值