如何处理包含标称数据的目标变量?

How to deal with a target variable containing nominal data?

我正在从事一个 NLP 项目,其目标变量包含七个独特的句子,分别是“鼓舞人心和发人深省”、“信息丰富”、“承认和赞赏”以及其他 4 个。至于我的理解,目标变量作为我们无法在它们之间建立定量比较。所以我的问题是编码这些变量的最佳方式是什么?如果我使用一种热编码对其进行编码,那么问题将是多 class classification?

在 class化中,class 实际代表什么并不重要,学习算法无论如何都将每个 class 视为绝对值。换句话说,无论 classes 的名称是字符串、字符还是数字,都不会改变模型的任何内容。这就是为什么最常见的选择是简单地将 classes 表示为整数:1,2,3,... 例如在 scikit 中,这可以用 LabelEncoder.

来完成

使用一种热编码是个坏主意,因为这会导致问题 multi-label。这会使模型的问题变得更加复杂,并且很可能会导致性能下降,或者需要更多的数据才能达到与常规 classification 相同的性能。这是因为在多标签问题中有更多可能的组合,在这种情况下,这种更高级别的复杂性毫无意义,因为只能有一个 class.