高炉炉况智能诊断与预警实战~系列文章14:机器学习炉况分类:样本构建、类别不平衡与模型选型

第 14 期 | 机器学习炉况分类:样本构建、类别不平衡与模型选型

规则系统解决了"已知异常"的诊断,但高炉的复杂性远超人类经验的边界------许多炉况异常是多种因素的非线性组合,工长说不清规则,却真实存在于历史数据中。机器学习的价值,正是从这些数据中自动发现"人说不清的诊断规律"。但高炉 ML 分类是一条"坑多路滑"的路:异常样本稀缺、类别严重不平衡、标签噪声大、工况漂移快。本期系统讲解炉况 ML 分类的三大核心难题与破局之道,帮你避开 90% 的初学者陷阱。

一、炉况 ML 分类的任务定义 🎯

炉况分类的本质,是将某时刻的运行状态映射到预定义的炉况类别:
#mermaid-svg-ZQvX4eNCtAESvUDn{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ZQvX4eNCtAESvUDn .error-icon{fill:#552222;}#mermaid-svg-ZQvX4eNCtAESvUDn .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ZQvX4eNCtAESvUDn .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ZQvX4eNCtAESvUDn .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ZQvX4eNCtAESvUDn .marker.cross{stroke:#333333;}#mermaid-svg-ZQvX4eNCtAESvUDn svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ZQvX4eNCtAESvUDn p{margin:0;}#mermaid-svg-ZQvX4eNCtAESvUDn .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ZQvX4eNCtAESvUDn .cluster-label text{fill:#333;}#mermaid-svg-ZQvX4eNCtAESvUDn .cluster-label span{color:#333;}#mermaid-svg-ZQvX4eNCtAESvUDn .cluster-label span p{background-color:transparent;}#mermaid-svg-ZQvX4eNCtAESvUDn .label text,#mermaid-svg-ZQvX4eNCtAESvUDn span{fill:#333;color:#333;}#mermaid-svg-ZQvX4eNCtAESvUDn .node rect,#mermaid-svg-ZQvX4eNCtAESvUDn .node circle,#mermaid-svg-ZQvX4eNCtAESvUDn .node ellipse,#mermaid-svg-ZQvX4eNCtAESvUDn .node polygon,#mermaid-svg-ZQvX4eNCtAESvUDn .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ZQvX4eNCtAESvUDn .rough-node .label text,#mermaid-svg-ZQvX4eNCtAESvUDn .node .label text,#mermaid-svg-ZQvX4eNCtAESvUDn .image-shape .label,#mermaid-svg-ZQvX4eNCtAESvUDn .icon-shape .label{text-anchor:middle;}#mermaid-svg-ZQvX4eNCtAESvUDn .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ZQvX4eNCtAESvUDn .rough-node .label,#mermaid-svg-ZQvX4eNCtAESvUDn .node .label,#mermaid-svg-ZQvX4eNCtAESvUDn .image-shape .label,#mermaid-svg-ZQvX4eNCtAESvUDn .icon-shape .label{text-align:center;}#mermaid-svg-ZQvX4eNCtAESvUDn .node.clickable{cursor:pointer;}#mermaid-svg-ZQvX4eNCtAESvUDn .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ZQvX4eNCtAESvUDn .arrowheadPath{fill:#333333;}#mermaid-svg-ZQvX4eNCtAESvUDn .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ZQvX4eNCtAESvUDn .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ZQvX4eNCtAESvUDn .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZQvX4eNCtAESvUDn .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ZQvX4eNCtAESvUDn .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZQvX4eNCtAESvUDn .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ZQvX4eNCtAESvUDn .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ZQvX4eNCtAESvUDn .cluster text{fill:#333;}#mermaid-svg-ZQvX4eNCtAESvUDn .cluster span{color:#333;}#mermaid-svg-ZQvX4eNCtAESvUDn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ZQvX4eNCtAESvUDn .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ZQvX4eNCtAESvUDn rect.text{fill:none;stroke-width:0;}#mermaid-svg-ZQvX4eNCtAESvUDn .icon-shape,#mermaid-svg-ZQvX4eNCtAESvUDn .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZQvX4eNCtAESvUDn .icon-shape p,#mermaid-svg-ZQvX4eNCtAESvUDn .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ZQvX4eNCtAESvUDn .icon-shape .label rect,#mermaid-svg-ZQvX4eNCtAESvUDn .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZQvX4eNCtAESvUDn .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ZQvX4eNCtAESvUDn .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ZQvX4eNCtAESvUDn :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 特征向量X

