Misforstår jeg noe. Dette er koden min
bruker sklearn
import numpy som npimport matplotlib.pyplot som pltfra mpl_toolkits.mplot3d import Axes3Dfra sklearn import dekomponering fra sklearn importer datasett fra sklearn.preprocessing import StandardScalerpca = dekomponering.PCA (n_komponenter = 3) x = np.array ([[0.387.4878, 5.42], [0.723,12104,5.25], [1,12756,5.52], [1.524.6787, 3.94],]) pca.fit_transform (x)
Output:
array ([[-4.25324997e + 03 , -8.41288672e-01, -8.37858943e-03], [2.97275001e + 03, -1.25977271e-01, 1.82476780e-01], [3.62475003e + 03, -1.56843494e-01, -1.65224286e-01] , [-2.34425007e + 03, 1.12410944e + 00, -8.87390454e-03]])
Bruke numpe metoder
x_std = StandardScaler (). fit_transform (x) cov = np.cov (x_std.T) ev, eig = np.linalg.eig (cov) a = eig.dot (x_std.T)
Output
array ([[0.06406894, 0.940639 93, -1.62373172], [-0.35357757, 0.7509653, 0.63365168], [0.29312477, 0.6710958, 1.11766206], [-0.00361615, -2.36270102, -0.12758202]]) Jeg har beholdt alle 3 komponentene, men det ser ikke ut til å tillate meg å beholde mine opprinnelige data.
Kan jeg vite hvorfor er det slik?
Hvis jeg vil få tilbake den opprinnelige matrisen min, hva skal jeg gjøre?