如何在机器学习中训练未绑定的数据?

vyswwuz2  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(250)

我有近9000个实体的数据,我想训练我的模型并从数据中检测异常。
我尝试了几件事来完成我的工作,我做的一件事是

def create_sequences(values, time_steps=TIME_STEPS):
 output = []
 for i in range(len(values) - time_steps):
     output.append(values[i : (i + time_steps)])
 return np.stack(output)

在这里,我开始分割我的训练数据

x_train = create_sequences(data['HR'].values)
x_train = np.expand_dims(x_train,axis=2)

x_train = create_sequences(data['PULSE'].values)
x_train = np.expand_dims(x_train,axis=2)

x_train = create_sequences(data['SpO2'].values)
x_train = np.expand_dims(x_train,axis=2)

x_train = create_sequences(data['ABPDias'].values)
x_train = np.expand_dims(x_train,axis=2)

x_train = create_sequences(data['ABPMean'].values)
x_train = np.expand_dims(x_train,axis=2)

x_train = create_sequences(data['RESP'].values)
x_train = np.expand_dims(x_train,axis=2)

这是我正在训练的模型

model = Sequential()
model.add(Conv1D(filters=32, kernel_size=7, padding="same", strides=2, input_shape=(x_train.shape[1],x_train.shape[2])))
model.add(MaxPooling1D(pool_size=1,padding="valid"))
model.add(Dropout(0.2))
model.add(Conv1D(filters=16, kernel_size=7, padding="same", strides=2))
model.add(LSTM(units=20, return_sequences=True))
model.add(Dropout(0.2))
model.add(Conv1DTranspose(filters=16, kernel_size=7, padding="same",strides=2))
model.add(Conv1D(filters=32, kernel_size=7, padding="same"))
model.add(MaxPooling1D(pool_size=2,padding="valid"))
model.add(Conv1DTranspose(filters=32, kernel_size=7, padding="same",strides=4,activation="relu"))
model.add(Conv1DTranspose(filters=1, kernel_size=7, padding="same"))

model.compile(optimizer="adam", loss="mse")

model.summary()

history = model.fit(
 x_train,
 x_train,
 epochs=150,
 batch_size=128,
 validation_split=0.1
)

但是这花了很多时间,我错过了什么?有谁能指导我,还有一件事是,我应该使用train_test_split来处理未绑定的数据吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题