多源指标+时窗统计
分类模型f
炉况类别y
正常
悬料风险
管道
炉凉趋势
其他异常

任务形式的选择

形式 定义 适用场景
二分类 正常 vs 某类异常 单一异常预警(如悬料)
多分类 正常 + 多种异常 综合炉况诊断
多标签 同时标注多种并存异常 复合炉况(常见!)
异常检测 只分"正常/异常" 异常类型未知

💡 知识卡片 :高炉异常常复合发生 (如"管道+炉凉"并存),多分类的"互斥假设"往往不成立。工程上推荐多标签分类多个二分类器并联------每种异常一个专门的二分类器,既符合"复合异常"的现实,又便于分模型独立优化。

二、样本构建:炉况 ML 的第一道难关 🧱

炉况分类的样本构建远比通用 ML 复杂,核心难点有三:

1. 标签的获取与对齐

  • 事件台账:依赖规范的炉况事件记录(第 4 期已述),标注异常类型与起止时刻;
  • 正负样本定义:以"异常发生前 N 小时"为正样本(N = 目标预警提前量),其余为负样本;
  • 时间对齐:确保特征时刻与标签时刻严格对应(考虑炉况滞后)。

2. 样本的代表性

#mermaid-svg-DC24XXuKPX6llyzg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-DC24XXuKPX6llyzg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-DC24XXuKPX6llyzg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-DC24XXuKPX6llyzg .error-icon{fill:#552222;}#mermaid-svg-DC24XXuKPX6llyzg .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-DC24XXuKPX6llyzg .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-DC24XXuKPX6llyzg .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-DC24XXuKPX6llyzg .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-DC24XXuKPX6llyzg .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-DC24XXuKPX6llyzg .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-DC24XXuKPX6llyzg .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-DC24XXuKPX6llyzg .marker{fill:#333333;stroke:#333333;}#mermaid-svg-DC24XXuKPX6llyzg .marker.cross{stroke:#333333;}#mermaid-svg-DC24XXuKPX6llyzg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-DC24XXuKPX6llyzg p{margin:0;}#mermaid-svg-DC24XXuKPX6llyzg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-DC24XXuKPX6llyzg .cluster-label text{fill:#333;}#mermaid-svg-DC24XXuKPX6llyzg .cluster-label span{color:#333;}#mermaid-svg-DC24XXuKPX6llyzg .cluster-label span p{background-color:transparent;}#mermaid-svg-DC24XXuKPX6llyzg .label text,#mermaid-svg-DC24XXuKPX6llyzg span{fill:#333;color:#333;}#mermaid-svg-DC24XXuKPX6llyzg .node rect,#mermaid-svg-DC24XXuKPX6llyzg .node circle,#mermaid-svg-DC24XXuKPX6llyzg .node ellipse,#mermaid-svg-DC24XXuKPX6llyzg .node polygon,#mermaid-svg-DC24XXuKPX6llyzg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-DC24XXuKPX6llyzg .rough-node .label text,#mermaid-svg-DC24XXuKPX6llyzg .node .label text,#mermaid-svg-DC24XXuKPX6llyzg .image-shape .label,#mermaid-svg-DC24XXuKPX6llyzg .icon-shape .label{text-anchor:middle;}#mermaid-svg-DC24XXuKPX6llyzg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-DC24XXuKPX6llyzg .rough-node .label,#mermaid-svg-DC24XXuKPX6llyzg .node .label,#mermaid-svg-DC24XXuKPX6llyzg .image-shape .label,#mermaid-svg-DC24XXuKPX6llyzg .icon-shape .label{text-align:center;}#mermaid-svg-DC24XXuKPX6llyzg .node.clickable{cursor:pointer;}#mermaid-svg-DC24XXuKPX6llyzg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-DC24XXuKPX6llyzg .arrowheadPath{fill:#333333;}#mermaid-svg-DC24XXuKPX6llyzg .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-DC24XXuKPX6llyzg .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-DC24XXuKPX6llyzg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DC24XXuKPX6llyzg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-DC24XXuKPX6llyzg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DC24XXuKPX6llyzg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-DC24XXuKPX6llyzg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-DC24XXuKPX6llyzg .cluster text{fill:#333;}#mermaid-svg-DC24XXuKPX6llyzg .cluster span{color:#333;}#mermaid-svg-DC24XXuKPX6llyzg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-DC24XXuKPX6llyzg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-DC24XXuKPX6llyzg rect.text{fill:none;stroke-width:0;}#mermaid-svg-DC24XXuKPX6llyzg .icon-shape,#mermaid-svg-DC24XXuKPX6llyzg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-DC24XXuKPX6llyzg .icon-shape p,#mermaid-svg-DC24XXuKPX6llyzg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-DC24XXuKPX6llyzg .icon-shape .label rect,#mermaid-svg-DC24XXuKPX6llyzg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-DC24XXuKPX6llyzg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-DC24XXuKPX6llyzg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-DC24XXuKPX6llyzg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 剔除
保留
原始历史数据
样本筛选
休风/变料过渡期

