我在尝试基于数据集的部分特征训练一个 Keras 模型。我已经加载了数据集并提取了特征,如下所示:
train_data = pd.read_csv('../input/data.csv')X = train_data.iloc[:, 0:30]Y = train_data.iloc[:,30]# 自动选择重要特征的代码(已删除) ... # 选择重要特征 14,17,12,11,10,16,18,4,9,3X = train_data.reindex(columns=['V14','V17','V12','V11','V10','V16','V18','V4','V9','V3'])print(X.shape[1]) # -> 10
但是当我调用 fit 方法时:
# 拟合模型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'
我错过了什么?
回答:
keras
期望模型输入是 numpy
数组 – 而不是 pandas.DataFrame
。尝试如下操作:
X = train_data.iloc[:, 0:30].as_matrix()Y = train_data.iloc[:,30].as_matrix()
因为 as_matrix
方法可以将 pandas.DataFrame
转换为 numpy.array
。