dask_ml.preprocessing.DummyEncoder

dask_ml.preprocessing.DummyEncoder

class dask_ml.preprocessing.DummyEncoder(columns: Optional[Sequence[Any]] = None, drop_first: bool = False)

对类别列进行独热编码 (one-hot encode)。

参数
columns序列,可选

要进行独热编码的列。必须是类别数据类型 (categorical dtype)。默认对所有类别数据类型的列进行独热编码。

drop_first布尔型,默认为 False

是否删除每列中的第一个类别。

属性
columns_索引

独热编码前的训练数据中的列

transformed_columns_索引

独热编码后的训练数据中的列

categorical_columns_索引

训练数据中的类别列

noncategorical_columns_索引

训练数据中的其余列

categorical_blocks_字典

列名到切片对象的映射。切片表示类别列在转换后的数组中的位置。

dtypes_字典

将列名映射到以下任一类型的字典

  • CategoricalDtype 实例 (pandas >= 0.21.0)

  • (categories, ordered) 元组

注意

此转换器仅适用于 dask 和 pandas DataFrame。对于 dask DataFrame,所有类别都应该是已知的。

逆转换可用于 dataframe 或 array。

示例

>>> data = pd.DataFrame({"A": [1, 2, 3, 4],
...                      "B": pd.Categorical(['a', 'a', 'a', 'b'])})
>>> de = DummyEncoder()
>>> trn = de.fit_transform(data)
>>> trn
A  B_a  B_b
0  1    1    0
1  2    1    0
2  3    1    0
3  4    0    1
>>> de.columns_
Index(['A', 'B'], dtype='object')
>>> de.non_categorical_columns_
Index(['A'], dtype='object')
>>> de.categorical_columns_
Index(['B'], dtype='object')
>>> de.dtypes_
{'B': CategoricalDtype(categories=['a', 'b'], ordered=False)}
>>> de.categorical_blocks_
{'B': slice(1, 3, None)}
>>> de.fit_transform(dd.from_pandas(data, 2))
Dask DataFrame Structure:
                A    B_a    B_b
npartitions=2
0              int64  uint8  uint8
2                ...    ...    ...
3                ...    ...    ...
Dask Name: get_dummies, 4 tasks

方法

fit(X[, y])

确定要进行独热编码的类别列。

fit_transform(X[, y])

根据数据进行拟合,然后进行转换。

get_metadata_routing()

获取此对象的元数据路由。

get_params([deep])

获取此估计器的参数。

inverse_transform(X)

X 中的列进行逆独热编码

set_output(*[, transform])

设置输出容器。

set_params(**params)

设置此估计器的参数。

transform(X[, y])

对 X 中的类别列进行独热编码

__init__(columns: Optional[Sequence[Any]] = None, drop_first: bool = False)