【发布时间】:2018-03-21 05:54:36
【问题描述】:
我使用 Scikit-Learn 训练了一个分类器。我正在加载输入以从 CSV 训练我的分类器。我的一些列(例如“Town”)的值是规范的(例如可以是“New York”、“Paris”、“Stockholm”……)。为了使用这些规范列,我正在使用 Scikit-Learn 的 LabelBinarizer 进行 one-hot encoding。
这是我在训练前转换数据的方式:
import pandas as pd
from sklearn.preprocessing import LabelBinarizer
headers = [
'Ref.', 'Town' #,...
]
df = pd.read_csv("/path/to/some.csv", header=None, names=headers, na_values="?")
lb = LabelBinarizer()
lb_results = lb.fit_transform(df['Town'])
但是,我不清楚如何使用 LabelBinarizer 使用我想要进行预测的新输入数据来创建特征向量。特别是,如果新数据包含一个见过的城镇(例如纽约),则需要在训练数据中与同一城镇相同的位置进行编码。
标签二值化应该如何重新应用于新的输入数据?
(我对 Scikit-Learn 没有强烈的感觉,如果有人知道如何使用 Pandas 的 get_dummies 方法也可以。)
【问题讨论】:
标签: python pandas machine-learning scikit-learn