sklearn.preprocessing.LabelEncoder是一个用于将标签值编码为整数或一组整数的类。它经常用于机器学习中对标签或类别进行编码。下面就是LabelEncoder的使用方法和说明:
导入相关库
from sklearn.preprocessing import LabelEncoder
创建实例
le = LabelEncoder()
训练和转换
使用 fit_transform() 函数将标签值映射为整数,fit_transform()可以直接将标签数据进行编码。LabelEncoder会计算标签的唯一值并将其转换为整数值的数组。
labels_encoded = le.fit_transform(labels)
结果验证
为了验证,我们可以使用 inverse_transform() 函数,将整数类标签转换回其原始字符串形式:
labels_decoded = le.inverse_transform(labels_encoded)
实例1: 对银行客户的性别进行编码
在这个实例中,我们使用 LabelEncoder 对一份银行客户数据中的性别进行编码。首先创建一个包含性别信息的数组:
import numpy as np
sex = np.array(['Male', 'Female', 'Female', 'Male', 'Male'])
然后,我们使用 LabelEncoder 对性别数据进行编码:
le = LabelEncoder()
sex_encoded = le.fit_transform(sex)
print(sex_encoded)
输出为:
array([1, 0, 0, 1, 1])
最后我们可以使用 inverse_transform() 函数将整数标签转换回原始字符串标签:
sex_decoded = le.inverse_transform(sex_encoded)
print(sex_decoded)
输出为:
array(['Male', 'Female', 'Female', 'Male', 'Male'], dtype='<U6')
我们可以发现,经过编码和解码之后,原始的性别数据完好无损地转换为了整数形式。
实例2: 对车辆购买数据的颜色进行编码
在这个实例中,我们使用 LabelEncoder 对一份车辆购买数据中的颜色进行编码。首先创建一个包含颜色信息的数组:
import numpy as np
color = np.array(['Red', 'Blue', 'Green', 'Green', 'Red'])
然后,我们使用 LabelEncoder 对颜色数据进行编码:
le = LabelEncoder()
color_encoded = le.fit_transform(color)
print(color_encoded)
输出为:
array([2, 0, 1, 1, 2])
最后我们可以使用 inverse_transform() 函数将整数标签转换回原始字符串标签:
color_decoded = le.inverse_transform(color_encoded)
print(color_decoded)
输出为:
array(['Red', 'Blue', 'Green', 'Green', 'Red'], dtype='<U5')
我们可以发现,经过编码和解码之后,原始的颜色数据完好无损地转换为了整数形式。