0

我有一个训练集(12 行),有 3 个自变量。我使用 np.hstack 来组合它们:

datatpk = tpk_online.to_numpy().reshape(-1,1)
datacovid = covid_case_bali.to_numpy().reshape(-1,1)
datainflasi = inflasi.to_numpy().reshape(-1,1)
dataX = np.hstack([datatpk,datacovid,datainflasi])
dataX

我使用了几种模型,并且它们都可以正常工作:

model = make_pipeline(StandardScaler(), RandomForestRegressor())
model = RandomForestRegressor()
model.fit(X=dataX, y=tpk_bps)
tpk_prediksi = model.predict(dataX)

但后来我使用了一个测试集(6 行),也使用了 hpstack:

datatpk_test = tpk_online_test.to_numpy().reshape(-1,1)
datacovid_test = covid_case_bali_test.to_numpy().reshape(-1,1)
datainflasi_test = inflasi_test.to_numpy().reshape(-1,1)
dataX_test = np.hstack([datatpk_test,datacovid_test,datainflasi_test])
dataX_test

tpk_prediksi = model.predict(dataX)

该模型向我显示此错误:

ValueError: Number of features of the model must match the input. Model n_features is 2 and input n_features is 3 

数据集具有完全相同的结构,为什么它读取的是 2 个特征而不是 3 个?

============== 我也试过用hstack来做这个:

dataX_test = np.hstack((datatpk_test,datacovid_test,datainflasi_test))

仍然给我同样的错误。

4

0 回答 0