【发布时间】:2019-07-31 12:10:31
【问题描述】:
我使用 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)
【问题讨论】:
-
为什么训练和测试中向量的大小不同?
-
因为这是我在测试数据中唯一可以拥有的向量
-
是的,但是列的区别是什么?您是否生成了一些特征?训练集中和测试集中的列数应该相同。我不知道有任何方法可以将知识从 10 列训练的模型转移到 6 列预测模型...
-
我认为最正确的处理方法是仅使用始终可用的 6 个功能重新训练模型。如果你打算在 6 个特征数据上使用这个模型,那么用剩下的 4 个来训练模型是没有意义的。
标签: python machine-learning keras logistic-regression