分类和回归的结合

我正在处理的数据集包含一个8传感器气体传感器阵列的读数。传感器的响应取决于气体刺激(甲烷,乙烯等)和气体浓度(20 ppm,50 ppm等)。数据集包含640个样本,每个样本的形状为(6000,8),因为阵列上有8个传感器。(传感器阵列对100ppm甲烷的响应)

我的任务是建立一个模型来预测传感器阵列读数的类别(该读数来自哪种气体),然后预测该气体的浓度。

到目前为止,我已经构建了一个基于1D卷积层的分类模型,该模型成功地将样本分类为四类(气体),准确率为98%。

我该如何预测气体的浓度值?是否可以对已分类的样本进行回归分析,或者我应该寻找完全不同的方法?


回答:

对于这个任务,我会构建一个像这样的多输出神经网络:

from tensorflow.keras.layers import Input, Densefrom tensorflow.keras.models import Modelinp = Input(shape=(n_features,))hidden1 = Dense(20, activation='relu', kernel_initializer='he_normal')(inp)hidden2 = Dense(10, activation='relu', kernel_initializer='he_normal')(hidden1)out_reg = Dense(1, activation='linear')(hidden2)out_class = Dense(n_class, activation='softmax')(hidden2)model = Model(inputs=inp, outputs=[out_reg, out_class])model.compile(loss=['mse','sparse_categorical_crossentropy'], optimizer='adam')model.fit(X_train, [y_train_reg, y_train_class], epochs=150, batch_size=32, verbose=2)

一个输出用于回归,另一个用于分类。下面是神经网络架构的图像:

enter image description here

如果你不知道如何创建这样的网络,请阅读文档

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注