2017-08-03 104 views
9

我试图根据我的数据集中的部分功能来训练Keras模型。我已经加载的数据集和提取,像这样的特征:熊猫 - KeyError:'[]不在索引'当培训Keras模型

train_data = pd.read_csv('../input/data.csv') 

X = train_data.iloc[:, 0:30] 
Y = train_data.iloc[:,30] 

# Code for selecting the important features automatically (removed) ...  

# Selectintg important features 14,17,12,11,10,16,18,4,9,3 
X = train_data.reindex(columns=['V14','V17','V12','V11','V10','V16','V18','V4','V9','V3']) 
print(X.shape[1]) # -> 10 

但是当我打电话的拟合方法:

# Fit the model 
history = model.fit(X, Y, validation_split=0.33, epochs=10, batch_size=10, verbose=0, callbacks=[early_stop]) 

我得到以下错误:

KeyError: '[3 2 5 1 0 4] not in index' 

我错过了什么?

+3

检查[此线程](https://stackoverflow.com/questions/33564181/keras-gru-nn-keyerror-when-fitting-not-in-index)。 –

回答

5

keras预计模型输入为numpy阵列 - 不是pandas.DataFrame s。尝试:

X = train_data.iloc[:, 0:30].as_matrix() 
Y = train_data.iloc[:,30].as_matrix() 

由于as_matrix方法转换pandas.DataFramenumpy.array

+0

宾果!那工作 –