Análisis de componentes principales Es básicamente un procedimiento estadístico para convertir un conjunto de observaciones de variables posiblemente correlacionadas en un conjunto de valores de variables linealmente no correlacionadas.
Cada uno de los componentes principales se elige de tal manera que describa la varianza aún disponible de la mayoría de ellos y todos estos componentes principales son ortogonales entre sí. En todos los componentes principales, el primer componente principal tiene una varianza máxima.
la subcadena java contiene
Usos de PCA:
- Se utiliza para encontrar interrelaciones entre variables en los datos.
- Se utiliza para interpretar y visualizar datos.
- El número de variables está disminuyendo, lo que simplifica el análisis posterior.
- A menudo se utiliza para visualizar la distancia genética y la relación entre poblaciones.
Básicamente se realizan sobre una matriz simétrica cuadrada. Puede ser una matriz pura de sumas de cuadrados y productos cruzados, una matriz de covarianza o una matriz de correlación. Se utiliza una matriz de correlación si la varianza individual difiere mucho.
Objetivos de la PCA:
- Es básicamente un procedimiento no dependiente en el que se reduce el espacio de atributos de un gran número de variables a un número menor de factores.
- PCA es básicamente un proceso de reducción de dimensiones, pero no hay garantía de que la dimensión sea interpretable.
- La tarea principal en este PCA es seleccionar un subconjunto de variables de un conjunto más grande, en función de qué variables originales tienen la mayor correlación con el monto del capital.
- Identificación de patrones: PCA puede ayudar a identificar patrones o relaciones entre variables que pueden no ser evidentes en los datos originales. Al reducir la dimensionalidad de los datos, PCA puede revelar estructuras subyacentes que pueden resultar útiles para comprender e interpretar los datos.
- Extracción de características: PCA se puede utilizar para extraer características de un conjunto de variables que son más informativas o relevantes que las variables originales. Estas características luego se pueden utilizar en el modelado u otras tareas de análisis.
- Compresión de datos: PCA se puede utilizar para comprimir grandes conjuntos de datos reduciendo la cantidad de variables necesarias para representar los datos y conservando la mayor cantidad de información posible.
- Reducción de ruido: PCA se puede utilizar para reducir el ruido en un conjunto de datos identificando y eliminando los componentes principales que corresponden a las partes ruidosas de los datos.
- Visualización: PCA se puede utilizar para visualizar datos de alta dimensión en un espacio de menor dimensión, lo que facilita su interpretación y comprensión. Al proyectar los datos en los componentes principales, se pueden visualizar más fácilmente los patrones y las relaciones entre variables.
Método del eje principal: PCA básicamente busca una combinación lineal de variables para que podamos extraer la máxima varianza de las variables. Una vez que se completa este proceso, lo elimina y busca otra combinación lineal que dé una explicación sobre la proporción máxima de varianza restante que básicamente conduce a factores ortogonales. En este método, analizamos la varianza total.
Vector propio: Es un vector distinto de cero que permanece paralelo después de la multiplicación de matrices. Supongamos que x es un vector propio de dimensión r de la matriz M con dimensión r*r si Mx y x son paralelos. Luego necesitamos resolver Mx=Ax donde tanto x como A son desconocidos para obtener vectores propios y valores propios.
En Vectores propios, podemos decir que los componentes principales muestran una varianza tanto común como única de la variable. Básicamente, es un enfoque centrado en la varianza que busca reproducir la varianza total y la correlación con todos los componentes. Los componentes principales son básicamente las combinaciones lineales de las variables originales ponderadas por su contribución para explicar la varianza en una dimensión ortogonal particular.
Valores propios: Se le conoce básicamente como raíces características. Básicamente mide la varianza en todas las variables explicadas por ese factor. La razón de valores propios es la razón de importancia explicativa de los factores con respecto a las variables. Si el factor es bajo entonces contribuye menos a la explicación de las variables. En palabras simples, mide la cantidad de varianza en la base de datos total dada contabilizada por el factor. Podemos calcular el valor propio del factor como la suma de su carga factorial al cuadrado para todas las variables.
Ahora, comprendamos el análisis de componentes principales con Python.
Para obtener el conjunto de datos utilizado en la implementación, haga clic en aquí .
Paso 1: Importando las bibliotecas
Pitón # importing required libraries import numpy as np import matplotlib.pyplot as plt import pandas as pd>
Paso 2: Importando el conjunto de datos
Importe el conjunto de datos y distribuya el conjunto de datos en componentes X e y para el análisis de datos.
Pitón # importing or loading the dataset dataset = pd.read_csv('wine.csv') # distributing the dataset into two components X and Y X = dataset.iloc[:, 0:13].values y = dataset.iloc[:, 13].values>
Paso 3: Dividir el conjunto de datos en conjunto de entrenamiento y conjunto de prueba
# Splitting the X and Y into the # Training set and Testing set from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)>
Etapa 4: Escalado de características
Realizar la parte de preprocesamiento en el conjunto de capacitación y prueba, como ajustar la escala estándar.
Pitón # performing preprocessing part from sklearn.preprocessing import StandardScaler sc = StandardScaler() X_train = sc.fit_transform(X_train) X_test = sc.transform(X_test)>
Paso 5: Aplicar la función PCA
Aplicar la función PCA al conjunto de capacitación y pruebas para su análisis.
Pitón # Applying PCA function on training # and testing set of X component from sklearn.decomposition import PCA pca = PCA(n_components = 2) X_train = pca.fit_transform(X_train) X_test = pca.transform(X_test) explained_variance = pca.explained_variance_ratio_>
Paso 6: Adaptación de la regresión logística al conjunto de entrenamiento
Pitón # Fitting Logistic Regression To the training set from sklearn.linear_model import LogisticRegression classifier = LogisticRegression(random_state = 0) classifier.fit(X_train, y_train)>
Producción:

