首页 > 解决方案 > 我们可以在训练和测试数据中建立具有不同输入向量大小的模型吗?

问题描述

我使用 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)

标签: pythonmachine-learningkeraslogistic-regression

解决方案


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


推荐阅读