網站首頁 編程語言 正文
python 插值 —— 如何實現插值,以及錯誤ValueError: A value in x_new is below the interpolation range.
作者:別出BUG求求了 更新時間: 2023-11-16 編程語言1. 插值
插值,是離散函數逼近的重要方法,利用它可通過函數在有限個點處的取值狀況,估算出函數在其他點處的近似值。
插值與擬合有一定差別,但其目的都是類似的,根據已有數值,生成預測函數,來預測目標值。
2. python實現
下面介紹一下,在Python中如何實現插值。
import scipy.interpolate as spi
# 準備數據,X和Y都是有限離散點集,X與Y是一一對應的
# 我們想用X逼近Y
X
Y
# 準備插值點,就是擬合點,用于生成插值函數
# 1)如果(X, Y)有很多,就從X和Y中選擇一部分點,作為插值點,選擇的時候注意一一對應;
# 2)如果(X, Y)不太多,則可以選擇所有點作為插值點;
# 這里由于(X, Y)很龐大,所以選擇其中一部分點作為插值點
idx = np.arange(1,len(X)+1, 100)
new_x = [list(X)[i] for i in idx]
new_y = [list(Y)[i] for i in idx]
# 生成差值函數
# kind代表插值函數格式,有這幾種['linear','zero', 'slinear', 'quadratic', 'cubic', 4, 5]
f = spi.interp1d(X,Y,kind="linear")
# 隨便給一個x,預測Y
x = [1000, 2000]
predict_y = f(x)
如果在預測的時候,出現以下報錯
ValueError: A value in x_new is below the interpolation range.
原因: 在使用上述插值函數f ff進行預測的時候,所給的x的取值超出了【生成該函數時候所使用的X】的取值范圍,函數給不出預測值,因此報錯。
解決辦法:加上參數fill_value="extrapolate"就可以了,函數會自動推斷給出預測值。但是注意:如果需要預測的Y YY不是單調的,使用該參數自動推斷出來的預測值y yy可能會不準確。(因為這里面的自動推斷,應該是按照線性單調推斷的,這個我還沒有確認過)
# fill_value="extrapolate"的意思是當用該函數預測Y時,如果所給x超出【生成該函數時候所使用的X】的取值范圍時,該函數會自動推測給出相應的預測值y。
f = spi.interp1d(X,Y,kind="linear",fill_value="extrapolate")
原文鏈接:https://blog.csdn.net/weixin_39589455/article/details/128098928
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-05-24 一起來學習C語言的輸入和輸出_C 語言
- 2022-08-16 C/C++函數的調用約定的使用_C 語言
- 2022-09-16 Pandas數據形狀df.shape的實現_python
- 2023-04-29 springboot整合單機緩存ehcache的實現_python
- 2022-06-29 python人工智能tensorflow函數tensorboard使用方法_python
- 2023-07-05 Maven的-pl -am -amd參數
- 2022-06-24 基于C++實現去除字符串頭尾指定字符功能_C 語言
- 2022-07-30 go語言中slice,map,channl底層原理_Golang
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支