train 与 test 按行拼接后,用 StandardScaler 一次性 fit_transform,得到标准化矩阵 Z_all(避免因分别拟合造成的数据偏移)。Z_all 上用 PCA(n_components=1, svd_solver="full", random_state=42) 拟合,分别对 Z_all 做 transform → inverse_transform 得到重构矩阵 Z_hat_all。请在仅使用 numpy/pandas/scikit−learn 的前提下,实现一个基于 PCA 重构误差的异常检测算法,对测试样本判定“正常 (0) /异常 (1) ”。
1.读取数据
train:二维列表,只含数值特征(无标签)
test:二维列表,与 train 同维度