1
我在Python中使用sklearn来做主成分分析。使用PCA计算原始数据集和转换后的数据之间的数据丢失
我的意图之一是生成一个4分量模型,另一个模型8,并使用inverse_transform与原始数据进行比较。
的代码是这样的:
pca4 = PCA(n_components=4)
pca4.fit(parkinsonData)
scores4=pca.transform(parkinsonData)
reconstruct4=pca.inverse_transform(scores4)
要计算原始数据和重建我做的区别:
differenceMatrix=parkinsonData-reconstruct4
现在我有分歧,但我想计算数据丢失了尊重原始数据集。要做到这一点,我想计算原始数据集的每个元素与重建的元素之间的差异的平均值2。
在上一条语句中,我计算原始数据集和重构数据集中每个元素之间的差异,但现在我必须计算功效。我不知道该怎么做,因为当我使用时:
power=differenceMatrix**
我得到一个错误:这个矩阵不是方形的。
为了解决这个我用
np.power(differenceMatrix,differenceMatrix)
它的工作原理,但有些元素是NAN。我明白这是由于缺少方形。
任何人都知道如何解决这个问题,并使用PCA计算原始数据集和变换数据之间的数据丢失?
谢谢。
这是解决方案。 谢谢@acidtobi – Maik