我正在尝试使用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/