独热编码(One-Hot Encoding)是一种将类别型数据转换为机器学习算法可以理解的形式的方法。它将一个类别型特征拓展为多个二元特征,其中每个特征表示了一个可能的类别值。
以下是一个使用 Python 进行独热编码的实例:
import pandas as pd
# 创建一个包含类别型特征的数据集
data = {'Fruit': ['Apple', 'Banana', 'Orange', 'Apple', 'Orange']}
df = pd.DataFrame(data)
# 使用pandas的get_dummies函数进行独热编码
df_encoded = pd.get_dummies(df, columns=['Fruit'], prefix=['Fruit'])
# 打印独热编码后的数据集
print(df_encoded)
运行上述代码,将得到如下输出:
Fruit_Apple Fruit_Banana Fruit_Orange
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
4 0 0 1
在这个例子中,我们首先创建了一个包含类别型特征 ‘Fruit’ 的数据集。然后使用 pd.get_dummies
函数对 ‘Fruit’ 列进行独热编码,生成了三个新的二元特征 ‘Fruit_Apple’、‘Fruit_Banana’ 和 ‘Fruit_Orange’。
这样,原始的类别型特征被转换为了可以直接输入机器学习算法的数值特征。
学习测试代码
"""
# -*- coding: utf-8 -*-
# @Time : 2023/10/10 16:19
# @Author : 王摇摆
# @FileName: test.py
# @Software: PyCharm
# @Blog :https://blog.csdn.net/weixin_44943389?type=blog
"""
import pandas as pd
# 创建一个包含类别型特征的数据集
data = {'Fruit': ['Apple', 'Banana', 'Orange', 'Apple', 'Orange','wangguowei']}
df = pd.DataFrame(data)
# 使用pandas的get_dummies函数进行独热编码
df_encoded = pd.get_dummies(df, columns=['Fruit'], prefix=['Fruit'])
# 打印独热编码后的数据集
print(df_encoded)
有几类数据,编码就分为几种
D:\ANACONDA\envs\pytorch\python.exe C:/Users/Administrator/AppData/Roaming/JetBrains/PyCharmCE2020.2/scratches/test.py
Fruit_Apple Fruit_Banana Fruit_Orange Fruit_wangguowei
0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 1 0 0 0
4 0 0 1 0
5 0 0 0 1
Process finished with exit code 0