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 中的类别列进行独热编码