这可能是一个幼稚的问题,但我想知道为什么我们(或者可能只是我)在将分类类标签提供给软件包中的分类器(如 Python 的 scikit-learn ML 库)之前将它们转换为整数?
让我们以简单的 Iris 数据集为例,为什么我们要将类别标签从“Setosa”、“Virginica”和“Versicolor”转换为例如 0、1 和 2?
当我在协作开展一个项目时出现了这个问题,而我的一位同事没有使用标签编码器将类标签从字符串转换为整数。它起作用了(她正在使用 scikit-learn);我直觉地“纠正”了它(插入了一个标签编码器),她问我为什么:嗯,除了“大多数机器学习算法以这种方式工作得更好”之外,我真的没有很好的答案(这是我前一段时间在某处读过的东西) .
现在我想了想:它背后的理由是什么?由于在典型的分类任务中,类标签是名义变量,而不是序数变量,它是计算效率(存储和处理更少的“数据”)吗?