问题标签 [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 投票
3 回答
3859 浏览

python - 如何在sklearn中编码分类特征?

我有一个包含 41 个特征的数据集 [从 0 到 40 列],其中 7 个是分类的。该分类集分为两个子集:

  • 字符串类型的子集(列特征 1、2、3)
  • int 类型的子集,二进制形式 0 或 1(列特征 6、11、20、21)

此外,列特征 1、2 和 3(字符串类型)分别具有基数 3、66 和 11。在这种情况下,我必须对它们进行编码以使用支持向量机算法。这是我拥有的代码:

我不知道是否更好地使用DictVectorizer()OneHotEncoder()[出于我上面公开的原因],并且主要以哪种方式将它们[在代码方面]与X我拥有的矩阵一起使用。或者我应该简单地为字符串类型子集中的每个基数分配一个数字(因为它们具有高基数,因此我的特征空间将呈指数增长)?

编辑 关于 int 类型的子集,我想最好的选择是保持列特征不变(不要将它们传递给任何编码器)对于具有高基数的字符串类型的子集,问题仍然存在。

0 投票
2 回答
5580 浏览

python - 指定 one_hot=True 后如何从 MNIST 示例中获取整数标签?

我一直在 Youtube 上尝试这个教程(解释 .cls 和 .labels 在1m31s),这只是一个简单的 MNIST 分类器模型。但由于 Tensorflow 中明显缺少功能,我无法完成它。

在 Google 上搜索 TF 中的“.cls”参考后,我找不到任何相关信息。

一个让事情顺利进行的肮脏例子:

我在 Linux 上使用 Tensorflow 0.10.0 并且想知道 .cls 选项是否已被删除?

如果是这样,是否有另一种方法可以从 one_hot 向量数组中编码分类器名称数组?

谢谢

0 投票
0 回答
104 浏览

python - 将数值数组转换为稀疏数组时出错

我正在处理一个庞大的数据集,并且在将数值数组转换为稀疏数组时遇到问题。

TypeError Traceback (most recent call last) in () 1 from scipy import sparse # 需要这个来创建稀疏数组 ----> 2 scalingDF_sparse = sparse.csr_matrix(scalingDF)

/Users/nikhil_maladkar/anaconda/lib/python2.7/site-packages/scipy/sparse/compressed.pyc in init (self, arg1, shape, dtype, copy) 67 self.format) 68 from .coo import coo_matrix -- -> 69 self._set_self( self.class ( coo_matrix (arg1, dtype=dtype))) 70 71 # 读取给定的矩阵维度,如果有的话

/Users/nikhil_maladkar/anaconda/lib/python2.7/site-packages/scipy/sparse/compressed.pyc in init (self, arg1, shape, dtype, copy) 29 arg1 = arg1.copy() 30 else: -- -> 31 arg1 = arg1.asformat(self.format) 32 self._set_self(arg1) 33

/Users/nikhil_maladkar/anaconda/lib/python2.7/site-packages/scipy/sparse/base.pyc in asformat(self, format) 218 return self 219 else: --> 220 return getattr(self,'to' +格式)() 221 222 ########################################### #######################

/Users/nikhil_maladkar/anaconda/lib/python2.7/site-packages/scipy/sparse/coo.pyc in tocsr(self) 328 indptr = np.empty(M + 1, dtype=idx_dtype) 329 indices = np.empty (self.nnz, dtype=idx_dtype) --> 330 data = np.empty(self.nnz, dtype=upcast(self.dtype)) 331 332 coo_tocsr(M, N, self.nnz,

/Users/nikhil_maladkar/anaconda/lib/python2.7/site-packages/scipy/sparse/sputils.pyc in upcast(*args) 55 return t 56 ---> 57 raise TypeError('不支持类型转换:% r' % (args,)) 58 59

TypeError:不支持类型转换:(dtype('O'),)

0 投票
1 回答
1741 浏览

r - 在 R 中使用 Dummies 的一种热编码

需要你帮助我无法解释的具体事情。以下代码

在给我

现在想象一下,我有

请有人解释我如何获得?

问候,

0 投票
1 回答
1137 浏览

python - 使用一种热编码的高基数变量上的 pandas get_dummies 创建了太多新功能

我在数据集中有几个高基数变量,并希望将它们转换为虚拟变量。他们都有500多个级别。当我使用 pandas get_dummies 时,矩阵变得如此之大,我的程序崩溃了。

除了使用一种热编码之外,我不知道处理高基数变量的更好方法,但是它增加了数据的大小,以至于内存无法处理它。有没有人有更好的解决方案?

0 投票
1 回答
2873 浏览

python - 在 one-hot 编码后获取特征名称

我有一个数据集,我最近通过 one-hot 编码对其进行了转换,并使用它训练了一个套索逻辑回归。我正在尝试获取非零系数的列表。我可以通过 sklearn 获得系数列表,但我不确定如何在一次热编码后将它们映射回数据。

数据集的一小部分摘录(下面是一个热编码)

还有我的 one-hot 编码代码:

0 投票
2 回答
5125 浏览

python - Python:大数据的一键编码

我一直在尝试将字符串标签编码为单热编码时遇到内存问题。大约有 500 万行和大约 10000 个不同的标签。我尝试了以下方法,但不断收到内存错误:

我也尝试过这样的事情:

仍然出现内存错误。任何提示?堆栈中有一些人在问同样的问题,但没有答案似乎有点有用。

0 投票
1 回答
150 浏览

python - 从 nx1 二进制标签数组生成 one-hot 向量

我有一个这样的数组:

我想创建一个 nx2 的 one-hot 编码器向量

是否有捷径可寻?OneHotEncoder 和 LabelEncoder 似乎不起作用。

0 投票
2 回答
326 浏览

python - 一键编码

我有一个这样的 csv 文件:

我已打开文件并将其存储在 Pandas 数据框中,如下所示:

每条记录的类别字段包含一个类别列表,该列表是一个字符串,每个类别都用单引号括起来,如下所示:

我希望通过使用 one-hot 编码将其用于机器学习。我知道我可以使用 scikit-learn 的 sklearn.preprocessing 包来实现这一点,但我不确定如何做到这一点。

注意:我没有所有可能类别的列表。

0 投票
1 回答
1913 浏览

python - 一种热编码 - 存储在一维数组中的数据

我有一个一维数组,我用它来存储我的数据集的分类特征,如下所示:(其中每个数据实例属于许多类别,类别用逗号分隔)

数组的每个元素代表数据实例所属的类别。我需要使用 one-hot 编码,所以我可以使用这些作为一个特征来训练我的算法。我知道这可以使用 scrikit-learn 来实现,但是我不确定如何实现它。(有大约 150 个可能的类别和大约 1,000 个数据实例。)