非典型工况
正常生产期样本
覆盖不同工况

季节/炉龄/原料
训练/验证/测试集

按时间切分

  • 剔除过渡期:休风复风、大幅变料的过渡期数据分布异常,会污染模型;
  • 覆盖代表性:训练集须覆盖不同季节、炉龄、原料条件,否则模型泛化差;
  • 时间切分严禁随机切分(会导致未来信息泄漏),必须按时间先后切分训练/测试集。

3. 标签噪声的处理

工长标注存在主观性,需:

  • 置信度分级:高置信样本训练、低置信样本验证;
  • 多源校验:标注与仪表数据交叉验证(如标注"悬料"是否有料尺停滞佐证);
  • 边界模糊处理:异常起止时刻附近的"过渡带"样本降权或剔除。

三、类别不平衡:1:100 的极端挑战 ⚖️

炉况异常的年发生次数有限,正负样本比常达 1:50 甚至 1:200,这是炉况 ML 的核心难题:

1. 不平衡的危害

直接训练会导致模型"躺平"------全部预测为"正常"也能获得 99% 准确率,但对异常完全无检出能力。准确率在不平衡场景下毫无意义

2. 应对策略矩阵

策略类别 方法 适用 注意
数据层 SMOTE 过采样、随机欠采样 样本量尚可 过采样易过拟合少数类
算法层 类别加权、代价敏感学习 通用 权重需调优
评估层 用召回率/F1/AUC 替代准确率 必须用 关注少数类指标
集成层 EasyEnsemble、BalanceCascade 极不平衡 计算开销大

