2016-03-01 24 views
0

我正在使用具有噪聲的高斯過程構建分類模型 - 我不明白它爲什麼失敗並出現值錯誤具有噪聲的高斯過程模型:ValueError:塊必須是標量或長度數組n_samples

我有約10%標記爲1或0。我想預測的其他90%的概率的目標的數據組爲1

我已經使用sklearn分裂標記設定成一個培訓和一套測試。

X是feature_training而且它是一個np.array X.shape (54.9)

y是feature_target並且它是一個np.array y.shape (54.1)

兩者浮子和噪聲的計算公式爲:

dy = 0.5 + 1.0 * np.random.random(y.shape) 
noise = np.random.normal(0, dy) 
y = (y + noise) 

y.shape 
(54,1) 

熔核是類型numpy.ndarray和形狀的(54.1)

在高斯過程模型我使用 -

gp = GaussianProcess(corr='squared_exponential', theta0=1e-1, 
       thetaL=1e-3, thetaU=1, 
       nugget=(dy/y) ** 2, 
       random_start=100) 

gp.fit(X, y) 

失敗,因爲:ValueError異常:熔核必須是一個標量或長度N_SAMPLES次的陣列

好像X,Y,熔核的類型都是numpy.ndarray和正確的形狀。我認爲金塊的長度是n_samples(54),所以它應該具有相同的長度。

有什麼明顯的我失蹤了嗎?

回答

0

你的y需要是一個形狀向量(n,)不是一個形狀數組(n,1)。你可以修復這個與

y = y.reshape((len(y),) 
+0

謝謝maxymoo做到了! – FJB

相關問題