- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些 pandas.Series
– s
,下面 - 我想单热编码。我通过研究发现'b'
级别对于我的预测建模任务并不重要。我可以像这样从我的分析中排除它:
import pandas as pd
from sklearn.preprocessing import OneHotEncoder
s = pd.Series(['a', 'b', 'c']).values.reshape(-1, 1)
enc = OneHotEncoder(drop=['b'], sparse=False, handle_unknown='error')
enc.fit_transform(s)
# array([[1., 0.],
# [0., 0.],
# [0., 1.]])
enc.get_feature_names()
# array(['x0_a', 'x0_c'], dtype=object)
'b'
和一个新的水平,
'd'
,我收到一个错误:
new_s = pd.Series(['a', 'b', 'c', 'd']).values.reshape(-1, 1)
enc.transform(new_s)
Traceback (most recent call last): File "", line 1, in File "/Users/user/Documents/assets/envs/data-science/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py", line 390, in transform X_int, X_mask = self._transform(X, handle_unknown=self.handle_unknown) File "/Users/user/Documents/assets/envs/data-science/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py", line 124, in _transform raise ValueError(msg) ValueError: Found unknown categories ['d'] in column 0 during transform
handle_unknown='error'
以上。但是,我想完全忽略除
['a', 'c']
之外的所有类。在拟合和随后的转换步骤中。我试过这个:
enc = OneHotEncoder(drop=['b'], sparse=False, handle_unknown='ignore')
enc.fit_transform(s)
enc.transform(new_s)
Traceback (most recent call last): File "", line 1, in File "/Users/user/Documents/assets/envs/data-science/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py", line 371, in fit_transform self._validate_keywords() File "/Users/user/Documents/assets/envs/data-science/venv/lib/python3.7/site-packages/sklearn/preprocessing/_encoders.py", line 289, in _validate_keywords "
handle_unknown
must be 'error' when the drop parameter is " ValueError:handle_unknown
must be 'error' when the drop parameter is specified, as both would create categories that are all zero.
最佳答案
它看起来像 sklearn.preprocessing.LabelBinarizer
可以适用于这个用例,因为它没有任何参数指定是出错还是忽略新类:
>>> import pandas as pd
>>> from sklearn.preprocessing import LabelBinarizer
>>> s = pd.Series(['a', 'b', 'c']).values.reshape(-1, 1)
>>> enc = LabelBinarizer()
>>> enc.fit_transform(s)
array([[1, 0, 0],
[0, 1, 0],
[0, 0, 1]])
>>> enc.classes_
array(['a', 'b', 'c'], dtype='<U1')
>>> new_s = pd.Series(['a', 'b', 'c', 'd']).values.reshape(-1, 1)
>>> enc.transform(new_s)
array([[1, 0, 0],
[0, 1, 0],
[0, 0, 1],
[0, 0, 0]])
关于python - sklearn.preprocessing.OneHotEncoder : using drop and handle_unknown ='ignore' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60008477/
我有格式的数据,例如 ['1', '5' '6', '5', '2'],其中每个标签可以是 0-9 之间的任意数字的字符。我的数据的性质是名义上的分类,因此它是无序的,随后,我使用 scikit On
我有一个下面列出的原始序列数据帧,我正在尝试使用单热编码,然后将它们存储在一个新的数据帧中,我正在尝试使用以下代码进行操作,但无法存储,因为我得到了之后输出如下: 代码: onehot_encoder
我有多列由分类变量组成,这些变量的形式为 0-4 之间的整数值。但是,所有列都属于同一类别。我尝试使用 scikit learn 中的 OneHotEncoder,但它不会处理列中缺失的类别,这在我在
我有一个简单的代码,可以将分类数据转换为 python 中的一种热编码: a,1,p b,3,r a,5,t 我尝试使用 python OneHotEncoder 转换它们: from sklearn
我正在尝试准备数据以输入决策树和多项朴素贝叶斯分类器。 这就是我的数据的样子(pandas 数据框) Label Feat1 Feat2 Feat3 Feat4 0 1
在 sklearn 0.22 中,categorical_features 参数将被删除,因此以下代码不再可执行: import numpy as np from sklearn.preprocess
我希望将我仅有的一个特征转换为单独的二进制特征: df["pattern_id"] Out[202]: 0 3 1 3 ... 7440 2 7441 2 7442
我正在构建一个神经网络,并且正准备对许多独立(分类)变量使用 OneHotEncoder。我想知道我是否正在使用虚拟变量正确地处理这个问题,或者因为我的所有变量都需要虚拟变量,所以可能有更好的方法。
我是Python新手。我之前只有VBA代码。最近开始使用python进行数据挖掘,但使用python时遇到了问题 我在使用 onehotencoder 正确转换我的类别功能时遇到问题,这是我的代码 f
假设我有一个包含以下列名称的 pandas 数据框: '年龄'(例如 33、26、51 等) '资历'(例如'初级'、'高级'等) “性别”(例如“男”、“女”) '薪水'(例如 32000、4000
我有以下 numpy 矩阵: M = [ ['a', 5, 0.2, ''], ['a', 2, 1.3, 'as'], ['b', 1, 2.3, 'as'], ] M =
我是 Python 中 ML 的新手,对于如何使用分类变量实现决策树感到非常困惑,因为它们由 party 和 ctree 在 中自动编码R。 我想制作一棵具有两个分类独立特征和一个依赖类的决策树。 我
我有一个问题,我试图将转换应用于我的分类特征“国家”和我的其余数字列。我怎么能做到这一点,因为我在下面尝试: preprocess = make_column_transformer( (nu
我想对数据集中 10 个特征中的 3 个分类特征进行编码。我用 preprocessing来自 sklearn.preprocessing这样做如下: from sklearn import prep
该代码包括将 OneHotEncoding 技术应用于 binetflow 文件的两个字段:Proto 和 State。我必须对 5 个文件执行此操作。我能够将下面的代码完美地应用到前两个代码中。当到
我正在阅读有关 Python 中的 One Hot Encoding 的内容,其中有一行我无法解释其含义。代码如下: ohe=preprocessing.OneHotEncoder(dtype=np.
我正在使用sklearn.preprocessing.OneHotEncoder对表单的分类数据进行编码 A=array([[1,4,1],[0,3,2]]) B=array([[1,4,7],[0,
我在使用 OneHotEncoder 仅编码分类列并忽略连续列时遇到问题。无论我在 categorical_features 中指定什么,编码器都会对所有列进行编码。例如: enc = preproc
我有一个包含调查结果的数据框,其中有选项 A-E,并且可以选择多个选项 - 选择可以是“A”或“A;C;D”等。 我将使用这些数据进行一些机器学习,并希望通过 OneHotEncoder 运行它,最终
在使用 OneHotEncoder 转换特征后,我尝试对数据集中的某些特征进行一些数据分析,输出显示特征 13 和特征 21 是最重要的特征,但我如何知道这些特征对应哪些特征到? 最佳答案 您可以使用
我是一名优秀的程序员,十分优秀!