laberencoder 未见过的标签 unseen labels
from sklearn.preprocessing import LabelEncoder
LaberEncoder可以对分类型变量进行数字编码,但是transform如果遇到fit的时候unseen values就会报错,我采取的解决方法是:
因为LaberEncoder本质是字典映射,先构建一个字典,然后字典用get获取key对应的value,get可以设定default value,当给定的key取不到时,会取default value
le_area = preprocessing.LabelEncoder()
le_area.fit(df['area'].append(df['xs_daqu_most']).append(df['fy_daqu_most']).astype(str))
le_area_dict = dict(zip(le_area.classes_,le_area.transform(le_area.classes_)))
df['area'] = df['area'].apply(lambda x:le_area_dict.get(x,999))
留言
張貼留言