目录
1.什么是离散化?
离散化是将连续数据或分类数据转换为离散类别的过程,方便后续的数据分析和机器学习建模。
2.离散化类型
- 连续变量离散化:
- 定义:将连续的数值数据(例如年龄、收入、温度等)转换为离散的区间或类别。
- 方法:使用区间划分,将连续的数据分割成几个区间,并赋予每个区间一个标签或编码。
- 示例:将年龄数据分为“年轻”(18-29岁)、“中年”(30-40岁)、“老年”(41-50岁)。
- 定性变量离散化(分类编码):
- 定义:将定性(分类)变量(例如性别、颜色、品牌等)转换为数值型或二进制型变量。
- 方法:将每个类别转换为一个唯一的数值标签(数值编码)或多个二进制变量(独热编码)。
- 示例:将水果名称转换为数值编码(
apple
= 0,banana
= 1,cherry
= 2)或独热编码(apple
= [1, 0, 0],banana
= [0, 1, 0],cherry
= [0, 0, 1])。
3.示例代码
3.1连续变量离散化
等宽分箱(Equal-width binning)是一种将连续变量离散化的方法。它将数据范围分成宽度相等的区间(也称为“箱”)。每个区间包含的数据点数量可能不同,但每个区间的宽度是相同的。
将年龄数据划分为几个年龄段:
import pandas as pd
# 创建 DataFrame
data = {'age': [22, 25, 47, 35, 46, 50, 18, 21, 30, 19]}
df =