2013-12-15 67 views
0

我得到5個變量Fx的(S,M,P,H,L)在csv文件的功能的正暗淡蟒插值非線性

import numpy as np 
s= np.arange(0,135,15)/10 
m= np.array([150,180,195,210,240,255,270,285,300]) 
p=np.array([-1.5,-1,-0.5,0,0.5,1,1.5]) 
h=np.array([0,3,6,9,12]) 
l=np.array([0,0.5,1,1.5,2,2.5,3,4]) 

和180的值的函數。 我想通過插值計算所有點中的缺失值 並使用徑向基函數thin_plate會很好。可能嗎? 我在這裏找到的信息 Python 4D linear interpolation on a rectangular grid InterpolatingFunction 但如果我用無替換數據數組中的某些值,在這一點上f(點)給'南'。我不想使用線性插值,因爲對於一組4個變量,我得到了2個值的值。 非常感謝幫助LL

回答

0

嘗試SVR從scikit-learn解決你的問題:

from sklearn.svm import SVR # it uses RBF as default kernel 
import numpy as np 

n_samples, n_features = 180, 5 

y = np.random.randn(n_samples) #function values 
X = np.random.randn(n_samples, n_features) #points 
clf = SVR(C=1.0, epsilon=0.2) 
clf.fit(X, y) 

#Get value at a new point: 

clf.predict([0,150,-1.5,0,0]) 

因爲LEN(S)* LEN(M)* LEN(P)* LEN(H)*爲len (l)是22680和功能值只知道180點,你有關於你的功能的信息很差....

+0

嗨,非常感謝你,它的工作,但我如何修復參數,使功能去完全通過我在給定的值點? – lolo

+0

它完美的工作,C = 100000的函數非常接近我給定的值。但我找不到,如何給像v或m這樣的特定變量賦予更多的權重? – lolo