python實現簡單的單變量線性回歸方法

發布時間: 2019-06-18 17:29:24 來源: 互聯網 欄目: python 點擊:

今天小編就為大家分享一篇python實現簡單的單變量線性回歸方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

線性回歸是機器學習中的基礎算法之一,屬于監督學習中的回歸問題,算法的關鍵在于如何最小化代價函數,通常使用梯度下降或者正規方程(最小二乘法),在這里對算法原理不過多贅述,建議看吳恩達發布在斯坦福大學上的課程進行入門學習。

這里主要使用python的sklearn實現一個簡單的單變量線性回歸。

sklearn對機器學習方法封裝的十分好,基本使用fit,predict,score,來訓練,預測,評價模型,

一個簡單的事例如下:

from pandas import DataFrame
from pandas import DataFrame
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets,linear_model
 
X=[]
Y=[]
with open("C:\\Users\\www\\ex1data1.txt","r") as f:  #讀取txt文件。
 for line in f:
  p_tmp, E_tmp = [float(i) for i in line.split(',')]
  X.append(p_tmp)
  Y.append(E_tmp)
 #'data=np.loadtxt('ex1data1.txt',delimiter=',')
# X=data[0]
# Y=data[1] 
data=DataFrame(X,columns={'a'})
data['b']=b
X=DataFrame(X)
 
fig = plt.figure()         
ax1 = fig.add_subplot(1,1,1)
plt.scatter(data['a'],data['b'])   #顯示X,Y的散點圖
 
def linear_model_main(X,Y,predict_value): #定義一個使用線性回歸的函數
 regr=linear_model.LinearRegression()
 regr.fit(X,Y)  #訓練模型
 predict_output=regr.predict(predict_value) #預測
 predictions={}        #用一個集合裝以下元素
 predictions['intercept']=regr.intercept_  #截距
 predictions['codfficient']=regr.coef_   #斜率(參數)
 predictions['predict_value']=predict_output  #預測值
 return predictions
 
result = linear_model_main(X,Y,1500)    #調用函數
print(result['predict_value'])
 
 
def show_predict(X,Y):
 regr=linear_model.LinearRegression()
 regr.fit(X,Y) 
 plt.scatter(X,Y,color='blue')
 plt.plot(X,regr.predict(X),color='red')
 
show_predict(X,Y)

最后擬合結果如圖:

python 單變量線性回歸

以上這篇python實現簡單的單變量線性回歸方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持我們。

本文標題: python實現簡單的單變量線性回歸方法
本文地址: http://www.leskzw.tw/jiaoben/python/244041.html

如果認為本文對您有所幫助請贊助本站

支付寶掃一掃贊助微信掃一掃贊助

  • 支付寶掃一掃贊助
  • 微信掃一掃贊助
  • 支付寶先領紅包再贊助
    聲明:凡注明"本站原創"的所有文字圖片等資料,版權均屬編程客棧所有,歡迎轉載,但務請注明出處。
    python用列表生成式寫嵌套循環的方法python 高效去重復 支持GB級別大文件的示例代碼
    Top 广东好彩1中奖规则