python - 我们可以在训练和测试数据中建立具有不同输入向量大小的模型吗?
问题描述
我使用 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 个进行预测。
推荐阅读
- c# - Blazor 事件回调问题父/子组件“没有与名称 'OnClickCallback' 匹配的属性”
- laravel - 迁移包和 Laravel 的问题
- python-3.x - 从 Pandas 数据框列中剥离字符
- python - 在 Python 中构造对称块矩阵
- google-chrome - 如何将 cookie 从 Chrome 传递到通过自定义协议处理程序启动的 IE?
- python - 烧瓶,无法在同一目录中导入python模块
- excel - Excel - 使用一个标准计算日期范围内的不同日期
- javascript - 在 ReactJS 应用程序的生产环境中添加源映射对性能有影响吗?
- php - .htaccess 文件在尝试清理 url 后抛出 500 错误
- azure-backup-vault - Azure Backup Vault 还原到另一台服务器