问题标签 [label-encoding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
35877 浏览

python - 如何为 Pandas 数据框中的特定列应用 LabelEncoder

我有一个由数据框加载的数据集,其中需要使用LabelEncoderscikit-learn 对类标签进行编码。该列label是具有以下类的类标签列:

为了执行标签编码,我尝试了以下方法,但它不起作用。我该如何解决?

0 投票
2 回答
333 浏览

python - 为什么我收到“无法分配给操作员”错误?

当我尝试分配LabelEncoder()给时label_encoder,我收到一个错误:

SyntaxError:无法分配给操作员

不过,我分配LabelEncoder()label_encoder了过去。
这是我的代码:

0 投票
1 回答
463 浏览

scikit-learn - 使用 scikit learn 进行标签编码时如何保持自然顺序

我正在尝试使用 scikit-learn 模块为决策树分类器拟合模型。我有 5 个特征,其中一个是分类的,而不是数字的

我是 ML 新手,我一直在阅读有关在将数据帧提供给模型之前对分类特征进行编码的必要性,以及如何存在编码变体,如标签编码一种热编码

现在,根据大多数文献,当特征的值可以自然排序时,应该或可以使用标签编码,例如“低”、“正常”、“高”;否则应该使用一种热编码,这样当没有语义上有意义的值时,模型不会在值之间建立误导性的顺序关系,例如'Brazil', 'Congo', 'Czech Republic'

所以,这就是我选择编码策略背后的逻辑所在,这就是我问这个的原因:

我怎样才能让 scikit-learnLabelEncoder保持值的自然顺序,我怎样才能让它像这样编码:

而不是它现在的方式:

这完全可以做到吗?它实际上是编码器的任务吗?在编码之前我必须在其他地方做吗?

谢谢

0 投票
2 回答
1395 浏览

python - 编码分类变量,如“状态名称”

我有一个带有“州名”的分类列。我不确定我必须执行哪种类型的分类编码才能将它们转换为数字类型。

有 83 个唯一的州名。

标签编码器用于有序分类变量,但 OneHot 会增加列数,因为有 83 个唯一的州名称。

还有什么我可以尝试的吗?

0 投票
2 回答
150 浏览

machine-learning - scikit learn中作为标签的序数和分类数据之间的区别

我知道作为特征,序数数据可以分配任意数字,OneHotEncoding 可以用于分类数据。但是当这两种类型的数据是要预测的特征时,应该如何处理它们,我有点困惑。例如在 scikitlearn 的 iris 数据集中:

虽然 y 代表三种类型的花,这是一个分类数据(如果我没有错?!),它被编码为 0,1,2 的序数值(type=int32)。我的数据集还包括 3 个独立的类别('sick'、'carrier'、'healthy'),scikitlearn 将它们作为字符串接受,没有任何类型的编码。

我想知道保留它们是否正确,因为它们将由 scikitlearn 使用,或者需要像对 iris 数据集所做的类似编码?

0 投票
1 回答
445 浏览

python - 在输入缺失值后,LabelEncoder 无法进行 inverse_transform(看不见的标签)

我处于初学者到中级数据科学水平。我想使用knn.

由于数据帧包含字符串和floats,我需要使用 对值进行编码/解码LabelEncoder

我的方法如下:

  1. 替换 NaN 以便能够编码
  2. 编码文本值并将它们放入字典中
  3. 检索要使用 knn 估算的 NaN(先前转换的)
  4. 用 knn 赋值
  5. 解码字典中的值

不幸的是,在最后一步中,估算值会添加无法解码的新值(unseen labels错误消息)。

你能向我解释我做错了什么吗?理想情况下请帮我纠正它。在结束之前,我想说我知道还有其他类似的工具OneHotEncoder,但我不太了解它们,我发现 LabelEncoder 更直观,因为你可以直接在数据框中看到它(其中LabelEncoder提供了一个数组)。

请在下面找到我的方法示例,非常感谢您的帮助

[1]

[2]

[3]

[4]

[5]

[6]

错误信息 :

0 投票
0 回答
277 浏览

machine-learning - OneHotEncoder 的参数:类别

几个月以来,我一直在通过 Scikit-learn 对 ML 进行编码。但是对 OneHotEncoder 的 scikit 预处理对象进行了更新。这是一个参数 categorical_features 现在已更改为类别,现在我不明白如何写入值

我正在编写的代码是:

from sklearn.preprocessing import LabelEncoder , OneHotEncoder

le = LabelEncoder() X[:,0] = le.fit_transform(X[:,0])

ohe = OneHotEncoder(categories = X[:,0].all()) X = ohe.fit_transform(X).toarray()

并显示此错误

runcell(0, 'C:/Mobile Videos/OPencv/opencv-master/samples/data/untitled2.py') Traceback(最近一次通话最后):

文件“C:\Mobile Videos\OPencv\opencv-master\samples\data\untitled2.py”,第 25 行,在 X = ohe.fit_transform(X).toarray()

文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\preprocessing_encoders.py”,第 372 行,在 fit_transform return super().fit_transform(X, y)

文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\base.py”,第 571 行,在 fit_transform *return self.fit(X, **fit_params).transform(X)*

文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\preprocessing_encoders.py”,第 347 行,适合 self._fit(X, handle_unknown=self.handle_unknown)

文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\preprocessing_encoders.py”,第 77 行,在 _fit if len(self.categories) 中!= n_features:

TypeError:“int”类型的对象没有 len()

如果我将参数设为自动,那么它将整个数据集更改为代码,就像将标签更改为代码一样

你能帮我解决这个问题吗??????

0 投票
0 回答
30 浏览

python - 标签编码具有多个值的变量

我的变量由多种成分组成。每个都由不同的成分组成,用逗号分隔。我对多个值使用了 One Hot Encoding(MultiLabelBinarizer()),但它增加了我的数据集维度。

对于这种情况,我们有什么合适的方法吗?

我的变量如下所示:

0 投票
0 回答
27 浏览

data-analysis - 如何在python中标记编码?

如何在python中标记编码?

0 投票
1 回答
28 浏览

python-3.x - 如何保存我必须编码的真实标签?

为了获得带有病态学习的决策树,我需要对数据框进行标签编码。

但是,为了在混淆矩阵上正确绘制它,我需要保存target列的标签。

我试过了:

并绘制它:

它返回一个混淆矩阵,但我不知道我是否很好地标记它......