1. 程式人生 > >8.機器學習sklearn---多項式迴歸(房價與房屋尺寸關係的非線性擬合)

8.機器學習sklearn---多項式迴歸(房價與房屋尺寸關係的非線性擬合)

1.基本概念

多項式迴歸(Polynomial Regression)是研究一個因變數與一個或多個自變數間多項式的迴歸分析方法。如果自變數只有一個 時,稱為一元多項式迴歸;如果自變數有多個時,稱為多元多項式迴歸。 

        

1.在一元迴歸分析中,如果依變數y與自變數x的關係為非線性的,但是又找不到適當的函式曲線來擬合,則可以採用一元多項式迴歸。 

2.多項式迴歸的最大優點就是可以通過增加x的高次項對實測點進行逼近,直至滿意為止。 

3.事實上,多項式迴歸可以處理相當一類非線性問題,它在迴歸分析 中佔有重要的地位,因為任一函式都可以分段用多項式來逼近。


2.例項

我們在前面已經根據已知的房屋成交價和房屋的尺寸進行了線 性迴歸,繼而可以對已知房屋尺寸,而未知房屋成交價格的例項進行了成 交價格的預測,但是在實際的應用中這樣的擬合往往不夠好,因此我們在 此對該資料集進行多項式迴歸。

目標:對房屋成交資訊建立多項式迴歸方程,並依據迴歸方程對房屋價格進行預測 


import matplotlib.pyplot as plt
import numpy as np
from sklearn import  linear_model
#匯入線性模型和多項式特徵構造模組
from sklearn.preprocessing import  PolynomialFeatures

datasets_X =[]
datasets_Y =[]
fr =open('prices.txt','r')
#一次讀取整個檔案。
lines =fr.readlines()
#逐行進行操作,迴圈遍歷所有資料
for line in lines: #去除資料檔案中的逗號 items =line.strip().split(',') #將讀取的資料轉換為int型,並分別寫入datasets_Xdatasets_Ydatasets_X.append(int(items[0])) datasets_Y.append(int(items[1])) #求得datasets_X的長度,即為資料的總數。 length =len(datasets_X) #datasets_X轉化為陣列, 並變為二維,以符合線性回 歸擬合函式輸入引數要求 datasets_X= np.array(datasets_X).reshape([length,
1]) #datasets_Y轉化為陣列 datasets_Y=np.array(datasets_Y) minX =min(datasets_X) maxX =max(datasets_X) #以資料datasets_X的最大值和最小值為範圍,建立等差數列,方便後續畫圖。 X=np.arange(minX,maxX).reshape([-1,1]) #degree=2表示建立datasets_X的二 次多項式特徵X_polypoly_reg =PolynomialFeatures(degree=2) X_ploy =poly_reg.fit_transform(datasets_X) lin_reg_2=linear_model.LinearRegression() lin_reg_2.fit(X_ploy,datasets_Y) #查看回歸方程係數 print('Cofficients:',lin_reg_2.coef_) #查看回歸方程截距 print('intercept',lin_reg_2.intercept_) plt.scatter(datasets_X,datasets_Y,color='red') plt.plot(X,lin_reg_2.predict(poly_reg.fit_transform(X)),color='blue') plt.xlabel('Area') plt.ylabel('Price') plt.show()
執行結果:
Cofficients: [0.00000000e+00 4.93982848e-02 1.89186822e-05]
intercept 151.8469675050044

通過多項式迴歸擬合的曲線與 資料點的關係如下圖所示。依據該 多項式迴歸方程即可通過房屋的尺 寸,來預測房屋的成交價格。

相關推薦

8.機器學習sklearn---多項式迴歸房價房屋尺寸關係非線性

1.基本概念多項式迴歸(Polynomial Regression)是研究一個因變數與一個或多個自變數間多項式的迴歸分析方法。如果自變數只有一個 時,稱為一元多項式迴歸;如果自變數有多個時,稱為多元多項式迴歸。         1.在一元迴歸分析中,如果依變數y與自變數x的關

7.機器學習sklearn-------線性迴歸房價房屋尺寸關係的線性

1.基本概念線性迴歸(Linear Regression)是利用數理統計中迴歸分析, 來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分 析方法。 線性迴歸利用稱為線性迴歸方程的最小平方函式對一個或多個自變數和因變數之間關係進行建模。這種函式是一個或多個稱為回 歸係數的

sklearn 線性迴歸 房價房屋尺寸關係

線性迴歸:  線性迴歸(Linear Regression)是利用數理統計中迴歸分析, 來確定兩種或兩種以上變數間相互依賴的定量關係的一種統計分 析方法。  線性迴歸利用稱為線性迴歸方程的最小平方函式對一個或多個自 變數和因變數之間關係進行建模。這種函式

機器學習筆記——線性迴歸Linear Regression

線性迴歸演算法 1 簡單線性迴歸(Simple Liner Regression) 解決迴歸問題 思想簡答,容易實現 許多強大的非線性模型的基礎 結果具有很好的可解釋性 蘊含機器學習中的很多重要思想 1.1 什麼是線性迴歸演算法?

機器學習】softmax迴歸

通過上篇softmax迴歸已經知道大概了,但是有個缺點,現在來仔細看看 Softmax迴歸模型引數化的特點 Softmax 迴歸有一個不尋常的特點:它有一個“冗餘”的引數集。為了便於闡述這一特點,假設我們從引數向量  中減去了向量 ,這時,每一個

機器學習】softmax迴歸

