我使用Scikit-Learn训练了一个分类器。我正在从CSV文件中加载输入以训练我的分类器。一些列的值(例如'Town')是规范化的(例如可以是'New York','Paris','Stockholm'等)。为了使用这些规范化的列,我使用Scikit-Learn中的LabelBinarizer进行独热编码。以下是在训练之前我如何转换数据的方式:
然而,我不清楚如何使用LabelBinarizer来创建特征向量并对新输入数据进行预测。特别是,如果新数据包含已知城镇(例如纽约),则需要将其编码到与训练数据中相同的位置。 如何在新输入数据上重新应用标签二值化? (我对Scikit-Learn没有强烈的感觉,如果有人知道如何使用Pandas的get_dummies方法做到这一点,也可以。)
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方法做到这一点,也可以。)