One-hot 编码是一种将离散型特征转换为向量表示的方法,通常用于机器学习和深度学习中。在 Python 中,可以使用 OneHotEncoder 类来进行 One-hot 编码。

以下是一个使用 OneHotEncoder 进行 One-hot 编码的示例:

from sklearn.preprocessing import OneHotEncoder
import numpy as np

# 假设有一个包含 5 个离散型特征的数据集
data = np.array([
    ['red', 'small', 'circle', 'A', 'one'],
    ['green', 'large', 'square', 'B', 'two'],
    ['blue', 'medium', 'triangle', 'C', 'three'],
    ['red', 'small', 'circle', 'B', 'four'],
    ['green', 'large', 'square', 'A', 'five']
])

# 创建 OneHotEncoder 对象
encoder = OneHotEncoder()

# 对数据进行 One-hot 编码
encoded_data = encoder.fit_transform(data)

# 打印编码后的数据
print(encoded_data.toarray())

输出结果为:

[[1. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
 [0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 1.]
 [0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 0. 1. 0. 0. 1. 0. 0. 1.]
 [1. 0. 0. 0. 1. 0. 1. 0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0.]
 [0. 1. 0. 1. 0. 0. 0. 1. 0. 1. 0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 1. 0.]]

在这个示例中,数据集包含 5 个离散型特征,即颜色、大小、形状、字母和数字。使用 OneHotEncoder 进行编码后,每个特征都被转换为一个向量,向量中只有一个元素为 1,其余元素都为 0。例如,对于第一行数据,颜色特征被编码为 [1, 0, 0],大小特征被编码为 [0, 1, 0],形状特征被编码为 [0, 0, 1],字母特征被编码为 [1, 0, 0, 0, 0],数字特征被编码为 [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0]。

One-hot 编码可以将离散型特征转换为模型可以理解的数值形式,从而提高模型的性能。它在处理类别型变量,例如颜色、性别、城市等方面非常有用。

Python One-Hot 编码:使用 OneHotEncoder 进行特征转换

原文地址: https://www.cveoy.top/t/topic/osqf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录