如何在机器学习中训练未标记数据?



我有近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未标记的数据吗?

你不能进行监督学习没有标记数据。同时使用特征作为输入和标签是不可取的。你正在寻找的是基于聚类的异常检测,它属于无监督学习的类别。。对于这个任务,DBSCAN可能是一个不错的选择,它可以在scikit-learn中找到。

您使用一些层来编码然后解码数据。你应用的技术是监督机器学习(ML)。由于您的数据集是未标记的,因此需要使用无监督的ML方法。聚类是一种在多维的未标记数据中寻找模式的技术。基于聚类的异常检测有两种不同的方法。1-无监督聚类,其中异常检测模型使用由正常流量和攻击流量组成的未标记数据进行训练。2-半监督聚类,其中模型仅使用正常数据进行训练,以构建正常活动的概况。

相关内容

  • 没有找到相关文章

最新更新