线性回归的python实现

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
 
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 #有中文出现的情况,需要u'内容'

# 简单线性回归(一元线性回归)
# 导入线性回归模块
from sklearn.linear_model import LinearRegression

rng=np.random.RandomState(1)
xtrain=10*rng.rand(30)
ytrain=8+4*xtrain+rng.rand(30)

# np.random.RandomState(1)_-->随机数种子,对于一个随机数发生器,只要该种子(seed)相同,产生的随机数序列就是相同的
# 生成随机数x与y
# 样本关系:y=8+4*x


fig=plt.figure(figsize=(12,3))

ax1=fig.add_subplot(1,2,1)
plt.scatter(xtrain,ytrain,marker='.',color='k')
plt.grid()
plt.title("样本数据散点图") 
# plt.show()

# 生成散点图

model=LinearRegression()

# model.fit(xtrain,ytrain)
# xtrain.shape 
model.fit(xtrain[:,np.newaxis],ytrain)
print(model.coef_)  #斜率
print(model.intercept_) #截距

xtest=np.linspace(0,10,1000)
ytest=model.predict(xtest[:,np.newaxis])
 

# fig=plt.figure(figsize=(12,3))
ax2=fig.add_subplot(1,2,2)
plt.plot(xtest,ytest,marker='',color='r')
plt.grid()
plt.title("线性回归拟合")



plt.plot(xtest,ytest,color='r',linestyle='--') # 拟合直线
plt.scatter(xtrain,ytrain,marker='.',color='k') # 样本数据散点图
ytest2=model.predict(xtrain[:,np.newaxis]) # 样本数据x在拟合直线上y的值
plt.plot([xtrain,xtrain],[ytrain,ytest2],color='gray') # 误差线
plt.grid()
plt.title('误差线')

plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值