首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同的PCA图

不同的PCA图
EN

Stack Overflow用户
提问于 2019-05-22 17:22:15
回答 1查看 44关注 0票数 1

我试着用python学习pca(使用虹膜数据集),我得到了一些结果,所以我想测试一下结果,以确保它是从零开始的。我检查了结果,它给了我一个python的镜像图(在y轴上),以及一些值中的负号(python: 140,1=0.1826089,r141,2=-0.1826089python计数为零)。

python代码:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import sklearn.decomposition as p
data=np.loadtxt("sample_data/iris.txt",delimiter=';',usecols=(0,1,2,3))
pca=p.PCA().fit(data)
pcaData=pca.transform(data)
plt.scatter(pcaData[:,0],pcaData[:,1])
print(pcaData[140,1])

My python diagram

R代码:

代码语言:javascript
复制
data=read.csv("C:\\Users\\George\\Desktop\\iris.csv",sep=";",colClasses=c(NA, NA, NA,NA,"NULL"));data=data[-151,]
pca=prcomp(data)
plot(pca$x[,1],pca$x[,2])
print(pca$x[141,2])

My R diagram

在互联网上搜索,我发现同样的事情发生了。

The R diagram on the internet-Source

The Python diagram on the internet-Source

我原以为会是一样的。是不是有什么我不太明白的地方?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 17:31:39

ScikitLearn使用伪随机化方法来确定奇异值分解的近似值。

请参阅https://scikit-learn.org/stable/modules/generated/sklearn.utils.extmath.randomized_svd.html

因此,除非您能保证这些方法是相同的,并且使用相同的随机种子,否则您将无法获得主成分的完全相同的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56253444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档