gpt4 book ai didi

python - scikit-learn 中多类问题的编码标签

转载 作者:行者123 更新时间:2023-11-30 08:53:33 24 4
gpt4 key购买 nike

当使用 scikit-learn 的分类器解决多类问题时,是否有必要使用一种热编码对标签进行编码?例如,我有 3 个类,在将这些数据输入不同的分类器进行训练时,将它们简单地标记为 012。据我所知,它似乎工作正常。但是有什么理由不推荐这种基本编码吗?

一些算法(例如随机森林)可以本地处理分类值。对于逻辑回归、多层感知器、高斯朴素贝叶斯和随机森林等方法,如果我没有记错的话,这些方法似乎可以本地处理分类值。这样的评价正确吗?哪个 scikit-learn 的分类器本身不处理这些输入并且受序数影响?

最佳答案

所有 scikit 估计器都会自动处理多类问题。

在内部,它们将被适本地转换为,如果算法支持 native 多类问题,则将简单编码转换为 0,1,2 等;如果算法通过 transforming to binary 处理多类问题,则将转换为 one-hot 编码。 .

请引用the documentation看到这个:

All scikit-learn classifiers are capable of multiclass classification,...

您可以看到“逻辑回归、多层感知器、高斯朴素贝叶斯和随机森林”位于“固有多类” 标题下。

其他像 SGD 或 LinearSVC 使用一对一的方法来处理多类,但正如我上面所说,这将由 scikit 内部处理,因此作为用户,您不需要执行任何操作并且可以通过单个 y 数组中的多类标签(甚至作为字符串)发送给所有分类估计器。

用户需要显式将标签转换为单热编码的唯一一件事是多标签问题,即可以为样本预测多个标签。但我认为你的问题与此无关。

关于python - scikit-learn 中多类问题的编码标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51525043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com