【发布时间】:2016-08-10 14:03:14
【问题描述】:
我在这方面的知识很差,如果这是一个微不足道的问题,请向我道歉。
我需要训练一个模型,并且我有两个数据集:用于构建模型的训练数据和用于在其上应用模型的评分数据。
一个重要的分类变量在训练数据中有 200 个级别,而在评分数据中只有 50 个级别。事实上,它们只共享 20 个级别。
那么,处理这种情况的正确方法是什么?我应该将水平限制在水平的交叉点还是保持不变还是什么? 最佳。
【问题讨论】:
标签: r
我在这方面的知识很差,如果这是一个微不足道的问题,请向我道歉。
我需要训练一个模型,并且我有两个数据集:用于构建模型的训练数据和用于在其上应用模型的评分数据。
一个重要的分类变量在训练数据中有 200 个级别,而在评分数据中只有 50 个级别。事实上,它们只共享 20 个级别。
那么,处理这种情况的正确方法是什么?我应该将水平限制在水平的交叉点还是保持不变还是什么? 最佳。
【问题讨论】:
标签: r
这里有许多不同的选项。我假设您在这里谈论的是单个属性,并且我还假设因为您谈论的是数字级别:
我不是专家,但我发现做一些测试并尝试不同的方法并没有什么坏处。我在学校使用的一个程序叫做 Weka,它是免费和开源的,还有一些教学视频将向您介绍数据分析背后的理论 http://www.cs.waikato.ac.nz/ml/index.html
【讨论】:
使用测试数据集测试模型时,您需要过滤掉测试数据集中不存在的级别(假设您的模型无法处理缺失的级别)。
或者,您可以将数据重新划分为测试集和训练集,其中测试集中的所有级别都存在于训练集中。 createDataParition 包中的 createDataParition 函数将为您执行此操作 - 例如见here。
【讨论】: