我想要匹配两个图像中的特征,以检测复制-移动伪造。我使用来检测图像特征。但是,我在匹配PCA-SIFT特征时遇到了麻烦。根据几篇论文,PCA-SIFT使用与SIFT类似的匹配过程。我使用了以下代码片段来匹配功能。
%des1 and des2 are the PCA-SIFT descriptors obtained from two images
% Precompute matrix transpose
des2t = des2';
matchTable = zeros(1,size(des1,1));
cnt=0; %no. of matche
我正在尝试对一些数据执行PCA。据我所知,相关矩阵应该沿着主对角线有1的条目。这不是我在sklearn PCA中看到的.get_covariance()。我想知道为什么会这样?
出于我自己的目的,我可以对矩阵进行缩放,以获得具有1对角线条目的矩阵,但我只是想知道,既然我已经标准化了我的数据,为什么对角线条目仍然不是1?
In [1]: import pandas as pd
In [2]: import numpy as np
我使用电力变压器转换了我的数据集(有9列),以产生一个标准化的高斯分布。
from sklearn.preprocessing import PowerTransformer
pt = PowerTransformer(method='yeo-johnson',standardize=True)
#you can get the original data back using inverse_transform(X)
X_train=pt.fit_transform(X_train)
#fit the model only on the train set and tra
我有一个很大(500k X 500k)的稀疏矩阵。我想知道它的主要组成部分(实际上,即使只计算最大的PC也可以)。随机化的PCA效果很好,除了它本质上是寻找协方差矩阵的特征向量,而不是相关矩阵。使用大型稀疏矩阵的协方差矩阵找到PCA的软件包有什么想法吗?最好是在python中,尽管matlab和R也可以工作。
(作为参考,向提出了类似的问题,但方法涉及协方差矩阵)。
我正在使用部分虹膜数据集,以获得一个更好的理解PCA。
这是我的密码:
from sklearn.datasets import load_iris
import numpy as np
import matplotlib.pyplot as plt
from sklearn import decomposition
dataset = load_iris()
X = dataset.data[:20,]
pca = decomposition.PCA(n_components=4)
pca.fit(X)
X = pca.transform(X)
print(X)
print()
pri
对数据集进行规范化,用PCA进行降维,然后对降维数据进行规范化是有效的。假设这是在训练数据上执行的,如果使用相同的PCA系数来减少测试数据的维数。如果测试和训练数据使用相同的最大值和最小归一化值。我已经包含了一个我正在使用的代码的简化示例,它可以更好地描述我所说的代码。提前谢谢。
%% Prepare Training Data
% Normalise training data
mindata=min(TRAINDATA); maxdata=max(TRAINDATA);
TRAINDATA = ((TRAINDATA-repmat(mindata,[size(TRAINDATA,1),
我试着用我的智能手机预测特殊的运动。在此之前,我开发了一个应用程序,创建了一个包含加速度、陀螺仪、磁场等数据集。问题是,我不知道哪些是好的特征--这就是我为什么尝试使用PCA的原因。
到目前为止没有问题
from sklearn.decomposition import PCA
pca = PCA(0.95) # i don't want to lose too much information
.. split recorded data in train and test samples
pc_test = pca.fit_transform(data_test)
pc_tra
我想做的是:
对PCA transformationUse的数据,采用线性回归模型来实现cross-validation。
ks = [1,2,3,4,5,6,8,10,12,15,20]
mean_val_mse = []
# loop through all k values
for k in ks:
# instantiate pca and set n_components = k
pca = PCA(n_components=k)
# fit and transform
# fit learns the number of components, tr
我已经在下面的页面上成功地使用了带有‘球化数据’选项的主成分分析:https://projector.tensorflow.org/ 我想知道如何使用TensorFlow应用程序接口在本地运行相同的计算。我找到了PCA documentation in the API documentation,但我不确定是否在API中的某个地方也提供了数据分离功能?
我使用来自sklearn.decomposition的主成分分析来减少数据维数。
pca = PCA(n_components=pca_components, whiten=True, svd_solver='full')
y = pca.fit_transform(x)
numpy数组形状为(512,48),dtype为float64。数组中的最小值为0.0,最大值为1.7976931348623157e+308。数组不包含infs或NaNs,但我得到了一个错误。
ValueError: array must not contain infs or NaNs
我正在做一项任务,任务是在一个在线课程中用Python实现PCA。不幸的是,当我试图在我的实现和SKLearn之间进行比较(由课程提供)时,我的结果似乎相差太大。 经过几个小时的审查,我仍然不确定哪里出了问题。如果有人能看一看,并确定我编码或解释错误的步骤,我将不胜感激。 def normalize(X):
"""
Normalize the given dataset X to have zero mean.
Args:
X: ndarray, dataset of shape (N,D)
Returns: