पोस्ट करने से पहले मैंने बहुत सी खोज की और this question पाया जो वास्तव में मेरी समस्या हो सकती है। हालांकि, मैंने कोशिश की कि उत्तर में क्या प्रस्तावित किया गया है लेकिन दुर्भाग्य से इसने इसे ठीक नहीं किया है, और मैं आगे स्पष्टीकरण के लिए एक टिप्पणी नहीं जोड़ सका, क्योंकि मैं यहां एक नया सदस्य हूं।2 डी-इनपुट, 1 डी-आउटपुट रिग्रेशन के लिए विज्ञान-सीखने की गाऊशियन प्रक्रिया का सही ढंग से उपयोग कैसे करें?
वैसे भी, मैं पाइथन में विज्ञान के साथ गॉसियन प्रक्रियाओं का उपयोग करना चाहता हूं - एक सरल लेकिन असली मामला शुरू करने के लिए (विज्ञान-सीखने के दस्तावेज़ीकरण में दिए गए उदाहरणों का उपयोग करके)। मेरे पास 2 डी इनपुट सेट (2 पैरामीटर के 8 जोड़े) हैं जिन्हें एक्स कहा जाता है। मेरे पास 8 संबंधित आउटपुट हैं, 1 डी-सरणी y में एकत्र हुए।
# Input space
x1 = np.linspace(x1min, x1max)
x2 = np.linspace(x2min, x2max)
x = (np.array([x1, x2])).T
तब मैं जीपी मॉडल का दृष्टांत, मेरे प्रशिक्षण डेटा (एक्स, वाई) लिए फिट है, और 1 डी भविष्यवाणी करने:
# Inputs: 8 points
X = np.array([[p1, q1],[p1, q2],[p1, q3],[p1, q4],[p2, q1],[p2, q2],[p2, q3],[p2, q4]])
# Observations: 8 couples
y = np.array([r1,r2,r3,r4,r5,r6,r7,r8])
मैं एक इनपुट परीक्षण अंतरिक्ष एक्स परिभाषित
kernel = C(1.0, (1e-3, 1e3)) * RBF([5,5], (1e-2, 1e2))
gp = GaussianProcessRegressor(kernel=kernel, n_restarts_optimizer=15)
gp.fit(X, y)
y_pred, MSE = gp.predict(x, return_std=True)
:
मेरी इनपुट अंतरिक्ष एक्स पर y_pred
और फिर मैं एक 3 डी साजिश बनाने:
fig = pl.figure()
ax = fig.add_subplot(111, projection='3d')
Xp, Yp = np.meshgrid(x1, x2)
Zp = np.reshape(y_pred,50)
surf = ax.plot_surface(Xp, Yp, Zp, rstride=1, cstride=1, cmap=cm.jet,
linewidth=0, antialiased=False)
pl.show()
यह मैं क्या प्राप्त है:
जब मैं कर्नेल पैरामीटर मैं कुछ इस तरह, क्या पोस्टर मैं के लिए इसी तरह मिलता संशोधित
इन भूखंडों भी मेल नहीं खाते: गॉट ऊपर उल्लेख किया मूल प्रशिक्षण बिंदुओं से अवलोकन (कम प्रतिक्रिया [65.137] के लिए प्राप्त की जाती है और [92.3,54] के लिए उच्चतम) प्राप्त होती है।
मैं 2 डी में जीपी के लिए बिल्कुल नया हूं (पाइथन बहुत पहले भी शुरू नहीं हुआ) इसलिए मुझे लगता है कि मुझे कुछ याद आ रहा है ... कोई भी जवाब सहायक और बहुत सराहना की जाएगी, धन्यवाद!
मैंने GPy और pyGPs का उपयोग करने की भी कोशिश की, लेकिन चूंकि वे sklearn की तुलना में थोड़ा कम दस्तावेज हैं, मैं 2 डी में बहुत दूर नहीं गया था। लेकिन अगर आपको लगता है कि इनमें से एक अभी भी मेरी समस्या के लिए एक बेहतर विकल्प हो सकता है, तो विज्ञान-सीखने के बजाय, कृपया मुझे बताएं -और क्यों! धन्यवाद। – Julie