我必须创建13个白高斯噪声,它们彼此之间完全去相关。我被告知PCA可以实现这一点,所以我搜索了一些我可以在python中使用的信息和工具。我使用sklearn中的PCA模块来执行PCA.The,以下是我的代码。
import numpy as np
from sklearn.decomposition import PCA
n = 13 # number of completely decorrelated noises
ms = 10000 #duration of noise in milli-seconds
fs = 44100 # sampling rate
x = np.rand
我有一个很大(500k X 500k)的稀疏矩阵。我想知道它的主要组成部分(实际上,即使只计算最大的PC也可以)。随机化的PCA效果很好,除了它本质上是寻找协方差矩阵的特征向量,而不是相关矩阵。使用大型稀疏矩阵的协方差矩阵找到PCA的软件包有什么想法吗?最好是在python中,尽管matlab和R也可以工作。
(作为参考,向提出了类似的问题,但方法涉及协方差矩阵)。
我正在使用Accord框架来做PrincipalComponentAnalysis。
我有一个计算的距离矩阵,然后对其应用KPCA:
Dim pca = new KernelPrincipalComponentAnalysis()
pca.Learn(distances)
pca.NumberOfOutputs = 2
Dim actual()() As double = pca.Transform(distances)
这工作得很好。但是,如果矩阵非常大(例如2000x2000),pca.learn需要几分钟的时间。有没有一种方法可以学习采样矩阵(例如500x500),以便转换大矩阵?我试过
我正在使用python中的sklearn对基因表达数据执行主成分分析(PCA)。我的数据作为pandas dataframe加载,为此我可以调用df.head(),df看起来很好。我正在使用sklearn生成一个加载矩阵,但是该矩阵只显示一个通用索引,并且不接受索引的列名。我有1722个基因,所以通过计算获得每个基因的加载分数是很重要的。
下面是我的PCA代码:
import pandas as pd
from sklearn.decomposition import PCA
from sklearn import preprocessing
# Load the data as pand
我正在用sklearn.decomposition.PCA进行主成分分析,我发现如果输入矩阵X很大,两个不同的PCA.transform实例的结果就不一样了。例如,当X是一个100x200矩阵时,就没有问题了。当X是1000x200或100x2000矩阵时,两个不同的PCA实例的结果将不同。我不知道这是什么原因:我想在sklearn的PCA求解器中没有随机元素?我使用的是滑雪版0.18.1。使用python 2.7
下面的脚本说明了这个问题。
import numpy as np
import sklearn.linear_model as sklin
from sklearn.decomp
如何在Python上的PCA中创建相关矩阵?下面,我通过pca.components_创建了特征向量加载的DataFrame,但我不知道如何创建实际的相关矩阵(即这些加载与主成分的相关性如何)。有什么线索吗?
此外,我已经意识到,在Python中,许多这些特征向量加载都是负的。我正在尝试复制在Stata中进行的一项研究,奇怪的是,当Stata相关性为正时,Python负载似乎为负(请参阅附件中的相关矩阵图像,我正尝试用Python复制该图像)。这只是我注意到的一些事情-这里发生了什么?
提前谢谢。
import pandas as pd
import numpy as np
import d
我已经在BiqQuery上创建了一个PCA模型,但是我很难弄清楚如何使用它来解决我的分类问题。我可以使用ML.EVALUATE,但仅此而已。如何使用我的PCA模型来训练一个分类模型?
我尝试了不同的ML函数,如预测、混淆矩阵和ROC,但是最后的2种方法不起作用,因为我还不能使用PCA数据来训练分类模型。下面是我的代码
CREATE MODEL
`mydataset.mymodel`
OPTIONS
( MODEL_TYPE='PCA',
PCA_EXPLAINED_VARIANCE_RATIO=0.8 ) AS
SELECT
*
FROM
`mydata
我尝试在一个维度为m x n的矩阵上运行PCA,其中m是特征的数量,n是样本的数量。
假设我想保留方差最大的nf特征。使用scikit-learn,我可以这样做:
from sklearn.decomposition import PCA
nf = 100
pca = PCA(n_components=nf)
# X is the matrix transposed (n samples on the rows, m features on the columns)
pca.fit(X)
X_new = pca.transform(X)
现在,我得到了一个新的矩阵X_new,它的形状是n
给定
PCA应该通过传递矩阵来初始化。
cv::Mat matrix;
...
//If I do
cv::PCA pca;
pca(matrix);
我得到了错误,函数cv::PCA::operator() cannot be called with the given arguments
如果我这么做了
cv::PCA pca(matrix);
它说“构造函数的实例与参数列表不匹配”。
如果我这么做了
pca.operator(matrix);
上面写着“错误:期望一个操作员”。出什么问题了?