#mermaid-svg-ppvr0r3KAIPZzNkf{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ppvr0r3KAIPZzNkf .error-icon{fill:#552222;}#mermaid-svg-ppvr0r3KAIPZzNkf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ppvr0r3KAIPZzNkf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ppvr0r3KAIPZzNkf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ppvr0r3KAIPZzNkf .marker.cross{stroke:#333333;}#mermaid-svg-ppvr0r3KAIPZzNkf svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ppvr0r3KAIPZzNkf p{margin:0;}#mermaid-svg-ppvr0r3KAIPZzNkf .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ppvr0r3KAIPZzNkf .cluster-label text{fill:#333;}#mermaid-svg-ppvr0r3KAIPZzNkf .cluster-label span{color:#333;}#mermaid-svg-ppvr0r3KAIPZzNkf .cluster-label span p{background-color:transparent;}#mermaid-svg-ppvr0r3KAIPZzNkf .label text,#mermaid-svg-ppvr0r3KAIPZzNkf span{fill:#333;color:#333;}#mermaid-svg-ppvr0r3KAIPZzNkf .node rect,#mermaid-svg-ppvr0r3KAIPZzNkf .node circle,#mermaid-svg-ppvr0r3KAIPZzNkf .node ellipse,#mermaid-svg-ppvr0r3KAIPZzNkf .node polygon,#mermaid-svg-ppvr0r3KAIPZzNkf .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ppvr0r3KAIPZzNkf .rough-node .label text,#mermaid-svg-ppvr0r3KAIPZzNkf .node .label text,#mermaid-svg-ppvr0r3KAIPZzNkf .image-shape .label,#mermaid-svg-ppvr0r3KAIPZzNkf .icon-shape .label{text-anchor:middle;}#mermaid-svg-ppvr0r3KAIPZzNkf .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ppvr0r3KAIPZzNkf .rough-node .label,#mermaid-svg-ppvr0r3KAIPZzNkf .node .label,#mermaid-svg-ppvr0r3KAIPZzNkf .image-shape .label,#mermaid-svg-ppvr0r3KAIPZzNkf .icon-shape .label{text-align:center;}#mermaid-svg-ppvr0r3KAIPZzNkf .node.clickable{cursor:pointer;}#mermaid-svg-ppvr0r3KAIPZzNkf .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ppvr0r3KAIPZzNkf .arrowheadPath{fill:#333333;}#mermaid-svg-ppvr0r3KAIPZzNkf .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ppvr0r3KAIPZzNkf .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ppvr0r3KAIPZzNkf .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ppvr0r3KAIPZzNkf .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ppvr0r3KAIPZzNkf .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ppvr0r3KAIPZzNkf .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ppvr0r3KAIPZzNkf .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ppvr0r3KAIPZzNkf .cluster text{fill:#333;}#mermaid-svg-ppvr0r3KAIPZzNkf .cluster span{color:#333;}#mermaid-svg-ppvr0r3KAIPZzNkf div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ppvr0r3KAIPZzNkf .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ppvr0r3KAIPZzNkf rect.text{fill:none;stroke-width:0;}#mermaid-svg-ppvr0r3KAIPZzNkf .icon-shape,#mermaid-svg-ppvr0r3KAIPZzNkf .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ppvr0r3KAIPZzNkf .icon-shape p,#mermaid-svg-ppvr0r3KAIPZzNkf .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ppvr0r3KAIPZzNkf .icon-shape .label rect,#mermaid-svg-ppvr0r3KAIPZzNkf .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ppvr0r3KAIPZzNkf .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ppvr0r3KAIPZzNkf .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ppvr0r3KAIPZzNkf :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 类别不平衡应对
数据层: 重采样
算法层: 类别加权
评估层: 召回率/F1
集成层: 平衡集成
综合方案

3. 推荐的工程实践

类别加权 + 阈值调优 + 少数类指标评估的组合:

  • 训练时用 class_weight 给少数类加权(如正负比 1:100 → 少数类权重 100);
  • 推理时调低分类阈值(默认 0.5 → 0.3),优先保证召回率;
  • 评估时只看少数类的召回率、精确率、F1 与 PR-AUC。

⚠️ 工程警示 :炉况场景漏报代价远高于误报(漏报炉凉可能毁炉)。因此评估应"偏召回"------宁可误报多一些,也不能漏掉真实异常。这与通用 ML 追求"精确率-召回率平衡"的默认策略不同,是领域特性的体现。

