machine-learning - 处理训练数据和预测数据中的特征数量不匹配
问题描述
我有 6 个文本特征(比如 f1、f2、..、f6)可用于我训练模型的数据。但是,当部署此模型并出现新数据点时,我必须使用此模型对其进行预测,它只有 2 个特征(f1 和 f2)。所以,存在特征不匹配的问题。我该如何解决这个问题?我有一些想法,但效率不高。
- 仅使用两个特征进行训练(f1 和 f2),并丢弃其他特征(f3,..,f6)。但这会导致信息丢失,并且我的测试集准确性会降低。
- 了解 (f3,..,f6) 与 (f1 和 f2) 之间的一些关系。因此,即使 (f3,..,f6) 不在新数据点中,也只能从 f1 和 f2 中提取信息。
解决方案
最好的方法当然是使用 f1、f2 和您可能拥有的任何新数据来训练一个新模型。
不想那样做?如果您没有 f3...f6,您不应该神奇地期望模型按预期工作。
现在,想想那些“f3...f6”是什么?它们与您掌握的新信息有关吗?如果它们是,您也许可以近似它们。我们无法告诉您该怎么做,因为我们不知道它们是什么。插值?回归?粗略的近似?
我的建议:您缺少模型的大部分预测变量。你的旧模型毫无意义。请训练一个新的。
推荐阅读
- c# - 将类从一个 C# 项目导入到另一个项目时,是否可以排除自动生成的文件?
- prolog - 将返回值从谓词传递给 Prolog 中的另一个谓词
- css - ant-design-vue 表格缺少排序图标
- git - 使用 git 对所有 https 存储库进行证书检查失败,但只有 1 个用户
- c - 如何用确定的值初始化数组?
- authentication - 为 OTRS 启用本地和 LDAP 配置
- python - 向rabbitmq队列添加多个队列
- ios - iOS:如何跟踪 Firebase 动态链接
- flutter - NoSuchMethodError:在 null 上调用了 getter 'bloc'
- sql - PostgreSQL:根据分隔符将一个元素的数组拆分为多个元素并取消嵌套的查询