我正在尝试使用Pipeline中的scikit-learn。目前,我正在执行以下操作:


在某些功能上应用LabelEncoder
建立一个RandomForest回归器


代码是:

x['zipcode'] = labelencoder.fit_transform(x['zipcode'])

rfr = RandomForestRegressor(n_estimators=20, random_state=0)

rfr.fit(x, y)


如何构建Pipeline,以便将来看不见的数据经过相同的转换?

最佳答案

您无需将LabelEncoder转换放入sklearn Pipeline指令中。因此,可能的解决方案是调用LabelEncoder,例如如下所示:

import numpy as np
from sklearn.preprocessing import LabelEncoder

lbl = LabelEncoder()
lbl.fit(X)
np.save('lbl_encoder.npy', encoder.classes_)




并在需要时加载


lbl = LabelEncoder
lbl.classes_ = np.load('lbl_encoder.npy')


关于python - 如何在管道中使用LabelEncoder和随机森林,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57254084/

10-12 19:16