我们可以在训练和测试数据中建立一个具有不同输入向量大小的模型吗?

问题描述 投票:0回答:2

我使用 keras 构建逻辑回归模型。我的输入训练向量的形状是 10。

[var1,var2,var3,var4,var5,var6,var7,var8,var9,and var10]
它是二元分类,所以目标标签y是0或1。

有一次,我尝试了模型,我想用大小为 6 的输入向量进行预测?因此,训练和测试或预测数据的向量大小之间存在差异。

这可能吗?有什么机器学习算法支持这样的功能吗?

代码如下:


classifier.add(Dense(units = 50, kernel_initializer = 'uniform', activation = 'relu', input_dim = 5))
classifier.add(Dense(units = 1, kernel_initializer = 'uniform', activation = 'sigmoid'))


# compile ANN
classifier.compile(optimizer = optimizer, loss = 'binary_crossentropy', metrics = ['accuracy'])

# Fitting the data
hisroy =classifier.fit(X_train, y_train, batch_size = 5, epochs = 100)
python machine-learning keras logistic-regression
2个回答
2
投票

如果您使用六个输入执行预测,但使用十个输入进行训练,那么您的模型很可能不会尽可能高效。您基本上将具有“死”相关性,因为您的输入将不存在 - 因此在使用新数据时无法很好地关联正确的输出。通过使用这十个输入进行训练,您还可以减少实际使用的六个输入的可能依赖/相关行为,因为您的模型从所有十个输入中学习。从技术上讲,您可以使用您不使用的四个的默认值来填充您的输入,但再一次,我没有看到使用十个进行训练但使用六个进行预测有任何好处。


0
投票

我需要帮助来理解为什么没有好处。

在现实生活场景中,您可以使用 10 个特征来训练模型,但部署后,输入可能具有不同的特征甚至更少(例如他的案例中的 6 个特征)。

假设您训练一个模型,使用某些单词作为特征将文本文件分为两类(信件或电子邮件)。

您将使用许多文本文件来训练模型,并且您将拥有数千个特征。但是,当您为现实生活场景部署模型时,输入将是单个文本文件。

你如何解决这个问题?每次我想要对输入进行分类时,是否都必须重新训练整个模型?

谢谢你。

© www.soinside.com 2019 - 2024. All rights reserved.