下载男女做爰免费网站如何软件开发
2026/4/16 22:12:20 网站建设 项目流程
下载男女做爰免费网站,如何软件开发,wordpress修改固定链接后页面404,银川网站开发小白从零开始勇闯人工智能系列 机器学习初级篇#xff1a;PCA 数据降维 大家好#xff01;我们继续小白视角#xff0c;一步一步把机器学习最常用的“降维神器”——PCA#xff08;Principal Component Analysis#xff0c;主成分分析#xff09; 讲明白。 目标读者PCA 数据降维大家好我们继续小白视角一步一步把机器学习最常用的“降维神器”——PCAPrincipal Component Analysis主成分分析讲明白。目标读者完全零基础或刚入门只会基本的 Python numpy/pandas/matplotlib 的小伙伴。先来一个最直观的比喻别急着看公式想象你手里有一堆高中生的考试成绩表语文、数学、英语、物理、化学、生物……一共 10 科。有些同学语文数学都高 → 明显文理兼备有些物理化学生物都高 → 理科强但其实很多科目之间高度相关学好数学通常物理也更好如果你要用最少的“指标”来概括一个学生的整体水平你会怎么做最笨的方法保留全部 10 科 → 高维、难可视化、计算慢、容易过拟合聪明的方法找到 23 个“综合分数”让它们尽量保留原始信息PCA 就是自动帮你找到这几个“最能代表整体的综合分数”的算法而且这些新分数之间互相不相关正交。一句话总结 PCA 干的事在不丢失太多信息的前提下把高维数据“挤”到低维通常 2D/3D方便可视化、加速训练、去噪、去冗余。PCA 到底在解决什么痛点真实场景维度灾难特征太多几百上千维模型训练极慢容易过拟合可视化需求人眼只能很好看 2D/3D 散点图多重共线性特征之间高度相关模型不稳定去噪很多特征其实是噪声PCA 可以把主要信号留下特征提取人脸识别、图像压缩、基因表达数据……手把手核心步骤小白版非数学恐怖版把数据标准化最重要一步不同特征量纲不同身高 cm、工资 万、年龄 岁不能直接算→ 每列都变成均值≈0标准差≈1StandardScaler计算协方差矩阵看哪些特征“一起变大/一起变小”相关性强对协方差矩阵做特征值分解得到特征值大小 这个方向的信息量 特征向量新坐标轴方向按特征值从大到小排序前几个最大的特征值对应的特征向量 主成分PC1, PC2, …选前 k 个主成分把原始数据投影到这 k 个新轴上 → 得到降维后的数据Python 实战用 sklearn 一行代码搞定推荐小白先这么用我们用经典的鸢尾花数据集150 条4 个特征来演示。importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromsklearn.datasetsimportload_irisfromsklearn.preprocessingimportStandardScalerfromsklearn.decompositionimportPCA# 1. 加载数据irisload_iris()Xiris.data# 4 个特征萼片长/宽、花瓣长/宽yiris.target# 0,1,2 三种鸢尾花feature_namesiris.feature_names# 2. 标准化必须做scalerStandardScaler()X_scaledscaler.fit_transform(X)# 3. PCA 降到 2 维最常见pcaPCA(n_components2)# 也可以写 0.95 保留 95% 方差X_pcapca.fit_transform(X_scaled)# 4. 看看保留了多少信息print(每个主成分解释的方差比例,pca.explained_variance_ratio_)print(总共保留的信息比例,sum(pca.explained_variance_ratio_))# 输出示例大概这样# 每个主成分解释的方差比例 [0.729 0.229]# 总共保留的信息比例 0.958 保留约 96% 的信息只用 2 维# 5. 可视化超级直观plt.figure(figsize(8,6))scatterplt.scatter(X_pca[:,0],X_pca[:,1],cy,cmapviridis,edgecolork,s60)plt.xlabel(fPC1 ({pca.explained_variance_ratio_[0]:.1%}variance))plt.ylabel(fPC2 ({pca.explained_variance_ratio_[1]:.1%}variance))plt.title(Iris 数据集 PCA 降维到 2D)plt.colorbar(scatter,ticksrange(3),label鸢尾种类 (0setosa, 1versicolor, 2virginica))plt.grid(True,linestyle--,alpha0.7)plt.show()你会看到什么三种鸢尾花在 2D 平面上几乎完美分开说明 PCA 非常成功地把 4 维信息压缩到了 2 维还保留了绝大部分区分能力。进阶一点如何决定降到几维累计方差贡献率# 画累计解释方差曲线肘部法pca_fullPCA()pca_full.fit(X_scaled)cum_rationp.cumsum(pca_full.explained_variance_ratio_)plt.plot(range(1,len(cum_ratio)1),cum_ratio,markero)plt.xlabel(主成分个数)plt.ylabel(累计解释方差比例)plt.title(PCA 累计方差解释率)plt.grid(True)plt.axhline(0.95,colorr,linestyle--)# 常用 95% 阈值plt.show()看到曲线在第几个主成分超过 0.9 或 0.95 时就选那个 k快速对比表小白速记问题原始数据 (4维)PCA 后 (2维)维度高低特征相关性可能强相关主成分之间正交不相关可视化难要画多维图容易散点图训练速度慢快很多信息损失无少看你选几维sklearn 一行代码-PCA(n_components2)小练习 下一步建议自己跑上面代码看看 setosa0是不是被分得特别开为什么换成 n_components3看看 explained_variance_ratio_ 增加了多少试试把 n_components 设成 0.90看自动保留几维下节可以玩用 PCA 降维后再跑 KNN / 逻辑回归对比准确率和训练时间PCA 是机器学习里“用最少维度抓住最多信息”的哲学起点。掌握它后你看高维数据就不会怕了有问题直接问想看手写 PCA不用 sklearn想看人脸数据集的 PCA 效果图还是想知道 PCA 和 t-SNE/UMAP 的区别随时说继续勇闯 AI下期见

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询