OPPO算法岗笔试真题 - 基于重建误差的异常检测(C++/Py/Java /Js/Go)

OPPO算法岗笔试真题 - 基于重建误差的异常检测(C++/Py/Java /Js/Go) 基于重建误差的异常检测OPPO算法岗 8月8号笔试 第二题题目内容某设备在正常运行期间积累了一批传感器数据作为"基准样本"。现在设备产生了一批新的监测数据,希望基于基准样本蕴含的主要变化模式,判断新数据是否存在明显偏离。请使用 PCA(主成分分析)重建误差方法实现异常检测,严格遵循以下步骤:缺失值填补:对每一维特征,计算基准数据中该维所有非缺失值的均值,用该均值同时填补基准数据和待检测数据中的缺失值。标准化:使用StandardScaler在基准数据上拟合,然后对基准数据和待检测数据分别进行变换。PCA 投影与重建:使用 PCA(参数n_components=0.95,svd_solver='full')在基准数据上拟合。将两个数据集分别投影到主成分空间后逆变换得到重建结果。偏离分数:对每个样本,计算其标准化结果与 PCA 重建结果之间的平方误差之和作为偏离分数。判定边界:取基准数据全部偏离分数的第95百分位数作为阈值