← 返回模型库
MODEL / 统计

主成分分析 PCA + 聚类

指标太多且彼此相关需要降维,或者要把样本分成若干类群再做后续分析。

核心公式

\mathbf{Z}=\mathbf{X}\mathbf{V},\qquad \mathbf{V}=\arg\max_{\mathbf{V}^{\top}\mathbf{V}=\mathbf{I}}\operatorname{tr}\!\left(\mathbf{V}^{\top}\mathbf{X}^{\top}\mathbf{X}\mathbf{V}\right)

Python 最小示例

下载 .py 文件 ↓

依赖见代码开头;示例在自己的 Python 环境运行,页面不执行代码。用于理解方法,正式参赛请补齐数据检验与误差分析。

Python · 主成分分析 PCA + 聚类
# 依赖: scikit-learn, numpy
import numpy as np
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler

rng = np.random.default_rng(0)
X = np.vstack([rng.normal(0, 1, (30, 6)), rng.normal(3, 1, (30, 6))])

Xs = StandardScaler().fit_transform(X)      # 少样本情形先做 KMO 与 Bartlett 检验
pca = PCA(n_components=2).fit(Xs)
print('解释方差比 =', pca.explained_variance_ratio_.round(3))

Z = pca.transform(Xs)
labels = KMeans(n_clusters=2, n_init=10, random_state=0).fit_predict(Z)
print('各簇样本数 =', np.bincount(labels))

用它研究过哪些问题?

浏览赛题库 →
国赛 · 2025E

AI 辅助智能体测

用摄像头采集的骨骼关键点数据判断学生体测动作是否规范,建立评分模型并给出辅助判定流程。

图像处理数据处理评价
4 个关联模型拆解这道题 →