我在使用pandas和list进行深度学习时遇到问题

2024-09-27 23:22:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图训练一个二元分类的深度学习网络,但是当我想要拟合模型时,我有一些错误取决于输入数据。 当我使用包含一些列表的列表时,我得到以下信息:

ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following types in the input: [<class 'float'>, <class 'float'>, <class 'float'>, <class 'float'>,...

以下是我的一些输入数据:

    [[0.6136568,
  0.84256226,
  ....
  -0.8160665,
  -0.73415625],
 [0.14178441,
  -0.011213281,
  ....
  0.1529382,
  0.1492072],
 [-0.6528975,
  -0.5710656999999999,
  .....

为了解决此错误,我尝试将列表转换为数组,但现在出现以下错误:

ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type list).

以下是我的一些输入数据:

array([list([0.6136568, .... ,  -0.8160665, -0.73415625]),
   list([0.14178441, ....., 0.1492072]), ....

这是我的密码:

def getRawData(x_data,y_data,dataset,label,window_size):
for i in range(0,dataset.size,window_size):
    
    x_data.append(dataset.iloc[i:i+window_size,].to_list())
    y_data.append(label)
x=[]
y=[]

getRawData(x,y,ds1,0,45)
getRawData(x,y,ds2,1,45)


getRawData(x,y,ds3,0,45)
getRawData(x,y,ds4,1,45)
num_units=64
learning_rate = 0.0001
activation_function = 'relu'
adam = Adam(lr=learning_rate)
loss_function = 'binary_crossentropy'
batch_size = 20
num_epochs = 300



model = Sequential()


model.add(LSTM(units = num_units,activation=activation_function,input_shape=(None,1)))
model.add(LeakyReLU(alpha=0.5))
model.add(Dropout(0.1))
model.add(Dense(units = 1))
model.compile(optimizer=adam, loss=loss_function,metrics=['accuracy'])
history = model.fit(
    x,
    y,
    validation_split=0.1,
    batch_size=batch_size,
    epochs=num_epochs,
    shuffle=False
)

有什么问题?正确的输入格式是什么


Tags: to数据add列表datasizemodel错误

热门问题