Paso 7: Predicción del resultado del conjunto de pruebas
Pitón # Predicting the test set result using # predict function under LogisticRegression y_pred = classifier.predict(X_test)>
Paso 8: Haciendo la matriz de confusión
orden sql por fechaPitón
# making confusion matrix between # test set of Y and predicted value. from sklearn.metrics import confusion_matrix cm = confusion_matrix(y_test, y_pred)>
Paso 9: Predecir el resultado del conjunto de entrenamiento
# Predicting the training set # result through scatter plot from matplotlib.colors import ListedColormap X_set, y_set = X_train, y_train X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01), np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01)) plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape), alpha = 0.75, cmap = ListedColormap(('yellow', 'white', 'aquamarine'))) plt.xlim(X1.min(), X1.max()) plt.ylim(X2.min(), X2.max()) for i, j in enumerate(np.unique(y_set)): plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], color = ListedColormap(('red', 'green', 'blue'))(i), label = j) plt.title('Logistic Regression (Training set)') plt.xlabel('PC1') # for Xlabel plt.ylabel('PC2') # for Ylabel plt.legend() # to show legend # show scatter plot plt.show()> Producción:

Paso 10: Visualización de los resultados del conjunto de pruebas
Pitón # Visualising the Test set results through scatter plot from matplotlib.colors import ListedColormap X_set, y_set = X_test, y_test X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1, stop = X_set[:, 0].max() + 1, step = 0.01), np.arange(start = X_set[:, 1].min() - 1, stop = X_set[:, 1].max() + 1, step = 0.01)) plt.contourf(X1, X2, classifier.predict(np.array([X1.ravel(), X2.ravel()]).T).reshape(X1.shape), alpha = 0.75, cmap = ListedColormap(('yellow', 'white', 'aquamarine'))) plt.xlim(X1.min(), X1.max()) plt.ylim(X2.min(), X2.max()) for i, j in enumerate(np.unique(y_set)): plt.scatter(X_set[y_set == j, 0], X_set[y_set == j, 1], color = ListedColormap(('red', 'green', 'blue'))(i), label = j) # title for scatter plot plt.title('Logistic Regression (Test set)') plt.xlabel('PC1') # for Xlabel plt.ylabel('PC2') # for Ylabel plt.legend() # show scatter plot plt.show()> 
Podemos visualizar los datos en el nuevo espacio del componente principal:
Pitón # plot the first two principal components with labels y = df.iloc[:, -1].values colors = ['r', 'g'] labels = ['Class 1', 'Class 2'] for i, color, label in zip(np.unique(y), colors, labels): plt.scatter(X_pca[y == i, 0], X_pca[y == i, 1], color=color, label=label) plt.xlabel('Principal Component 1') plt.ylabel('Principal Component 2') plt.legend() plt.show() 7> Este es un ejemplo sencillo de cómo realizar PCA utilizando Python. El resultado de este código será un diagrama de dispersión de los dos primeros componentes principales y su relación de varianza explicada. Al seleccionar la cantidad adecuada de componentes principales, podemos reducir la dimensionalidad del conjunto de datos y mejorar nuestra comprensión de los datos.