【发布时间】:2020-12-05 10:59:32
【问题描述】:
有一个包含许多分类数据的大型数据集,想使用 sklearn 进行一次热编码。 有一个问题是 sklearn 只处理当前数据中的类别。如果我将来有新数据有一些现在看不到的值,如何处理?
似乎跟随 feature_engine 包可以选择最常出现的值并折叠其他值。对于这一点,如果有未来看不见的值,它们将被折叠。
from feature_engine import categorical_encoders as ce
import pandas as pd
# set up the encoder
encoder = ce.OneHotCategoricalEncoder(
top_categories=10,
drop_last=False)
# fit the encoder
encoder.fit(df)
encoder.transform(df)
我最感兴趣的类别值不是经常出现的值,所以我不能直接使用它。
例如一列包含计算机类型名称,例如:'MacBook Air'、'MacBook Pro'、'Chromebook Flex 3'、'Samsung Chromebook',......可能会有更多新的笔记本电脑名称未来。
如何处理?
【问题讨论】:
标签: python scikit-learn