利用PCA方法计算原始数据集与转换数据集之间的数据丢失

2024-04-27 20:04:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中使用sklearn来进行主成分分析。在

用我的原始数据和另一个u的数据进行比较。在

代码是这样的:

pca4 = PCA(n_components=4)
pca4.fit(parkinsonData)
scores4=pca.transform(parkinsonData)
reconstruct4=pca.inverse_transform(scores4)

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

^{pr2}$

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

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

power=differenceMatrix**

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

为了解决这个问题我用

np.power(differenceMatrix,differenceMatrix)

它是有效的,但有些元素是不存在的。我知道这是由于缺少方形。在

有人知道如何解决这个问题,并用PCA计算原始数据集和转换数据集之间丢失的数据吗?在

谢谢。在


Tags: 数据代码元素原始数据transform差异sklearn成分
1条回答
网友
1楼 · 发布于 2024-04-27 20:04:51

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

np.square(differenceMatrix)

这在元素方面有效,并且不限制您使用方形矩阵。矩阵中的NaN在输出中作为NaN返回。在

相关问题 更多 >