pandas - 如何使用 scikit LabelEncoder 来创建新标签?

标签 pandas machine-learning scikit-learn sklearn-pandas scikits

所以我的代码是:

>>> le = preprocessing.LabelEncoder()
>>> le.fit(train["capital city"])
LabelEncoder()
>>> list(le.classes_)
['amsterdam', 'paris', 'tokyo']
>>> le.transform(["tokyo", "tokyo", "paris"])
array([2, 2, 1])
>>> list(le.inverse_transform([2, 2, 1]))
['tokyo', 'tokyo', 'paris']

但是如果在我的测试数据集中,我有类似“beijing”的内容,但训练集中不存在“beijing”怎么办?有没有一种方法可以让编码器处理这个问题,而无需添加全局所有可能的首都城市?

最佳答案

对于现实世界的场景,您拥有的只是训练数据,并且稍后会出现新的类(class),您可以尝试我的解决方案:

le.classes_ = np.append(le.classes_, "new_class_name")
le.transform(new_y)

关于pandas - 如何使用 scikit LabelEncoder 来创建新标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45495308/

相关文章:

python - Pandas :如何分组并计算给定列中的唯一性?

python - Pandas GroupBy 值的频率

python - Tensorflow conv2d_transpose(deconv)out_backprop的行数与计算的不匹配

matlab - 欧氏距离两个像素,每个像素属于不同的图像

python - 有没有办法在 python 中使用 TF-IDF 找到句子的权重

python-3.x - 如何使用多个函数创建多个数据框

python - Pandas DataFrame 从列中检索值

machine-learning - 如何在 Pyspark 中获得直线线性回归结果?

python - 在 scikit-learn 中运行 Randomforest 的 MemoryError

python - 将 scikit-learn (sklearn) 预测添加到 pandas 数据框