假设我有以下数据
import pandas as pd
data = {
'Reference': [1, 2, 3, 4, 5],
'Brand': ['Volkswagen', 'Volvo', 'Volvo', 'Audi', 'Volkswagen'],
'Town': ['Berlin', 'Berlin', 'Stockholm', 'Munich', 'Berlin'],
'Mileage': [35000, 45000, 121000, 35000, 181000],
'Year': [2015, 2014, 2012, 2016, 2013]
}
df = pd.DataFrame(data)
我想对“品牌”和“城镇”两列进行 one-hot 编码,以便训练分类器(例如使用 Scikit-Learn)并预测年份。
一旦分类器经过训练,我将想要预测新传入数据的年份(不在训练中使用),其中我将需要重新应用相同的热编码。例如:
new_data = {
'Reference': [6, 7],
'Brand': ['Volvo', 'Audi'],
'Town': ['Stockholm', 'Munich']
}
在这种情况下,知道需要对多列进行编码,并且需要能够对新的列应用相同的编码,那么对 Pandas DataFrame 上的 2 列进行 one-hot 编码的最佳方法是什么?稍后数据。
这是一个后续问题如何在 SkLearn 中重用 LabelBinarizer 进行输入预测 https://stackoverflow.com/questions/46656327/how-to-re-use-labelbinarizer-for-input-prediction-in-sklearn