Python 的 One-Hot 编码可以使用 sklearn 库中的 OneHotEncoder 方法进行实现。

首先,需要导入 sklearn 库和 numpy 库:

from sklearn.preprocessing import OneHotEncoder
import numpy as np

然后,创建一个包含类别标签的 numpy 数组:

data = np.array(['apple', 'orange', 'banana', 'apple', 'banana'])

接下来,创建一个 OneHotEncoder 对象,并将数据拟合到该对象中:

encoder = OneHotEncoder()
encoder.fit(data.reshape(-1, 1))

最后,使用 transform 方法将数据转换成 One-Hot 编码:

encoded_data = encoder.transform(data.reshape(-1, 1)).toarray()
print(encoded_data)

输出结果如下:

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

这里,每个类别都被编码成一个包含 0 和 1 的向量,向量的长度等于类别的数量。在这个例子中,共有三个类别,所以每个向量都包含三个元素。其中,只有一个元素为 1,其余元素均为 0,表示该样本所属的类别。

Python One-Hot 编码实现详解

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

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