python 进行一元线性回归并输出相关结果_Python实现一元线性回归实战
回歸是一種有監督的學習方式,需要根據歷史數據對未知數據做出預測。
在此,以房屋面積預測房屋價格為例:
首先,讀入數據:
代碼如下:
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()
至此,一元線性回歸模型就創建完成了!
對于模型的學習,建議大家在了解了算法的原理之后要動手實戰,畢竟機器學習或者數據挖掘重在實戰,我們最終是要做出模型來進行決策的。多動手,你會發現原本枯燥的原理、算法會變得清晰,自己也會更加感興趣!
總結
以上是生活随笔為你收集整理的python 进行一元线性回归并输出相关结果_Python实现一元线性回归实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是腓总神经
- 下一篇: python加载模型包占用内存多大_加载