假設某披薩店的披薩**和披薩直徑之間有下列資料關係:
根據上面的訓練資料,**12英吋的披薩的可能售價。
直徑為自變數x,**為因變數y,畫出二者的散點圖,並給出結論。
根據現有的訓練資料求線性回歸模型,並畫出擬合直線。(可以使用sklearn庫中的sklearn.linear_model.linearregression物件來進行線性擬合),給出擬合直線方程。
**測12英吋披薩的**。(使用predict函式)
評價模型的準確率,分析模型**結果
訓練線性模型的步驟:
準備訓練資料
建立模型
物件擬合求線性方程的截距和斜率
畫擬合直線
測試資料:
a. 手動計算方法:
假設hpytrain代表針對訓練資料的**y值,hpytest代表針對測試資料的**y值
訓練資料殘差平方和:ssrestrain = sum((hpytrain -ytrain) ** 2)
測試資料殘差平方和:ssrestest = sum((hpytest -ytest) ** 2
測試資料偏差平方和:sstottest = sum((ytest -np.mean(ytest)) ** 2)
r方:rsquare = 1 -ssrestest / sstottest
b. python的linearregression物件提供的方法:
訓練資料殘差平方和:model._residues
r方:model.score(xtest,ytest)
import matplotlib.pyplot as plt
from sklearn.linear_model import linearregression
lm =linearregression() #構建線性模型
x_train = [[6], [8], [10], [14], [18]]
y_train = [[7], [9], [13], [17.5], [18]]
x_test = [[8], [9], [11], [12], [16]]
y_test = [[8.5], [11], [12], [15], [18]]
lm.fit(x_train, y_train)#訓練模型
plt.scatter(x_train, y_train, color=『green』)
plt.plot(x_train, lm.predict(x_train), color=『red』, linewidth=4) #畫出回歸直線
plt.xlabel(『diam』)
plt.ylabel(『price』)
plt.title(『testimg』)
plt.show()
plt.scatter(x_test, y_test, color=『green』)
plt.plot(x_test, lm.predict(x_test), color=『red』, linewidth=4) #畫出回歸直線
plt.xlabel(『diam』)
plt.ylabel(『price』)
plt.title(『predictimg』)
plt.show()
predictprice = lm.predict(12)
print(『twelve inch pizza price %d』 % predictprice)
print('model score = ', lm.score(x_test, y_test))
以上**全部複製進python環境即可執行,親測有效
單變數線性回歸
參考 模型表示 線性回歸 linear regression 是利用稱為線性回歸方程的最小平方函式對乙個或多個自變數和因變數之間關係進行建模的一種回歸分析。這種函式是乙個或多個稱為回歸係數的模型引數的線性組合。只有乙個自變數的情況稱為簡單回歸,大於乙個自變數情況的叫做多元回歸。詳細描述 之前的房屋交...
單變數線性回歸
線性回歸模型 linear regression model 包括線性假設 linear hypothesis 和平方差代價函式 squared error cost function 字母的含義 m number of training examples 訓練樣本的數量 x input varia...
單變數線性回歸
這是乙個單變數 房子的面積 問題。這是乙個監督學習的問題,對於每乙個資料我們都給出了乙個正確的price。準備工作 在書中他的表示是 h x 0 1x1,它的意思是因為只有乙個變數x1所以稱之為單變數線性回歸。這些都目前看來沒有什麼問題。下一步提出了乙個代價函式的感念,也就是說。每一次 出的誤差都是...