会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员后可解锁完整内容。
解题思路
训练集只减去自身均值,不按特征缩放。能量最大的方向是去均值矩阵的第一右奇异向量;测试样本减去同一个均值后再点乘它。
- 按列对 train 求平均,得到 μ。每条训练样本减去 μ,记为 Z。
- 对 Z 做奇异值分解 Z=PΣQT,取 v=QT[0]。numpy 的 svd 把奇异值从大到小排列,Vt 的第 0 行就是这个方向。
- 在 v 里找绝对值最大的分量,并列时取更靠前的下标。该分量为负,就把 v 整体乘以 −1。
- 解释方差比 ratio=σ12/∑jσj2。分子分母同时除以样本数 n 后结果不变,对应 ddof=0。总方差为 0 时记成 0。
- 测试投影是 (x−μ)⋅v。把 v、ratio 和投影都用 round(⋅,6) 收到六位小数,按 component、ratio、proj 的顺序写成一行 JSON,冒号和逗号后面不留空格。