数据预处理

数据处理与缺失值处理

  1. 缺失值标记与检测

    • 使用 pandas 检测空值(NaN),并通过 NA_values 标记自定义空值(如 N/A)。
    • 空值处理方式:删除(dropna)、填充(如均值、中位数、常数)、忽略。
    • 示例:删除空值后仅保留无空值的行;填充空值为666或列均值。
  2. Scikit-learn 库的缺失值处理

    • 使用 SimpleImputer 进行填充:
      • 默认均值填充,支持中位数、常数(如0)等。
      • 流程:fit(计算填充值) → transform(应用填充)。
    • 数据形状调整:reshape(-1, 1) 表示强制转换为单列,行数自动计算。
数据标准化
  1. 最大最小值标准化(Min-Max Scaling)

    • 公式:(X - \text{min}) / (\text{max} - \text{min}),默认缩放到 [0, 1]。
    • 分列计算:每列独立求最小/最大值后标准化(非整体计算)。
    • 扩展:通过线性变换(如 加1后乘5)可调整到任意区间(如 [5, 10])。
  2. Z值标准化(Standard Scaling)

    • 公式:(X - \text{均值}) / \text{标准差},使数据服从标准正态分布(均值0,方差1)。
    • 示例:调用 StandardScalerfit(计算均值/方差)和 transform
特征编码
  1. 分类变量处理

    • 名义变量(独立无关联):One-Hot编码(如性别 → [1,0]/[0,1])。
    • 有序变量(有顺序但不可计算):序号编码(如学历 → 1,2,3)。
    • 有矩变量(可计算):直接使用数值(如分数)。
  2. 二值化(Binarization)

    • 将连续值离散化:设定阈值(如30),大于阈值置1,否则置0。
    • 应用示例:年龄列按阈值分类,输出转换后的二进制结果。
关键概念
  • fittransform
    • fit:计算所需参数(如均值、方差)。
    • transform:应用参数完成数据转换。
  • 数据形状调整reshape(-1, 1) 表示“自动计算行数,保留1列”。
  • 数据切分与处理

    • 对数据进行行索引和列索引的切分(ILC 和 LC 的区别),保留所有行和第一列。
    • 切分后调整数据形状为一列,实际未改变数据内容。
    • 将切分结果赋值给变量 X,用于后续的二值化操作。
  • 二值化操作

    • X 进行二值化处理,阈值为 30:大于 30 的值设为 1,小于等于 30 的值设为 0。
    • 使用 transform 方法完成整体操作,结果需通过切分后的 X 替换原始数据才能显示。
    • 若不替换,原始数据的结果不会更新。
  • 输出与验证

    • 输出前五行数据(实际截取前三行展示)。
    • 直接输出 transformer 会显示二值化后的结果,但未明确具体格式。

总结:

原始数据先“洗”(缺失值处理)再“缩”(标准化/归一化)再“编”(特征编码),就能让机器学习模型吃得更香、跑得更快、结果更稳。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值