请你实现一个设备故障预测程序,基于训练数据学习一个逻辑回归模型,并对给定的待预测设备输出是否故障的判定结果。
数据清洗规则
- 缺失值填充:数值字段出现字符串 NaN 时,用该字段在训练集中“有效数值”的均值进行填充。有效数值的含义见“异常值处理”。
- 异常值处理:若出现以下越界值,则视为异常,用该字段在训练集“有效数值”的中位数替换。
1.写入/读取次数:小于 0
2.平均写入/读取延迟:小于 0 或 大于 1000
3.使用年限:小于 0 或 大于 20
- 说明:计算均值/中位数时,只统计训练集中“有效数值”(即不含 NaN,且不越界)。若某字段在训练集没有任何有效数值,则该字段的均值与中位数都按 0 处理。
- 标签缺失:训练样本若无状态字段或无法解析为 0/1,丢弃该行,不参与训练,也不参与统计均值/中位数。
模型与训练
- 模型:二分类逻辑回归,带偏置项 w0。
- 训练方法:批量梯度下降(Batch GD),每次迭代用全部训练样本,学习率 0.01,迭代 100 次,初始权重全 0。
- 概率:
P(y=1) =
其中 z = w0 + 
- 判定阈值:若 P(y=1) ≥ 0.5 则输出 1,否则输出 0。P(y=1) =