欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用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)文章

  • Python中線程鎖的使用介紹

    Python中線程鎖的使用介紹

    大家好,本篇文章主要講的是Python中線程鎖的使用介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • python開發(fā)前景如何

    python開發(fā)前景如何

    在本篇文章中小編給大家整理了關(guān)于python開發(fā)前景的知識(shí)點(diǎn)及相關(guān)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2020-06-06
  • 總結(jié)分析Python的5個(gè)硬核函數(shù)

    總結(jié)分析Python的5個(gè)硬核函數(shù)

    今天看到一篇很好的 Python 博文,結(jié)合自己的經(jīng)驗(yàn)總結(jié),分享給大家一篇關(guān)于eval, exec, compile, locals, globals這些函數(shù)的文章
    2021-11-11
  • python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟

    python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟

    這篇文章主要介紹了python 爬取騰訊視頻評(píng)論的實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用python爬蟲,感興趣的朋友可以了解下
    2021-02-02
  • Python中判斷子串存在的性能比較及分析總結(jié)

    Python中判斷子串存在的性能比較及分析總結(jié)

    這篇文章主要給大家總結(jié)介紹了Python中判斷子串存在的性能比較及分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python模塊 _winreg操作注冊(cè)表

    Python模塊 _winreg操作注冊(cè)表

    通過python操作注冊(cè)表主要有兩種方式,一種是通過python的內(nèi)置模塊 _winreg,另一種方式就是 Win32 Extension For Python的win32api模塊,這里主要簡單看看用內(nèi)置模塊 _winreg如何操作注冊(cè)表
    2020-02-02
  • Python關(guān)于excel和shp的使用在matplotlib

    Python關(guān)于excel和shp的使用在matplotlib

    今天小編就為大家分享一篇關(guān)于Python關(guān)于excel和shp的使用在matplotlib,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • centos6.8安裝python3.7無法import _ssl的解決方法

    centos6.8安裝python3.7無法import _ssl的解決方法

    這篇文章主要介紹了centos6.8安裝python3.7無法import _ssl的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • 解決pycharm安裝第三方庫失敗的問題

    解決pycharm安裝第三方庫失敗的問題

    這篇文章主要介紹了pycharm安裝第三方庫失敗的解決方法,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Python+Turtle繪制可愛的多啦A夢(mèng)的示例代碼

    Python+Turtle繪制可愛的多啦A夢(mèng)的示例代碼

    這篇文章主要介紹了如何利用python中的Turtle模塊繪制一個(gè)童年記憶的卡通人物哆啦A夢(mèng),文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-03-03

最新評(píng)論