在 softmax迴歸中,我們解決的是多分類問題(相對於 logistic 迴歸解決的二分類問題),類標  可以取  個不同的值(而不是 2 個)。因此,對於訓練集 ,我們有 。(注意此處的類別下標從 1 開始,而不是 0)。例如,在 M

機器學習作業-線性迴歸 南京房價預測

ML課上老師佈置的第一個作業,利用線性迴歸預測南京房價,具體任務和資料如下圖所示: 首先我們可以很簡單的看出這是一個遞增的序列,所以2014年的價格大致應該是在13左右,這有助於我們除錯程式。 所謂線性迴歸就是用一條直線去擬合數據的關係,其擬合結果的理想情況當然是所有

機器學習筆記——logistic迴歸logistic regression

logistic迴歸 logistic迴歸實際上並不是一種迴歸演算法,而是一種分類演算法,意思就是輸出值是離散值(01或者更多類),而它叫這個名字完全是歷史原因。我們可以從下圖看出對於分類問題,如果我們採用傳統的迴歸演算法並不能獲得很好的效果 假設稱述 由於輸出的值是0和1,因此我

機器學習之線性迴歸Linear Regression

線性學習中最基礎的迴歸之一,本文從線性迴歸的數學假設,公式推導,模型演算法以及實際程式碼執行幾方面對這一回歸進行全面的剖析~ 一:線性迴歸的數學假設 1.假設輸入的X和Y是線性關係,預測的y與X通過線性方程建立機器學習模型 2.輸入的Y和X之間滿足方程Y= θ

機器學習+sklearn框架】 線性模型之Linear Regression

前言 一、原理    1.演算法含義    2.演算法特點 二、實現   1.sklearn中的線性迴歸   2.用Python自己實現演算法 三、思考(面試常問) 參考 前言        線性迴歸(Linear Regression)基本上可以說是機器

機器學習筆記 多項式迴歸

上一篇機器學習筆記裡,我們講了線性迴歸.線性迴歸有一個前提:即我們假設資料是存線上性關係的. 然而,理想很豐滿,現實很骨感,現實世界裡的真實資料往往是非線性的. 比如你的資料分佈,是符合y=0.5$x^2$ + x + 2的. 那你用y=ax+b去擬合,無論如何都沒法取的很好的效果. 這時候,我們又

機器學習(八) 多項式迴歸模型泛化(下)

六、驗證資料集與交叉驗證 七、偏差方差平衡 偏差方差權衡 Bias Variance Trade off 偏差 Bias 導致偏差的主要原因: 對問題

機器學習(八) 多項式迴歸模型泛化(上)

一、什麼是多項式迴歸 直線迴歸研究的是一個依變數與一個自變數之間的迴歸問題,但是,在畜禽、水產科學領域的許多實際問題中,影響依變數的自變數往往不止一個,而是多個,比如綿羊的產毛量這一變數同時受到綿羊體重、胸圍、體長等多個變數的影響,因此需要進行一個依變數與多個自

機器學習之邏輯迴歸logistic regression

概述 邏輯斯蒂迴歸實質是對數機率迴歸(廣義的線性迴歸),是用來解決分類問題的。 其中sigmoid用來解決二分類問題,softmax解決多分類問題,sigmoid是softmax的特殊情況。 數學建模直接針對分類可能性建模。 引數學習可用極大似然估計

機器學習方法:迴歸:線性迴歸Linear regression

開一個機器學習方法科普系列:做基礎回顧之用,學而時習之;也拿出來與大家分享。數學水平有限,只求易懂,學習與工作夠用。週期會比較長,因為我還想寫一些其他的,呵呵。 content: linear regression, Ridge, Lasso Logi

機器學習之邏輯迴歸

二項邏輯迴歸模型是如下的條件概率分佈:   其中x∈是輸入,y∈{0,1}是輸出。 為了方便,將權值向量和輸入向量進行擴充,此時w = ,x = ,迴歸模型表示如下:       引數w未知,採用統計學中的極大似然估計來由樣本估計引數w。對於0-1分佈x

機器學習之邏輯迴歸logistics regression程式碼牛頓法實現

      先貼一張圖解釋牛頓法原理:       然後以一道問題為例:       這個問題是《機器學習》周志華版本上的題目,給了西瓜的密度和含糖率資料,判斷西瓜的好壞。資料在程式碼裡。       下面貼一下程式碼: <span style="font-size

機器學習之線性迴歸機器學習基石

引子 在一個二元分類的問題中我們通常得到的結果是1/0,而在分類的過程中我們會先計算一個得分函式然後在減去一個門檻值後判斷它的正負若為正則結果為1若為負結果為0。 事實上從某種角度來看線性迴歸只是二元分類步驟中的一個擷取它沒有後面取正負號的操作,它的輸出結果為一個實數而非

機器學習之——多項式迴歸和正規方程

上一次我們分享了多變數線性迴歸模型(Linear Regression with Multiple Variables),這一次我們來討論一下多項式迴歸(Polynomial Regression)和正規方程(Normal Equation)。(我們還是討論房價預測的問

9.機器學習sklearn-----嶺迴歸及其應用例項

1.基本概念對於一般地線性迴歸問題,引數的求解採用的是最小二乘法,其目標函式如下:引數w的求解,也可以使用如下矩陣方法進行:       對於矩陣X,若某些列線性相關性較大(即訓練樣本中某些屬性線性相關),就會導致,就會導致XTX的值接近0,在計算(XTX)-1時就會出現不穩