四、模型选型:没有银弹,只有适配 🧠

炉况分类的模型选型需权衡数据规模、可解释性、实时性:

模型 优势 局限 炉况适用性
逻辑回归 可解释、稳定 线性边界 基线/冷启动
随机森林 抗过拟合、特征重要性 精度中等 ⭐推荐(小样本)
XGBoost/LightGBM 精度高、处理非线性 需调参 ⭐⭐主力模型
SVM 小样本有效 大数据慢、难解释 备选
MLP 表达力强 需大量数据 数据充足时用
时序模型(LSTM) 捕捉时序依赖 数据需求大 时序特征显著时

推荐的选型逻辑

#mermaid-svg-duhqJuJ9CZaEcL73{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-duhqJuJ9CZaEcL73 .error-icon{fill:#552222;}#mermaid-svg-duhqJuJ9CZaEcL73 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-duhqJuJ9CZaEcL73 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-duhqJuJ9CZaEcL73 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-duhqJuJ9CZaEcL73 .marker.cross{stroke:#333333;}#mermaid-svg-duhqJuJ9CZaEcL73 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-duhqJuJ9CZaEcL73 p{margin:0;}#mermaid-svg-duhqJuJ9CZaEcL73 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-duhqJuJ9CZaEcL73 .cluster-label text{fill:#333;}#mermaid-svg-duhqJuJ9CZaEcL73 .cluster-label span{color:#333;}#mermaid-svg-duhqJuJ9CZaEcL73 .cluster-label span p{background-color:transparent;}#mermaid-svg-duhqJuJ9CZaEcL73 .label text,#mermaid-svg-duhqJuJ9CZaEcL73 span{fill:#333;color:#333;}#mermaid-svg-duhqJuJ9CZaEcL73 .node rect,#mermaid-svg-duhqJuJ9CZaEcL73 .node circle,#mermaid-svg-duhqJuJ9CZaEcL73 .node ellipse,#mermaid-svg-duhqJuJ9CZaEcL73 .node polygon,#mermaid-svg-duhqJuJ9CZaEcL73 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-duhqJuJ9CZaEcL73 .rough-node .label text,#mermaid-svg-duhqJuJ9CZaEcL73 .node .label text,#mermaid-svg-duhqJuJ9CZaEcL73 .image-shape .label,#mermaid-svg-duhqJuJ9CZaEcL73 .icon-shape .label{text-anchor:middle;}#mermaid-svg-duhqJuJ9CZaEcL73 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-duhqJuJ9CZaEcL73 .rough-node .label,#mermaid-svg-duhqJuJ9CZaEcL73 .node .label,#mermaid-svg-duhqJuJ9CZaEcL73 .image-shape .label,#mermaid-svg-duhqJuJ9CZaEcL73 .icon-shape .label{text-align:center;}#mermaid-svg-duhqJuJ9CZaEcL73 .node.clickable{cursor:pointer;}#mermaid-svg-duhqJuJ9CZaEcL73 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-duhqJuJ9CZaEcL73 .arrowheadPath{fill:#333333;}#mermaid-svg-duhqJuJ9CZaEcL73 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-duhqJuJ9CZaEcL73 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-duhqJuJ9CZaEcL73 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-duhqJuJ9CZaEcL73 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-duhqJuJ9CZaEcL73 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-duhqJuJ9CZaEcL73 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-duhqJuJ9CZaEcL73 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-duhqJuJ9CZaEcL73 .cluster text{fill:#333;}#mermaid-svg-duhqJuJ9CZaEcL73 .cluster span{color:#333;}#mermaid-svg-duhqJuJ9CZaEcL73 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-duhqJuJ9CZaEcL73 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-duhqJuJ9CZaEcL73 rect.text{fill:none;stroke-width:0;}#mermaid-svg-duhqJuJ9CZaEcL73 .icon-shape,#mermaid-svg-duhqJuJ9CZaEcL73 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-duhqJuJ9CZaEcL73 .icon-shape p,#mermaid-svg-duhqJuJ9CZaEcL73 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-duhqJuJ9CZaEcL73 .icon-shape .label rect,#mermaid-svg-duhqJuJ9CZaEcL73 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-duhqJuJ9CZaEcL73 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-duhqJuJ9CZaEcL73 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-duhqJuJ9CZaEcL73 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 样本<1000
样本充足


