使用LabelEncoder对特征进行硬编码

对特征进行硬编码不仅可以使用pandas的 factorize函数将文本特征进行编号,也可以使用sklearn 的LabelEncoder函数,两者的效果几乎是一样的。编码为0~n-1(n为种类数)

data = pd.read_csv(pathUtils.train_path,engine='python')
encoder= LabelEncoder().fit(data["job"])
data["job"] = encoder.transform(data["job"])

主要是两个步骤

  • 先构造encoder,通过fit函数传入需要编码的数据,在内部生成对应的key-value
  • 然后encoder 用于需要转化的数据,用transform函数

转化前
使用LabelEncoder对特征进行硬编码_第1张图片
转化后
在这里插入图片描述

notice!

在使用LabelEncoder之前要对数据进行缺失值处理,比如fillna("None),不然编码的时候会报错

你可能感兴趣的:(特征工程)