假设我有一个分类模型。我的工作是从30个不同的班级中预测正确的班级。目前的准确度是70%。
问题是:我必须消耗另一支球队的分类结果,该结果准确率为80%。因此,我将他们的预测标签用作功能。我将其称为“黄金功能”。假设我的目标是>精度达到80%。
这是我目前的做法:
(我正在使用深度学习。)我有几个功能,每个功能都有自己的分量。我还为“黄金特征”的一个热向量(1乘30)创建了一个权重向量,并将所有权重一起训练。但是结果似乎并没有提供太多。
我考虑了为什么的原因,并意识到学习的向量(30乘以n,后跟n乘以30,从而产生1乘30)没有那么大的意义。他们只是正数。 (如果我的推理错误,请对我大喊!)
有人遇到过类似的问题吗?任何建议将不胜感激。 您建议的方法不必是深度学习方法。
答案 0 :(得分:2)
您可以采用整体建模方法。
这是它的样子:
feature_1 ---- | |
feature_2 ---- | Model 1 | ---- output 1
feature_n ---- | |
feature_1 ---- | |
feature_2 ---- | Model 2 | ---- output 2
feature_n ---- | |
feature_1 ---- | |
feature_2 ---- | Model n | ---- output n
feature_n ---- | |
现在,您将构建一个元模型。一个简单的元模型可能是一个简单的投票分类器(分类器的最大投票数获胜,因此所有模型都具有相等的投票权重)或逻辑回归(加权投票)。您可以使用神经网络,随机森林或svm,但模型可能过于复杂,因此请根据您的特定问题和数据量考虑使用它。
output_1 ---- | |
output_2 ---- | Meta Model | ---- Final Classification
output_n ---- | |
在您的情况下,“黄金特征”就像输出1。
有关详细信息,请看这篇写得很好的帖子:https://blogs.sas.com/content/subconsciousmusings/2017/05/18/stacked-ensemble-models-win-data-science-competitions/
答案 1 :(得分:1)
您可以做的另一件事是尝试用第二个模型补充第一个模型。有一个中间预测器,其唯一的工作就是预测天气,第一个模型不会产生正确的结果。该中间预测变量将具有与原始模型相同的功能。由于这是一个二进制分类器,因此您可能会获得很高的准确性。然后,如果中间模型的置信度低,则使用您自己的分类模型而不是原始分类模型。
或者,您可以有两种中间模型,一种用于原始模型,另一种用于分类器。然后,通过两个中间模型的置信度得分对预测值进行加权求和。