模型选型
数据规模?
随机森林/XGBoost

小样本稳健
时序依赖强?
LSTM/时序模型
XGBoost/MLP
可解释性优先

特征重要性分析
捕捉演化趋势
追求精度上限

工程经验 :炉况分类中,XGBoost/LightGBM 是性价比最高的主力------在小中样本上精度领先、训练快、特征重要性可解释,便于与工长沟通"模型依据什么判断"。深度学习只在数据充足、时序依赖显著时才值得引入。

五、模型上线后的持续监控 📊

炉况 ML 模型不是"一劳永逸",需应对工况漂移

  • 数据漂移监控:监测输入特征分布变化(如原料结构改变);
  • 性能衰减监控:跟踪在线预测的事后命中率,低于阈值触发重训练;
  • 定期重训练:用新积累数据定期更新模型,保持对当前工况的适配。

🎯 本期小结

  • 炉况分类推荐多标签或多个二分类器并联,适配"复合异常"现实;
  • 样本构建需规范台账、时间切分、置信度分级,剔除过渡期污染;
  • 类别不平衡用"加权+阈值调优+少数类指标",评估偏召回;
  • 模型选型:小样本用随机森林/XGBoost,数据充足时序强才用 LSTM;
  • 上线后需监控数据漂移与性能衰减,定期重训练。

下期预告:第 15 期面对更极端的场景------《无监督异常检测:稀有病史样本场景的破局之道》,当"异常样本几乎没有"时,如何诊断?

作者:高炉炼铁智能化技术研究者,专注钢铁冶金与人工智能 交叉领域。

👍 如果觉得有帮助,请点赞、收藏、转发!

版权归作者所有,未经许可请勿抄袭,套用,商用(或其它具有利益性行为)

🔔 关注专栏,不错过后续精彩内容

相关推荐
SEONIB_Explorer1 小时前
VEONIB 电商 UGC 视频自动化生产实战指南
人工智能·自动化·音视频·跨境电商·视频制作·veonib
代码里的AI星1 小时前
B2B企业AI搜索可见度诊断与GEO技术优化实践:从0%到67%的架构重构之路
大数据·人工智能
QCodingDev1 小时前
Spring AI Alibaba Graph实战:从ReAct Agent到Workflow,企业AI复杂流程该如何编排?
java·人工智能·spring·ai·ai编程·企业ai
DS随心转APP1 小时前
AI导出鸭插件 如何解决这些痛点,以及它如何重构“批量导出”这件事,让 纳米AI导出Excel 和其他格式告别手动整理,让AI导出回归优雅。
人工智能·重构·word·excel·deepseek·ai导出鸭
Raas1001 小时前
AI网关是做什么的?MAI Gateway (魔芋企业级AI网关)给出企业级答案
网络·人工智能·gateway·企业级·ai网关·mai gateway·魔芋
欧特克_Glodon1 小时前
OpenCV计算机视觉开发入门与实践<二十>:非线性变换灰度变换
c++·人工智能·opencv·计算机视觉
美狐美颜SDK开放平台1 小时前
直播APP开发技术详解:视频美颜SDK在人脸识别、美型算法与渲染优化中的应用
人工智能·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
进击的横打1 小时前
【人工智能】Agent 变慢变贵?用「精准路由」把前置判断时间砍掉 85%
人工智能
是Dream呀1 小时前
5人设计组远程连工作站靠抢?用ToDesk团队设计版搭_数位板映射+多屏+权限_协同工作流
人工智能·ai·远程工作·todesk