Python多項(xiàng)式回歸的實(shí)現(xiàn)方法
多項(xiàng)式回歸是一種線性回歸形式,其中自變量x和因變量y之間的關(guān)系被建模為n次多項(xiàng)式。多項(xiàng)式回歸擬合x的值與y的相應(yīng)條件均值之間的非線性關(guān)系,表示為E(y | x)
為什么多項(xiàng)式回歸:
- 研究人員假設(shè)的某些關(guān)系是曲線的。顯然,這種類型的案例將包括多項(xiàng)式項(xiàng)。
- 檢查殘差。如果我們嘗試將線性模型擬合到曲線數(shù)據(jù),則預(yù)測(cè)變量(X軸)上的殘差(Y軸)的散點(diǎn)圖將在中間具有許多正殘差的斑塊。因此,在這種情況下,這是不合適的。
- 通常的多元線性回歸分析的假設(shè)是所有自變量都是獨(dú)立的。在多項(xiàng)式回歸模型中,不滿足該假設(shè)。
多項(xiàng)式回歸的使用:
這些基本上用于定義或描述非線性現(xiàn)象,例如:
- 組織生長速度。
- 疾病流行病的進(jìn)展
- 湖泊沉積物中碳同位素的分布
回歸分析的基本目標(biāo)是根據(jù)自變量x的值來模擬因變量y的期望值。在簡單回歸中,我們使用以下等式 y = a + bx + e
這里y是因變量,a是y截距,b是斜率,e是誤差率。
在許多情況下,這種線性模型將無法解決。例如,如果我們?cè)谶@種情況下根據(jù)合成溫度分析化學(xué)合成的產(chǎn)生,我們使用二次模型y = a + b1x + b2 ^ 2 + e
這里y是x的因變量,a是y截距,e是誤差率。
通常,我們可以將其建模為第n個(gè)值。y = a + b1x + b2x ^ 2 + .... + bnx ^ n
由于回歸函數(shù)在未知變量方面是線性的,因此這些模型從估計(jì)的角度來看是線性的。
因此,通過最小二乘技術(shù),讓我們計(jì)算y的響應(yīng)值。
Python中的多項(xiàng)式回歸:
要獲得用于分析多項(xiàng)式回歸的數(shù)據(jù)集,請(qǐng)單擊此處。
步驟1:導(dǎo)入庫和數(shù)據(jù)集
導(dǎo)入重要的庫和我們用于執(zhí)行多項(xiàng)式回歸的數(shù)據(jù)集。
# Importing the libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd # Importing the dataset datas = pd.read_csv('data.csv') datas
第2步:將數(shù)據(jù)集分為2個(gè)組件
將數(shù)據(jù)集劃分為兩個(gè)組件,即X和yX將包含1到2之間的列.y將包含2列。
X = datas.iloc[:, 1:2].values y = datas.iloc[:, 2].values
第3步:將線性回歸擬合到數(shù)據(jù)集
擬合線性回歸模型在兩個(gè)組件上。
# Fitting Linear Regression to the dataset from sklearn.linear_model import LinearRegression lin = LinearRegression() lin.fit(X, y)
第4步:將多項(xiàng)式回歸擬合到數(shù)據(jù)集
將多項(xiàng)式回歸模型擬合到兩個(gè)分量X和y上。
# Fitting Polynomial Regression to the dataset from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree = 4) X_poly = poly.fit_transform(X) poly.fit(X_poly, y) lin2 = LinearRegression() lin2.fit(X_poly, y)
步驟5:在此步驟中,我們使用散點(diǎn)圖可視化線性回歸結(jié)果。
# Visualising the Linear Regression results plt.scatter(X, y, color = 'blue') plt.plot(X, lin.predict(X), color = 'red') plt.title('Linear Regression') plt.xlabel('Temperature') plt.ylabel('Pressure') plt.show()
步驟6:使用散點(diǎn)圖可視化多項(xiàng)式回歸結(jié)果。
# Visualising the Polynomial Regression results plt.scatter(X, y, color = 'blue') plt.plot(X, lin2.predict(poly.fit_transform(X)), color = 'red') plt.title('Polynomial Regression') plt.xlabel('Temperature') plt.ylabel('Pressure') plt.show()
步驟7:使用線性和多項(xiàng)式回歸預(yù)測(cè)新結(jié)果。
# Predicting a new result with Linear Regression lin.predict(110.0)
# Predicting a new result with Polynomial Regression lin2.predict(poly.fit_transform(110.0))
使用多項(xiàng)式回歸的優(yōu)點(diǎn):
- 廣泛的功能可以適應(yīng)它。
- 多項(xiàng)式基本上適合寬范圍的曲率。
- 多項(xiàng)式提供了依賴變量和自變量之間關(guān)系的最佳近似。
使用多項(xiàng)式回歸的缺點(diǎn)
- 這些對(duì)異常值過于敏感。
- 數(shù)據(jù)中存在一個(gè)或兩個(gè)異常值會(huì)嚴(yán)重影響非線性分析的結(jié)果。
- 此外,遺憾的是,用于檢測(cè)非線性回歸中的異常值的模型驗(yàn)證工具少于線性回歸。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python爬取奶茶店數(shù)據(jù)分析哪家最好喝以及性價(jià)比
這篇文章主要介紹了用Python告訴你奶茶哪家最好喝性價(jià)比最高,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-09-09Python基礎(chǔ)第三方模塊requests openpyxl
這篇文章主要為大家介紹了Python基礎(chǔ)第三方模塊requests openpyxl使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11Python開源自動(dòng)化工具Playwright安裝及介紹使用
playwright-python是一個(gè)強(qiáng)大的Python庫,僅用一個(gè)API即可自動(dòng)執(zhí)行Chromium、Firefox、WebKit等主流瀏覽器自動(dòng)化操作,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2021-12-12pytest使用parametrize將參數(shù)化變量傳遞到fixture
這篇文章主要為大家介紹了pytest使用parametrize將參數(shù)化變量傳遞到fixture的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟
這篇文章主要介紹了python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用python爬蟲,感興趣的朋友可以了解下2021-02-02python數(shù)據(jù)處理和數(shù)據(jù)清洗的示例詳解
數(shù)據(jù)清洗是指發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識(shí)別的錯(cuò)誤的最后一道程序,包括檢查數(shù)據(jù)一致性,處理無效值和缺失值等,數(shù)據(jù)清洗與處理的目的是提高數(shù)據(jù)的質(zhì)量,提高實(shí)驗(yàn)結(jié)果的可靠度,本文給大家介紹了python數(shù)據(jù)處理和數(shù)據(jù)清洗的示例,需要的朋友可以參考下2024-08-08tensorflow轉(zhuǎn)onnx的實(shí)現(xiàn)方法
本文主要介紹了tensorflow轉(zhuǎn)onnx的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03