Python 3.x Keras中的ValueError:如何安装模型?

Python 3.x Keras中的ValueError:如何安装模型?,python-3.x,neural-network,keras,Python 3.x,Neural Network,Keras,我试图用keras来拟合我的模型(神经网络),但我得到了一个值误差 进口干酪 from keras.models import Sequential from keras.layers import Dense classificador_rede_neural = Sequential() # # Camadas Ocultas e de Saída # camadas ocultas = (entradas + saídas)/2 #estimando o numero de n

我试图用keras来拟合我的模型(神经网络),但我得到了一个值误差

进口干酪

from keras.models import Sequential

from keras.layers import Dense


classificador_rede_neural = Sequential()


# # Camadas Ocultas e de Saída

# camadas ocultas = (entradas + saídas)/2 #estimando o numero de neurônios em camada oculta
# 
# temos:len(train.columns) - 1   atributos previsores
# 
# 1 classe


#len(train.columns)


camadas_ocultas = round(len(train.columns)/2)



print(camadas_ocultas)


classificador_rede_neural.add(Dense(units=camadas_ocultas, activation='relu',input_dim =len(train.columns) ))#primeira camada


classificador_rede_neural.add(Dense(units=camadas_ocultas, activation='relu' ))#segunda camada


classificador_rede_neural.add(Dense(units=1, activation='sigmoid' ))#camada de saída. a saída é binária, logo units=1
classificador\u rede\u neural.compile(优化器='adam',loss='binary\u crossentropy',metrics=['accurity'])

我得到一个错误:

 ValueError: Please provide as model inputs either a single array or a list of arrays. You passed: x=              sload        dload  spkts  dpkts  swin  dwin  smean  dmean  \
    0      1.803636e+08     0.000000      2      0     0     0    248      0   
    1      8.810000e+08     0.000000      2      0     0     0    881      0   
    2      8.544000e+08     0.000000      2      0     0     0    534      0   
    3      6.000000e+08     0.000000      2      0     0     0    450      0   
    4      8.504000e+08     0.000000      2      0     0     0   1063      0   
    5      1.045333e+09     0.000000      2      0     0     0    392      0   
    6      1.306667e+09     0.000000      2      0     0     0    980      0   
    7      1.977143e+08     0.000000      2      0     0     0    692      0   

[82332 rows x 22 columns]
我怎样才能适合这个模型?我的数据有什么问题


完整的代码>

我认为问题在于您向模型传递了一个完整的pandas数据集,以及列标题和索引列。为了根据数据训练模型,首先使用
X_train2.values
y_train2.values
将其转换为numpy数组,因为Keras模型接受numpy数组而不是数据集作为输入

类似问题

关于Keras序列模型的文档

编辑以回答评论
不要单独转换每一列,这是没有意义的。假设您有一个名为
labels
的列的通用数据集
df
,您需要做的是

labels = df.pop("labels")
model.fit(x=df.values, y=labels.values)

X\u train2
y\u train2
看起来如何?@Colonder:@Colonder:@Colonder:错误令人困惑,因为您应该提供Numpy数组not list!!!我如何转换它?看答案。使用
X\u train2.values
X\u train2.as\u matrix()
X\u train2,y\u train2=train.drop('label',axis=1),train['label']X\u test2,y\u test2=test,classe1\u test我试图用你的答案,但我被卡住了!请看完整的代码>pastebin.com/jE7erEJsLet-us。
labels = df.pop("labels")
model.fit(x=df.values, y=labels.values)