这可能是一个初学者的问题,但是我已经看到很多人使用LabelEncoder()用常规替换类别变量。许多人通过一次传递多个列来使用此功能,但是我对某些功能中的错误序数及其对模型的影响会产生疑问。这是一个例子:
输入值
import pandas as pd
import numpy as np
from sklearn.preprocessing import LabelEncoder
a = pd.DataFrame([‘High’,’Low’,’Low’,’Medium’])
le = LabelEncoder()
le.fit_transform(a)
输出量
array([0, 1, 1, 2], dtype=int64)
如您所见,序数值未正确映射,因为我的LabelEncoder仅关心列/数组中的顺序(应该为High = 1,Med = 2,Low = 3,反之亦然)。错误的严重映射会如何影响模型?除了OrdinalEncoder()之外,还有其他简便的方法可以正确映射这些值吗?