21.设备故障预测程序
在一套对象存储集群中,运维同学希望根据设备运行日志,提前判断设备是否有故障风险,从而把数据在故障前迁移到其他节点。每条日志包含以下字段:设备ID、写入次数、读取次数、平均写入延迟(ms)、平均读取延迟(ms)、使用年限(年)、设备状态(0 正常/1 故障)。
请你实现一个设备故障预测程序,基于训练数据学习一个逻辑回归模型,并对给定的待预测设备输出是否故障的判定结果。
数据清洗规则
缺失值填充:数值字段出现字符串 NaN 时,用该字段在训练集中“有效数值”的均值进行填充。有效数值的含义见“异常值处理”。
异常值处理:若出现以下越界值,则视为异常,用该字段在训练集“有效数值”的中位数替换。
1.写入/读取次数:小于0
2.平均写入/读取延迟:小于0或大于1000
3.使用年限:小于0或大于20
说明:计算均值/中位数时,只统计训练集中“有效数值”(即不含NaN,且不越界)。若某字段在训练集没有任何有效数值,则该字段的均值与中位数都按0处理。
标签缺失:训练样本若无状态字段或无法解析为0/1,丢弃该行,不参与训练,也不参与统计均值/中位数。
模型与训练
模型:二分类逻辑回归,带偏置项w0。
-训练方法:批量梯度下降(BatchGD),每次迭代用全部训练样本,学习率0.01,迭代100次,初始权重全0。
题解