python - ejemplo - analisis factorial confirmatorio
Cargas factoriales utilizando sklearn (3)
Creo que @RickardSjogren está describiendo los vectores propios, mientras que @BigPanda está dando las cargas. Hay una gran diferencia: Cargas frente a vectores propios en PCA: ¿cuándo usar uno u otro? .
He creado esta clase de PCA con un método de loadings
.
Las cargas, según lo indicado por pca.components_ * np.sqrt(pca.explained_variance_)
, son más análogos a los coeficientes en una regresión lineal múltiple. No uso .T
aquí porque en la clase PCA vinculada anteriormente, los componentes ya están transpuestos. numpy.linalg.svd
produce u, s, and vt
, donde vt
es la transposición hermetiana, por lo que primero debe volver a v
con vt.T
También hay otro detalle importante: los signos (positivos / negativos) en los componentes y las cargas en sklearn.PCA
pueden diferir de paquetes como R. Más sobre esto aquí:
En sklearn.decomposition.PCA, ¿por qué los componentes son negativos? .
Quiero las correlaciones entre variables individuales y componentes principales en python. Estoy usando PCA en sklearn. No entiendo cómo puedo obtener la matriz de carga después de haber descompuesto mis datos. Mi código está aquí.
iris = load_iris()
data, y = iris.data, iris.target
pca = PCA(n_components=2)
transformed_data = pca.fit(data).transform(data)
eigenValues = pca.explained_variance_ratio_
http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html no menciona cómo se puede lograr esto.
Multiplique cada componente por la raíz cuadrada de su valor propio correspondiente:
pca.components_.T * np.sqrt(pca.explained_variance_)
Esto debería producir su matriz de carga.
Según este blog, las filas de pca.components_
son los vectores de carga. Asi que:
loadings = pca.components_