机器学习第十讲:异常值检测 → 发现身高填3米的不合理数据

资料取自《零基础学机器学习》
查看总目录:学习大纲

关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署:超详细手把手指南


一、幼儿园量身高游戏比喻 👦(类似材料4中的数据处理[4])

假设幼儿园老师收集小朋友身高:

flowchart TD
    A[测量身高] --> B{检查是否合理}
    B -->|正常范围0.8-1.5米| C[标记为正常]
    B -->|出现3米数据| D["① 检查是否笔误(如3米→0.3米)"]
    D --> E["② 对比其他特征(5cm脚掌匹配3米身高?)"]
    E --> F["③ 暂时隔离待确认"]

二、智能筛子工具箱 🧰

案例:某体检报告出现身高2.5米记录(类似材料6中的分类验证[6])

  1. 三标准差法(适合正态分布数据)

    graph LR
        A[平均身高1.7m] --> B[标准差0.1m]
        B --> C[合理范围1.4m-2.0m]
        C --> D[超过即报警]
  2. 四分位数法(适合非对称数据,参考材料2的矩阵思维[2])

    # Python示例代码
    Q1 = data['height'].quantile(0.25)  # 1.58米
    Q3 = data['height'].quantile(0.75)  # 1.75米
    IQR = Q3 - Q1  # 0.17米
    upper_bound = Q3 + 1.5*IQR  # 超过2.0米即异常
  3. 图像判定法
    通过散点图直观识别离群点(类似材料4中的时序图像分析[4]):

三、常见雷区警示 💥(类似材料1中的评估陷阱[1])

场景错误处理正确做法
运动员身高数据删除所有>1.9米数据按项目建立不同标准
老人体检数据用年轻人标准检测老年骨质疏松指标建立年龄分段模型[2]
设备温度监测仅用当前值判断结合时间序列波动检测[4]

四、医疗数据实战 🏥(类似材料5的Q-Learning决策树思维[5])

flowchart LR
    A[原始数据] --> B["决策树分类"]
    B --> C{叶节点路径}
    C -->|正常路径| D[保留数据]
    C -->|异常路径| E["标记为可疑(如糖尿病人血糖2.0mmol/L)"]

五、超市价格审核案例 🛒(参考材料2的假正/假负概念[2])

步骤

  1. 通过历史数据建立合理价格带
    (牛奶价格正常范围5-20元,出现999元视为异常)
  2. 设置分级报警

    pie
        title 异常价格分级
        "黄色预警(20-50元)" : 15
        "红色警报(>50元)" : 85
  3. 结合销售数量交叉验证
    (标价999元的商品同时卖出1000件?大概率系统错误)

六、知识要点总结 💡

  • 先验知识优先:篮球运动员的身高与普通人需区分标准(类似材料5的差异化回报设置[5])
  • 多维度联检:身高异常时同步校验体重/BMI指数(参考材料2的多指标思维[2])
  • 区分对待:保留少量异常值供模型迭代学习(类似材料6中的集成学习策略[6])
  • 效果验证:用混淆矩阵评估清洗后数据质量(参考材料1的精确率验证法[1])

目录:总目录
上篇文章:机器学习第九讲:缺失值填补 → 补全问卷漏填的题目,保证数据完整性
下篇文章:机器学习第十一讲:标准化 → 把厘米和公斤单位统一成标准值


[1]《零基础学机器学习》中的假正/假负验证方法
[2]《零基础学机器学习》的多指标评估体系
[4]《零基础学机器学习》的时序数据处理逻辑
[5]《零基础学机器学习》的差异化决策思想
[6]《零基础学机器学习》的集成验证策略


kovli
13 声望8 粉丝