python 进行一元线性回归并输出相关结果_Python实现一元线性回归实战

本文介绍了如何使用Python的sklearn库进行一元线性回归,以房屋面积预测价格。通过读取历史数据,建立线性回归模型,获取截距和斜率,然后进行预测并绘制散点图和拟合直线。强调了理论结合实践在机器学习中的重要性。

回归是一种有监督的学习方式,需要根据历史数据对未知数据做出预测。

在此,以房屋面积预测房屋价格为例:

首先,读入数据:

代码如下:

import pandas as pd

import numpy as np

from io import StringIO

from sklearn import linear_model

import matplotlib.pyplot as plt

# 房屋面积与价格历史数据(csv文件)

csv_data = 'square_feet,price\n150,6450\n200,7450\n250,8450\n300,9450\n350,11450\n400,15450\n600,18450\n'

# 读入dataframe

df=pd.read_csv(StringIO(csv_data))

# print(df)

其次,建立线性回归模型,并对数据进行拟合,代码如下:

# 建立线性回归模型

regr=linear_model.LinearRegression()

# 拟合

regr.fit(df['square_feet'].values.reshape(-1, 1), df['price'])

# 用values方法将Series对象转化成numpy的ndarray,再用ndarray的reshape方法。

# 注意此处.reshape(-1, 1),因为X是一维的!

得到模型的截距和斜率:

# 直线的截距,斜率

a,b=regr.coef_,regr.intercept_

两种方式进行预测:

第一种方式是根据得到的模型直接进行的计算,第二种方式是根据回归模型的预测方法Predict进行的预测,通过运行代码可知两种方法得到的结果一致。

# 给出待预测面积

area=238.5

# 方式1:根据直线方程计算的价格

print(a*area+b)

# 方式2:根据predict方法预测的价格

print(regr.predict(area))

绘图,分别绘制散点图和拟合的直线:

# 画图

# 1.真实的点(绘制的散点图)

plt.scatter(df['square_feet'],df['price'],color='blue')

# 2.拟合的直线

plt.plot(df['square_feet'],regr.predict(df['square_feet'].values.reshape(-1,1)),color='red',linewidth=4)

plt.show()

至此,一元线性回归模型就创建完成了!

对于模型的学习,建议大家在了解了算法的原理之后要动手实战,毕竟机器学习或者数据挖掘重在实战,我们最终是要做出模型来进行决策的。多动手,你会发现原本枯燥的原理、算法会变得清晰,自己也会更加感兴趣!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值