最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用Python實(shí)現(xiàn)插值算法

 更新時(shí)間:2022年02月16日 08:43:32   作者:Ken_zju  
大家好,本篇文章主要講的是用Python實(shí)現(xiàn)插值算法,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下

        數(shù)模比賽中,常常需要對(duì)數(shù)據(jù)進(jìn)行處理和分析,但有時(shí)候數(shù)據(jù)不多,就需要一些方法“模擬產(chǎn)生”一些靠譜的值來滿足需求,這就是插值的作用。本文不再具體介紹每個(gè)插值算法的內(nèi)在原理,將直接通過調(diào)包實(shí)現(xiàn)。

        下面,先上三件套,看一下原始數(shù)據(jù)的大致情況:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_excel('data.xlsx')

        拉格朗日插值算法

        原始數(shù)據(jù)我們采用sin(x)的形式,看一下原始數(shù)據(jù)點(diǎn):

import scipy
from scipy.interpolate import lagrange
x = np.linspace(0,10,6)      #0~10等差插入11個(gè)數(shù),需要預(yù)測(cè)的值
y = np.sin(x)
x_new = np.linspace(0,10,200)  #用于繪制圖形
y_new = np.sin(x_new)
plt.plot(x,y,'ro')
plt.plot(x_new,y_new,'b')

f1 = lagrange(x,y)
plt.plot(x,y,'ro')
plt.plot(x_new,y_new,'b')
plt.plot(x_new,f1(x_new),'g')

        看一下擬合效果:

        分段線性插值 

f4 = scipy.interpolate.interp1d(x,y,kind='linear')
plt.plot(x,y,'ro')
plt.plot(x_new,y_new,'b')
plt.plot(x_new,f4(x_new),'g')

        分段二次(三次)插值

f5 = scipy.interpolate.interp1d(x,y,kind='quadratic')    #三次就是cubic
plt.plot(x,y,'ro')
plt.plot(x_new,y_new,'b')
plt.plot(x_new,f5(x_new),'g')

        牛頓插值法:暫未找到相應(yīng)的庫

        分段三次埃爾米特插值

f5 = scipy.interpolate.interp1d(x,y,kind='quadratic')    #三次就是cubic
plt.plot(x,y,'ro')
plt.plot(x_new,y_new,'b')
plt.plot(x_new,f5(x_new),'g')

        三次樣條插值

f3 = scipy.interpolate.CubicSpline(x,y)
plt.plot(x,y,'ro')
plt.plot(x_new,y_new,'b')
plt.plot(x_new,f3(x_new),'g')

        接下來,讓我們看看一個(gè)具體實(shí)例的比較:

y = np.array(data)[:,1]
x = np.linspace(2009,2018,10)
x_new = np.array([2019,2020,2021])
f2 = scipy.interpolate.PchipInterpolator(x,y)
f3 = scipy.interpolate.CubicSpline(x,y)
 
#coding:utf-8
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號(hào)
 
plt.plot(x,y,color='black',marker='o',label='樣本點(diǎn)')
plt.plot(x_new,f2(x_new),'b-',marker='x',label='分段三次埃米爾特')
plt.plot(x_new,f3(x_new),'r-',marker='x',label='三次樣條插值')
plt.xticks(range(2009,2022,1))     #調(diào)整x軸間距
plt.legend()
plt.show()

Tips:①最常用的就是埃爾米特三次插值、三次樣條插值

          ②拉格朗日插值雖然在訓(xùn)練集上表現(xiàn)良好,但是在測(cè)試集上著實(shí)難堪,尤其擬合高階函數(shù)時(shí),千萬不要輕易用此預(yù)測(cè)

