如何将 handle_unknown='ignore' 传递给 sklearn 训练好的 one hot encoder?

How to pass handle_unknown='ignore' to the trained one hot encoder of sklearn?

我使用 onehotencoder.pkl 文件来解码新数据,如下所示:

my_encoder = joblib.load('onehotencoder.pkl')
X = pd.DataFrame(my_encoder.transform(X).toarray())

但是,新数据包含一些看不见的值。我知道可以使用 handle_unknown='ignore' 忽略这些值,但是在我的情况下如何传递此参数?如何正确处理此类情况以避免运行时错误?

您从类似于此的内容开始

OneHotEncoder(categorical_features='all', dtype=<class 'numpy.float64'>,
       handle_unknown='error', n_values='auto', sparse=True)

现在做

my_encoder.handle_unknown = 'ignore'

你会得到

OneHotEncoder(categorical_features='all', dtype=<class 'numpy.float64'>,
       handle_unknown='ignore', n_values='auto', sparse=True)