💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在优快云上与你们相遇~💖
本博客的精华专栏:
【自动化测试】 【测试经验】 【人工智能】 【Python】
Sklearn 机器学习分类列编码:OneHot 编码实战指南
在机器学习任务中,我们常会遇到类别型特征(categorical features)。这类特征通常是非数值的文本,例如性别(Male/Female)、地区(Beijing/Shanghai)等,不能直接输入模型,需要先进行编码转换。
在本文中,我们将深入讲解最常见也最重要的编码方式之一 —— OneHot 编码(独热编码),并结合 Scikit-learn
的实践进行演示和注意事项解析。
🧩 一、什么是 OneHot 编码
OneHot 编码是将分类变量转换为多个二进制列的方式。每个类别对应一个新的列,在该行中所属的类别列标记为 1
,其余为 0
。
📌 示例:
假设有一个列:Color = ['Red', 'Green', 'Blue']
OneHot 编码结果如下:
Color_Red | Color_Green | Color_Blue |
---|---|---|
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
这样模型就能“理解”分类信息了。
🛠️ 二、使用 Sklearn 进行 OneHot 编码
1. 准备数据
我们使用一个简单的例子来展示过程:
import pandas as pd
df = pd.DataFrame({
'City': ['Beijing', 'Shanghai',