📅  最后修改于: 2023-12-03 15:21:26.740000             🧑  作者: Mango
在机器学习和深度学习中,热编码是一种非常常见的编码方式,用于将离散型数据转换为可以使用的数值数据。在 Python 中,我们可以使用一种叫做 One-Hot Encoding 的方法进行热编码。
One-Hot Encoding,顾名思义,是将一个变量转化为只有一位是 1,其他位是 0 的二进制数。例如,有一个类别变量“颜色”,包括“红、黄、蓝”,我们可以将其转化为 [1, 0, 0]、“黄”转化为 [0, 1, 0]、“蓝”转化为 [0, 0, 1]。这种编码方式可以用于神经网络、逻辑回归等。
在 Python 中,我们可以使用 pandas 库的 get_dummies() 函数进行 One-Hot Encoding。
import pandas as pd
df = pd.DataFrame({'颜色': ['红', '黄', '红', '蓝', '黄']})
dummies = pd.get_dummies(df['颜色'], prefix='颜色')
df = pd.concat([df, dummies], axis=1)
df = df.drop(['颜色'], axis=1)
print(df)
输出结果为:
颜色_红 颜色_蓝 颜色_黄
0 1 0 0
1 0 0 1
2 1 0 0
3 0 1 0
4 0 0 1
以上代码中,我们首先使用 pandas 创建一个 DataFrame,并包含一个叫做“颜色”的列。然后,我们可以使用 get_dummies() 函数对该列进行 One-Hot Encoding,同时设置前缀为“颜色”(可选)。最后,我们将编码后的数据与原始数据进行合并,并删除原始数据中的类别变量“颜色”。
One-Hot Encoding 是一种将离散型数据转换为数值型数据的编码方式,可以用于深度学习、神经网络、逻辑回归等。在 Python 中,我们可以使用 pandas 库的 get_dummies() 函数进行 One-Hot Encoding。