问题标签 [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.
python-2.7 - PySpark-OneHotEncoding
这可能是幼稚的,但我刚开始使用 PySpark 和 Spark。请帮助我理解 Pyspark 中的一种热门技术。我正在尝试在其中一列上执行 OneHotEncoding。在一次热编码之后,数据帧模式添加了一个向量。但是要应用机器学习算法,那应该是将单个列添加到现有数据框中,每列代表一个类别,而不是向量类型列。如何验证 OneHotEncoding。
我的代码:
本次展示:
新添加的列是向量类型。如何将其转换为每个类别的单独列
r - R DataFrame - 包含多个术语的列的一种热编码
我有一个数据框,其列具有多个值(逗号分隔):
我想将Info列拆分为one-hot-encoded列,并将结果附加到 Target 列之外,例如:
在 python 中,我可以执行以下操作来获取字典,然后使用它来分配列。
到目前为止,我可以在 R 中做到这一点
我不知道如何将其转换为 R 中的字典,并使用它转换为 One-Hot-Encoding 的列。
我该如何解决这个问题?
python - 如何在 Scikit-learn 的 OneHotEncoder 中获取维数
我OneHotEncoder
在我的项目中使用来自 Scikit-learn 的。而且我需要知道当n_value
设置为时每个单热向量的大小是多少auto
。我以为n_value_
会证明这一点,但似乎除了尝试训练样本外我别无他法。我制作了这个玩具示例代码来显示问题。你知道其他解决方案吗?
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。
python - 处理标签编码的未知值
如何处理 sk-learn 中标签编码的未知值?标签编码器只会在检测到新标签的情况下爆炸。
我想要的是通过one-hot -encoder对分类变量进行编码。但是,sk-learn 不支持字符串。所以我在每一列上都使用了一个标签编码器。
我的问题是在管道的交叉验证步骤中出现了未知标签。基本的 one-hot-encoder 可以选择忽略这种情况。先验pandas.getDummies /cat.codes
是不够的,因为管道应该与现实生活中的新传入数据一起工作,这些数据也可能包含未知标签。
是否可以CountVectorizer
为此目的使用 a ?
python - 使用 onehot 编码的 TensorFlow 嵌入查找
我目前有要使用嵌入的 onehot 编码。但是,当我打电话时
嵌入数据形状(11、32、729、128)
这个形状应该是 (11, 32, 128) 但它给了我错误的尺寸,因为 train_data 是 onehot 编码的。
给我错误:
请帮帮我!谢谢。
python - 熊猫如何以不寻常的文本顺序分解
我有一个数据框,其中有一列“cat100”,其值如下:
'A' 'B' ... 'Y' 'Z' 'AA' 'AB' ...
我想使用 pd.factorize 对列进行因式分解,使 AA 在“B”“C”...“Z”之后。
我试过类似的东西:
但这会将 A 分配给 0,将 B 分配给 2,将 AA 分配给 1。我希望将 AA 分配给 2,将 B 分配给 1。
我已经寻找方法来做到这一点,但没有找到任何东西。有没有办法做到这一点?
machine-learning - 给定稀疏矩阵时,Sklearn 会抛出 ValueError
当特征用稀疏矩阵表示时,我的 SVM 分类器会抛出值错误,但如果特征用密集矩阵表示则不会出错。
我有对我的功能集执行 One Hot Encoding 的代码,并将编码的输出添加到新的功能列表中。当使用 .toarray() 将 One Hot Encoding 的输出转换为密集数组时,我的 SVM 分类器运行良好。
但是,使用密集数组并不理想,因为我有数千个数据点,而且我的计算机很快就会耗尽内存。因此,需要稀疏数组。如果我只是从下面的代码中删除 .toarray() ,则 enc.transform(features) 的输出将输出一个稀疏矩阵。但是,如果我运行我的 SVM 分类器,我现在会收到以下错误:
ValueError:使用序列设置数组元素。
当我的 SVM 尝试拟合数据时,似乎有些事情失败了。Sklearn SVM 接受稀疏向量,所以我不明白出了什么问题。