图4:使用特征组的 PCA 散点图 我们使用下面的代码来训练使用两组特征的逻辑回归模型。在每种情况下,我们使用 70% 的数据来训练模型,其余 30% 的数据来测试模型。第 1 组的测试集准确率为 74%,相比之下,第 2 组的准确率为 97%。因此,第 2 组中的特...
sklearn库中的PCA算法就是利用SVD实现的。 接下来我们自己编写代码实现PCA算法。 3.2 代码实现 先后使用numpy和sklearn进行实现,最后比较我们自己写的和封装好的库有什么不同。 数据集我选的是kaggle游乐场的表格数据,刚好这个数据较小,只有6个特征,400多个样本,非常适合做实验。 如果有看不懂代码的话没关系,我们...
PCA假设数据是线性可分的。如果数据存在非线性结构,PCA可能无法有效捕捉数据的本质特征。 对缺失数据敏感 PCA对缺失数据非常敏感。在进行PCA之前,必须先处理数据中的缺失值。 解释性 PCA的结果通常难以解释,因为主成分是数据的线性组合,可能不具备具体意义。 六、总结 通过本文,我们详细了解了如何用Python实现PCA,包括N...
import numpy as np import matplotlib.pyplot as plt # 创建一个随机数据集 x = np.random.rand(100) y = np.random.rand( # 创建一个PCA对象 pca = PCA() # 对数据进行PCA pca.fit(x,y) # 绘制PCA结果 plt.plot(x,y,'o') plt.show() # 绘制PCA结果 plt.plot(x,y,'o') plt.show() #...
数据科学工程和机器学习的基本技术(十三)PCA的Python实现 之前写过笔记,现在回头看,发现只能理解一部分,大概当时就没完全搞懂吧。 这次就先不谈理论,就借着代码去一步一步理解。 1)导入必要的库 importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromsklearn.preprocessingimportStandardScaler ...
PCA主成分分析在数据处理和降维中经常被使用到,是一个非常经典的降维算法,本文提供一个PCA降维的流程分解,和对应的Python代码实现。 二维数据生成 如果没有自己的测试数据,我们可以生成一些特殊的随机数据点。例如我们使用Numpy的均匀随机数生成一系列二维的数据点\(\mathbf{r}=\left(x,y\right)\),其中数据点分布...
principal_components = pca.fit_transform(X_scaled) 结果分析部分需要关注: print(f"各主成分方差贡献率:pca.explained_variance_ratio_") print(f"累计方差解释度:np.cumsum(pca.explained_variance_ratio_)") 绘制碎石图代码可取消注释 plt.plot(np.cumsum(pca.explained_variance_ratio_)) plt.xlabel(’Numbe...
pca.fit(X)# 得出原始数据的降维后的结果;也可以以新的数据作为参数,得到降维结果。print(pca.transform(X))# 打印各主成分的方差占比print("贡献率:",pca.explained_variance_ratio_) 上面的这个代码里面:n_component表示的就是我们的维度,=2说明我们降低成为2维的,数据里面的5列可以看做是5个属性,这个时候...