我应该如何配置我的神经网络以接受一列 numpy.ndarrays 作为输入?

数据挖掘 机器学习 神经网络 深度学习 喀拉斯 张量流
2022-02-21 07:57:31

我有一个包含 10k 行和以下列的数据框:

      array                                     target
[1,5,6,1,3,etc...]                                5
[3,3,1,0,5,etc...]                                10
[0,0,1,1,7,etc...]                                3
        .                                         .
        .                                         .
        .                                         .

每个数组有 33222 个元素,所以我有 10,000 行,每行有一个 33,222 长的 numpy.array,我想将其输入到神经网络中以预测目标变量。

以下是NN的配置方式:

x = df.loc[:, 'array']
y = df.loc[:, 'target']

model = Sequential()
model.add(Dense(12, activation='linear'))
model.add(Dense(1, activation='linear'))

model.compile(loss='mse',
                optimizer='adam',
                metrics=['accuracy', 'mse', 'mae'])
                   
model.fit(x, y, epochs=10, batch_size=1, verbose=1)

我越来越

"ValueError: Please provide as model inputs either a single array or a list of arrays"

我以前没有尝试使用数组作为 NN 的输入,所以我也很感激有关此类问题的最佳层选择和配置的任何建议。

1个回答

您应该input_shape在第一个密集层中设置参数。像这样:

model = Sequential()
model.add(Dense(12, activation='linear', input_shape=(33222,)))
model.add(Dense(1, activation='linear'))