到此這篇關(guān)于用Python實(shí)現(xiàn)插值算法的文章就介紹到這了,更多相關(guān)Python插值算法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • flask框架url與重定向操作實(shí)例詳解

    flask框架url與重定向操作實(shí)例詳解

    這篇文章主要介紹了flask框架url與重定向操作,結(jié)合實(shí)例形式詳細(xì)分析了flask框架URL映射、傳參、重定向等相關(guān)概念、原理與操作注意事項(xiàng),需要的朋友可以參考下
    2020-01-01
  • 利用Python進(jìn)行網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取的代碼示例

    利用Python進(jìn)行網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取的代碼示例

    在當(dāng)今數(shù)字化時(shí)代,數(shù)據(jù)是無處不在的,從市場(chǎng)趨勢(shì)到個(gè)人偏好,從社交媒體活動(dòng)到商業(yè)智能,數(shù)據(jù)扮演著關(guān)鍵的角色,Python提供了一套強(qiáng)大而靈活的工具,使得網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取成為可能,本文將深入探討如何利用Python進(jìn)行網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取,為您打開數(shù)據(jù)世界的大門
    2024-05-05
  • python爬蟲增加訪問量的方法

    python爬蟲增加訪問量的方法

    這篇文章主要介紹了python爬蟲增加訪問量的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • PyTorch實(shí)現(xiàn)FedProx聯(lián)邦學(xué)習(xí)算法

    PyTorch實(shí)現(xiàn)FedProx聯(lián)邦學(xué)習(xí)算法

    這篇文章主要為大家介紹了PyTorch實(shí)現(xiàn)FedProx的聯(lián)邦學(xué)習(xí)算法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python中進(jìn)程的調(diào)度算法詳解

    Python中進(jìn)程的調(diào)度算法詳解

    這篇文章主要介紹了Python中進(jìn)程的調(diào)度算法詳解,要想多個(gè)進(jìn)程交替運(yùn)行,操作系統(tǒng)必須對(duì)這些進(jìn)程進(jìn)行調(diào)度,這個(gè)調(diào)度也不是隨即進(jìn)行的,而是需要遵循一定的法則,由此就有了進(jìn)程的調(diào)度算法,需要的朋友可以參考下
    2023-07-07
  • Python中的Xpath和lxml庫的使用詳解

    Python中的Xpath和lxml庫的使用詳解

    這篇文章主要介紹了Python中的Xpath和lxml庫的使用詳解,XPath即 XML路徑語言,它是一門在 XML 文檔中查找信息的語言,最初被用來搜尋 XML 文檔,同時(shí)它也適用于搜索 HTML 文檔,因此,在爬蟲過程中可以使用 XPath 來提取相應(yīng)的數(shù)據(jù),需要的朋友可以參考下
    2023-12-12
  • Django單元測(cè)試的具體使用

    Django單元測(cè)試的具體使用

    Django提供了一套強(qiáng)大的測(cè)試工具來幫助開發(fā)者編寫和運(yùn)行單元測(cè)試,本文就來介紹一下Django中的單元測(cè)試,包括測(cè)試原理、編寫測(cè)試用例和運(yùn)行測(cè)試,感興趣的可以了解一下
    2023-11-11
  • 如何用Python從桌面讀取二維碼信息詳解

    如何用Python從桌面讀取二維碼信息詳解

    二維碼作為一種信息傳遞的工具,在當(dāng)今社會(huì)發(fā)揮了重要作用,下面這篇文章主要給大家介紹了關(guān)于如何用Python從桌面讀取二維碼信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • 如何使用pyinstaller打包32位的exe程序

    如何使用pyinstaller打包32位的exe程序

    這篇文章主要介紹了如何使用pyinstaller打包32位的exe程序,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • tensorflow對(duì)圖像進(jìn)行拼接的例子

    tensorflow對(duì)圖像進(jìn)行拼接的例子

    今天小編就為大家分享一篇tensorflow對(duì)圖像進(jìn)行拼接的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評(píng)論

中山市| 河池市| 宁河县| 扶风县| 塔河县| 宝应县| 宜阳县| 鲁甸县| 威信县| 梅州市| 平邑县| 永州市| 祁门县| 临漳县| 宜川县| 临湘市| 绥中县| 乐东| 芒康县| 宁阳县| 阳朔县| 黄冈市| 东丰县| 达尔| 乳山市| 区。| 阿合奇县| 偏关县| 吉首市| 曲阳县| 云梦县| 景谷| 新宁县| 贡山| 龙岩市| 临夏县| 宁明县| 屯门区| 泰州市| 濮阳市| 井陉县|