我在这方面的知识很差,如果这是一个微不足道的问题,请向我道歉。
我需要训练一个模型,我有两个数据集:训练用于构建模型的数据和用于在其上应用模型的评分数据。
一个重要的分类变量在训练数据中有200个等级,在得分数据中只有50个等级。事实上,他们只有20个级别。
那么,处理这种情况的正确方法是什么?我应该将水平限制在水平的交叉点,还是保持水平或什么? 最好成绩。
答案 0 :(得分:0)
这里有许多不同的选择。我假设你在谈论一个单一的属性,我也在假设,因为你在谈论一个级别它是数字:
我不是专家,但我发现做了一些测试,并尝试不同的方法不会受到伤害。我在学校使用的程序称为Weka,它是免费的,开源的,还有教学视频,将向您介绍数据分析背后的理论 http://www.cs.waikato.ac.nz/ml/index.html
答案 1 :(得分:0)
使用测试数据集测试模型时,您需要过滤掉测试数据集中不存在的级别(假设您的模型无法处理缺失的级别)。
或者,您可以将数据重新划分为测试和训练集,其中测试集中的所有级别都存在于训练集中。 createDataParition
包中的caret
功能会为您执行此操作 - 例如见here。