问题标签 [one-hot-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 投票
1 回答
1610 浏览

python-2.7 - PySpark-OneHotEncoding

这可能是幼稚的,但我刚开始使用 PySpark 和 Spark。请帮助我理解 Pyspark 中的一种热门技术。我正在尝试在其中一列上执行 OneHotEncoding。在一次热编码之后,数据帧模式添加了一个向量。但是要应用机器学习算法,那应该是将单个列添加到现有数据框中,每列代表一个类别,而不是向量类型列。如何验证 OneHotEncoding。

我的代码:

本次展示:

新添加的列是向量类型。如何将其转换为每个类别的单独列

0 投票
1 回答
2317 浏览

r - R DataFrame - 包含多个术语的列的一种热编码

我有一个数据框,其列具有多个值(逗号分隔):

我想将Info列拆分为one-hot-encoded列,并将结果附加到 Target 列之外,例如:

在 python 中,我可以执行以下操作来获取字典,然后使用它来分配列。

到目前为止,我可以在 R 中做到这一点

我不知道如何将其转换为 R 中的字典,并使用它转换为 One-Hot-Encoding 的列。

我该如何解决这个问题?

0 投票
1 回答
87 浏览

r - R - ggplot2不同的列通过过滤,垂直堆叠

我有一个数据框(df2),其中包含 Age、Info、Target 和 Info 转换为单热编码列,如下所示。

这是df2

我想绘制不同信息类型的年龄分布,即“好”、“坏”等的图。例如:

年龄分布与

如何 added_cols在单个图中使用 One-Hot-Encoded 功能为所有列绘制这样的图?也许使用 Facet?

0 投票
2 回答
1947 浏览

python - 如何在 Scikit-learn 的 OneHotEncoder 中获取维数

OneHotEncoder在我的项目中使用来自 Scikit-learn 的。而且我需要知道当n_value设置为时每个单热向量的大小是多少auto。我以为n_value_会证明这一点,但似乎除了尝试训练样本外我别无他法。我制作了这个玩具示例代码来显示问题。你知道其他解决方案吗?

0 投票
0 回答
623 浏览

python - 如何在标签编码和 scikit-learn 上的一种热编码后检索系数名称?

我正在使用 scikit-learn 的 RidgeCV() 方法运行机器学习模型(带交叉验证的岭回归)。我的数据集有 5 个分类特征和 2 个数字特征,所以我从 LabelEncoder() 开始将分类特征转换为整数,然后我应用 OneHotEncoder() 来制作几个 0 和 1 的新特征列,以便应用我的机器学习模型。

我的 X_train 现在是一个 numpy 数组,在拟合模型后,我得到了它的系数,所以我想知道 - 有没有一种直接的方法可以将这些系数连接回它们对应的各个特征?与 Pandas get_dummies 不同,OneHotEncoder 似乎没有为它从标记的分类特征中生成的各个特征生成任何标题......

PS:我使用了 LabelEncoder 的 .classes_ 属性和 OneHotEncoder 的 .feature_indices_,但它们都没有给出我正在寻找的东西。我在 Cross Validated 中进行了询问,但我被称为 Stack Overflow。

0 投票
1 回答
111 浏览

list - 熊猫数据帧中的 onHotEncoding 和列表

我有一个熊猫数据框:

这导致:

上述命令的结果

但是我想实现一个 onHotEncoder,它将每个列表与 dataFrame 的单元格视为一个字符串,并且我希望它独立地处理每个

我将如何实现这一点?我的实际数据框包含 500 个项目的列表,并且有 4000 个唯一值。

0 投票
1 回答
20017 浏览

python - 处理标签编码的未知值

如何处理 sk-learn 中标签编码的未知值?标签编码器只会在检测到新标签的情况下爆炸。

我想要的是通过one-hot -encoder对分类变量进行编码。但是,sk-learn 不支持字符串。所以我在每一列上都使用了一个标签编码器。

我的问题是在管道的交叉验证步骤中出现了未知标签。基本的 one-hot-encoder 可以选择忽略这种情况。先验pandas.getDummies /cat.codes是不够的,因为管道应该与现实生活中的新传入数据一起工作,这些数据也可能包含未知标签。

是否可以CountVectorizer为此目的使用 a ?

0 投票
1 回答
1276 浏览

python - 使用 onehot 编码的 TensorFlow 嵌入查找

我目前有要使用嵌入的 onehot 编码。但是,当我打电话时

嵌入数据形状(11、32、729、128)

这个形状应该是 (11, 32, 128) 但它给了我错误的尺寸,因为 train_data 是 onehot 编码的。

给我错误:

请帮帮我!谢谢。

0 投票
1 回答
649 浏览

python - 熊猫如何以不寻常的文本顺序分解

我有一个数据框,其中有一列“cat100”,其值如下:

'A' 'B' ... 'Y' 'Z' 'AA' 'AB' ...

我想使用 pd.factorize 对列进行因式分解,使 AA 在“B”“C”...“Z”之后。

我试过类似的东西:

但这会将 A 分配给 0,将 B 分配给 2,将 AA 分配给 1。我希望将 AA 分配给 2,将 B 分配给 1。

我已经寻找方法来做到这一点,但没有找到任何东西。有没有办法做到这一点?

0 投票
1 回答
554 浏览

machine-learning - 给定稀疏矩阵时,Sklearn 会抛出 ValueError

当特征用稀疏矩阵表示时,我的 SVM 分类器会抛出值错误,但如果特征用密集矩阵表示则不会出错。

我有对我的功能集执行 One Hot Encoding 的代码,并将编码的输出添加到新的功能列表中。当使用 .toarray() 将 One Hot Encoding 的输出转换为密集数组时,我的 SVM 分类器运行良好。

但是,使用密集数组并不理想,因为我有数千个数据点,而且我的计算机很快就会耗尽内存。因此,需要稀疏数组。如果我只是从下面的代码中删除 .toarray() ,则 enc.transform(features) 的输出将输出一个稀疏矩阵。但是,如果我运行我的 SVM 分类器,我现在会收到以下错误:

ValueError:使用序列设置数组元素。

当我的 SVM 尝试拟合数据时,似乎有些事情失败了。Sklearn SVM 接受稀疏向量,所以我不明白出了什么问题。