回归HW1-线性回归的python实现

当自变量和因变量成强相关性时,我们优先考虑线性相关。
python的sklearn有现成的库去计算线性回归中的参数,我们需要做的就是调库。。。#江湖人称“调包侠”

Case 1 一维变量

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_Model import LinearRegression
  • 开始导入数据
data=pd.read_csv('C:\\PDM\\4.1\\data.csv')
data
回归HW1-线性回归的python实现_第1张图片
  • 查看相关性
data.corr()
回归HW1-线性回归的python实现_第2张图片
  • 散点图查看分布


    回归HW1-线性回归的python实现_第3张图片
  • 开始调包计算
from sklearn.linear_model import LinearRegression 
IrModel = LinearRegression()
IrModel.fit(data[['广告投入']], data[['销售额']])
theta0=IrModel.intercept_[0]
theta1=IrModel.coef_[0]
xx=np.linspace(min(data['广告投入']),max(data['广告投入']),10)
yy=theta0+theta1*xx
  • 查看拟合结果


    回归HW1-线性回归的python实现_第4张图片
  • 查看拟合评分


  • 进行预测


  • 预测广告投入分别为50,40,30情况时的销售额情况。

Case 2 多维变量

y=\theta_0+\theta_1*x_1+\theta_2*x_2

  • 同上调包
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
  • 导入数据
data=pd.read_csv('PDM\\xx\\4.2\\data.csv')
data
回归HW1-线性回归的python实现_第5张图片
  • 查看相关性


    回归HW1-线性回归的python实现_第6张图片

    在这里,“月营业额”作为目标变量(待预测变量),“店铺面积”,“距离最近的车站”作为因变量,通过相关性分析,我们发现,店铺面积和月营业额成正相关,距离最近的车站和月营业额成负相关。

  • 进行拟合
IrModel=LinearRegression()
IrModel.fit(data[['店铺的面积','距离最近的车站']],data[['月营业额']])
IrModel.score(data[['店铺的面积','距离最近的车站']],data[['月营业额']])

分数还是蛮高的

  • 进行预测


  • 可视化
theta0=IrModel.intercept_[0]
theta1=IrModel.coef_[0,0]
theta2=IrModel.coef_[0,1]
x=np.linspace(min(data['店铺的面积']),max(data['店铺的面积']),20)
y=np.linspace(min(data['距离最近的车站']),max(data['距离最近的车站']),20)
z=theta0+theta1*x+theta2*y
from mpl_toolkits.mplot3d import Axes3D
ax = plt.figure().add_subplot(111, projection = '3d')
ax.scatter(data[['店铺的面积']],data[['距离最近的车站']],data[['月营业额']])
ax.plot(x,y,z)
plt.show()
回归HW1-线性回归的python实现_第7张图片

目前的工作主要是回归,后面涉及到的分类,就是分隔超平面了。

你可能感兴趣的:(回归HW1-线性回归的python实现)