数据预处理

以下是机器学习数据预处理技术的详细总结,内容涵盖缺失值处理、数据标准化、特征编码和数据二值化等核心方法。

机器学习数据预处理技术总结

一、缺失值处理

1.1 Pandas处理方法

​检测缺失值​

  • isnull()函数:判断各个单元格是否为空值

  • 需要配合na_values参数识别多种缺失值表示形式(如"n/a", "na", "--"等)

​处理缺失值​

  • dropna():删除包含空字段的行

    • 参数说明:

      • axis:默认为0,逢空值剔除整行

      • how:'any'有一个数据为空就去掉整行;'all'所有数据都为空才去掉整行

      • thresh:设置需要多少非空值的数据才保留

      • subset:设置要检查的列

      • inplace:是否修改源数据

  • fillna():用指定内容替换空字段

    • 可替换为固定值(如666)

    • 可使用统计量:mean()均值替换、median()中位数替换

1.2 Scikit-learn处理方法

​SimpleImputer类提供多种填补策略:

复制代码
from sklearn.impute import SimpleImputer
  • ​均值填补 ​:strategy="mean"

  • ​中位数填补 ​:strategy="median"

  • ​常数填补 ​:strategy="constant",配合fill_value参数

  • ​众数填补 ​:strategy="most_frequent",适用于分类特征

二、数据标准化

2.1 标准化的重要性

  • 调整特征数据分布为标准正态分布(均值为0,方差为1)

  • 防止方差过大的特征主导目标函数

  • 消除不同特征量纲影响,确保数据可比性

2.2 无量纲化处理

  • ​中心化​:让所有记录减去固定值,平移数据位置

  • ​缩放处理​:除以固定值将数据固定在特定范围

2.3 常用标准化方法

​MinMaxScaler(最大最小值标准化)​​

  • 将数据缩放到指定范围(默认0,1)

  • 可通过feature_range参数自定义范围

  • 公式:(x - min)/(max - min)

​StandardScaler(Z值标准化)​​

  • 基于均值和标准差:(x - μ)/σ

  • 保留数据原始分布关系

  • 处理后均值为0,标准差为1

三、特征编码

3.1 特征类型分类

  1. ​名义变量​:数值相互独立(如性别:男、女)

  2. ​有序变量​:数值有顺序但不能计算(如学历:小学、初中、高中)

  3. ​有距变量​:数值有联系且可计算(如分数:100、90、60)

3.2 编码方法

​独热编码(OneHotEncoder)​​

  • 用N位状态位对N个可能取值编码

  • 示例:血型编码为4维稀疏向量

  • 优点:消除数值大小关系影响

​序号编码(OrdinalEncoder)​​

  • 处理类别间具有大小关系的数据

  • 示例:高→3、中→2、低→1

  • 保留大小顺序关系

​目标标签编码(LabelEncoder)​​

  • 使用0到n_classes-1之间的值编码

  • 缺点:数值无实际含义,可解释性差

  • 适用场景有限

四、数据二值化

4.1 二值化处理

  • 根据数值是否大于阈值将数据分为两类(0或1)

  • Binarizer类实现:threshold参数设置阈值

  • 应用场景:年龄分类、成绩等级划分等

4.2 应用示例

复制代码
from sklearn.preprocessing import Binarizer
transformer = Binarizer(threshold=30).fit_transform(X)

将年龄大于30的编码为1,否则为0

五、其他预处理技术

5.1 常用预处理函数汇总

函数 功能
preprocessing.MaxAbsScaler() 绝对值最大标准化
preprocessing.RobustScaler() 带离群值数据集标准化
preprocessing.QuantileTransformer() 使用分位数信息变换特征
preprocessing.PowerTransformer() 使用幂变换执行到正态分布的映射
preprocessing.Normalizer() 正则化
preprocessing.KBinsDiscretizer() 将连续数据离散化

5.2 综合应用建议

  1. ​数据清洗优先处理缺失值和异常值

  2. ​特征工程根据特征类型选择合适的编码方式

  3. ​标准化处理提升模型收敛速度和性能

  4. ​方法选择需结合具体数据和业务场景

总结

数据预处理是机器学习流程中的关键环节,直接影响模型效果。通过系统的缺失值处理、标准化、特征编码和二值化等方法,能够将原始数据转化为适合机器学习模型处理的格式,为后续建模分析奠定坚实基础。

相关推荐
你看我名字6 分钟前
云计算工程师技能树:从 Linux 基础到云平台架构能力
linux·架构·云计算
乌恩大侠11 分钟前
从 5G 通信到厘米级感知:基于 NVIDIA Aerial、SRS 与 UL-TDOA 构建 6G 无线定位实验平台
人工智能·5g·电信大模型
云和数据.ChenGuang7 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
西西木科技丨Shopify开发机构8 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收
人工智能·shopify·独立站
晶捷软件8 小时前
从 IT 架构视角看 ERP 选型:用友、金蝶与鼎捷生态(含晶捷智能)的技术差异
架构·智能制造·erp·制造业信息化
2601_965448878 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法
人工智能·机器学习·音视频
@大迁世界8 小时前
Firefox 本地模式:localhost 再见了 ?
前端·架构
美狐美颜SDK开放平台8 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
深蓝AI8 小时前
总榜第一不等于最划算:Intelligence Index v5 换代后,模型选型要算的三笔账
程序员·架构
HRaitest8 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native