首页 > 解决方案 > 如何在 Pipeline 中使用 LabelEncoder 和随机森林

问题描述

我正在尝试使用Pipelinefrom scikit-learn。目前我正在做以下事情:

  1. 应用于LabelEncoder某些功能
  2. 构建RandomForest回归器

代码是:

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

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

rfr.fit(x, y)

我如何构建一个Pipeline以便未来看不见的数据经历相同的转换?

标签: pythonmachine-learningscikit-learnrandom-forest

解决方案


您无需将 LabelEncoder 转换放入 sklearnPipeline指令中。因此,可能的解决方案是调用 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')



推荐阅读