numpy多項(xiàng)式擬合函數(shù)polyfit的使用方法代碼
import numpy as np
def fit(x,y,m,w):
if len(x)<=m:
return False
xishu = np.polyfit(x,y,m,w=w)
p = np.poly1d(xishu) # 構(gòu)造多項(xiàng)式
yfit = p(x) # 擬合的y值
yresid = y - yfit # 殘差
SSresid = sum(pow(yresid, 2)) # 殘差平方和
SStotal = len(y) * np.var(y) # 總體平均方差
if SStotal==0:#水平線
r2=1
else:
r2 = 1 - SSresid/SStotal # 擬合優(yōu)度
return (xishu,r2,yfit)
if __name__=="__main__":
x = np.arange(0,5,0.1)
z = [2+3*x+4*x**2 for x in x]
y = np.array([np.random.normal(z,3) for z in z])
weight=[1 for one in x]
print(fit(x,y,2,weight))
polyfit(x,y,m,w) 參數(shù)m為多項(xiàng)式的次數(shù)+1,w為權(quán)重。權(quán)重的含義是這個(gè)數(shù)據(jù)點(diǎn)的誤差要乘以權(quán)重,低點(diǎn)給予高權(quán)重可以減少低點(diǎn)的誤差,避免低點(diǎn)的相對(duì)誤差過(guò)大。
自定義函數(shù)fit(x,y,m,w)的返回值 (xishu,r2,yfit)分別為系數(shù)、相關(guān)系數(shù)、擬合Y值。
過(guò)原點(diǎn)也可以通過(guò)權(quán)重實(shí)現(xiàn)。代碼如下:
if must00:
x=np.append(x,0)#.append(0)
y=np.append(y,0)#y.append(0)
w=np.append(w,100000000)#.append(10000)
fit_r=fit(x,y,m,w)
if fit_r:
(xishu,r,y_fitted)=fit_r
else:
#fit error
xishu=[0,1,0]
y_fitted=x
r=0總結(jié)
到此這篇關(guān)于numpy多項(xiàng)式擬合函數(shù)polyfit使用的文章就介紹到這了,更多相關(guān)numpy多項(xiàng)式擬合函數(shù)polyfi內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python數(shù)據(jù)庫(kù)編程 ODBC方式實(shí)現(xiàn)通訊錄
這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)庫(kù)編程,ODBC方式實(shí)現(xiàn)通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
PyCharm使用教程之搭建Python開發(fā)環(huán)境
由于python的跨平臺(tái)性。在windows下和ubuntu下基本上沒什么差別。下面從幾個(gè)不步驟來(lái)搭建開發(fā)環(huán)境。2016-06-06
python通過(guò)函數(shù)名調(diào)用函數(shù)的幾種場(chǎng)景
這篇文章主要介紹了python通過(guò)函數(shù)名調(diào)用函數(shù)的幾種場(chǎng)景,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-09-09
Python 正則表達(dá)式匹配字符串中的http鏈接方法
今天小編就為大家分享一篇Python 正則表達(dá)式匹配字符串中的http鏈接方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
Python實(shí)現(xiàn)圖片和視頻的相互轉(zhuǎn)換
有時(shí)候我們需要把很多的圖片合成視頻,或者說(shuō)自己寫一個(gè)腳本去加快或者放慢視頻;也有時(shí)候需要把視頻裁剪成圖片,進(jìn)行后續(xù)操作。這篇文章就將為大家介紹如何通過(guò)Python實(shí)現(xiàn)圖片和視頻的相互轉(zhuǎn)換,需要的可以參考一下2021-12-12
win與linux系統(tǒng)中python requests 安裝
requests是Python的一個(gè)HTTP客戶端庫(kù),跟urllib,urllib2類似,今天我們主要來(lái)談?wù)剋in與linux系統(tǒng)中python requests的安裝方法以及使用指南2016-12-12
python標(biāo)準(zhǔn)庫(kù)學(xué)習(xí)之sys模塊詳解
sys模塊是最常用的和python解釋器交互的模塊,sys模塊可供訪問(wèn)由解釋器(interpreter)使用或維護(hù)的變量和與解釋器進(jìn)行交互的函數(shù),下面這篇文章主要給大家介紹了關(guān)于python標(biāo)準(zhǔn)庫(kù)學(xué)習(xí)之sys模塊的相關(guān)資料,需要的朋友可以參考下2022-08-08
python保留格式匯總各部門excel內(nèi)容的實(shí)現(xiàn)思路
這篇文章主要介紹了python保留格式匯總各部門excel內(nèi)容,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06

