首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用主成分分析计算原始数据集与转换数据集之间的丢失数据

利用主成分分析计算原始数据集与转换数据集之间的丢失数据
EN

Stack Overflow用户
提问于 2017-04-24 16:23:05
回答 1查看 1.1K关注 0票数 1

我正在使用Python中的sklearn来进行主组件分析。

我的意图之一是生成一个4个组件模型,另一个组件模型为8,并使用inverse_transform与原始数据进行比较。

代码是这样的:

代码语言:javascript
复制
pca4 = PCA(n_components=4)
pca4.fit(parkinsonData)
scores4=pca.transform(parkinsonData)
reconstruct4=pca.inverse_transform(scores4)

为了计算原始数据和重建数据之间的差异,我做了如下工作:

代码语言:javascript
复制
differenceMatrix=parkinsonData-reconstruct4

现在我有了差异,但我想计算数据丢失尊重原始数据集。为了做到这一点,我要计算由2驱动的原始数据集的每个元素与重建的数据集之间的差值的平均值。

在最后一条语句中,我计算了原始数据集的每个元素与重构的数据集之间的差异,但现在我必须计算幂。我不知道怎么做,因为当我使用:

代码语言:javascript
复制
power=differenceMatrix**

我得到一个错误:这个矩阵不是正方形的。

为了解决这个问题,我用

代码语言:javascript
复制
np.power(differenceMatrix,differenceMatrix)

它起作用了,但有些元素是南。我认为这是由于缺乏方形的缘故。

谁知道如何解决这一问题,并计算原始数据集和转换数据集之间的数据丢失使用PCA?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 17:35:00

要将矩阵的每个元素(我猜这就是“由2供电”的意思)平方,请使用:

代码语言:javascript
复制
np.square(differenceMatrix)

这在元素上是可行的,不限制你使用方阵的形状.矩阵中的NaN在输出中作为NaN返回。

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

https://stackoverflow.com/questions/43593238

复制
相关文章

相似问题

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