ML | Анализ главных компонентов (PCA)
Опубликовано: 25 Июля, 2021
Анализ главных компонентов (PCA) - это статистическая процедура, в которой используется ортогональное преобразование, которое преобразует набор коррелированных переменных в набор некоррелированных переменных. PCA - это наиболее широко используемый инструмент в исследовательском анализе данных и в машинном обучении для прогнозных моделей. Более того, PCA - это неконтролируемый статистический метод, используемый для изучения взаимосвязей между набором переменных. Он также известен как общий факторный анализ, при котором регрессия определяет линию наилучшего соответствия.
Необходим модуль:
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns % matplotlib inline |
Код №1:
# Here we are using inbuilt dataset of scikit learn from sklearn.datasets import load_breast_cancer # instantiating cancer = load_breast_cancer() # creating dataframe df = pd.DataFrame(cancer[ 'data' ], columns = cancer[ 'feature_names' ]) # checking head of dataframe df.head() |
Выход:
Код №2:
# Importing standardscalar module from sklearn.preprocessing import StandardScaler scalar = StandardScaler() # fitting scalar.fit(df) scaled_data = scalar.transform(df) # Importing PCA from sklearn.decomposition import PCA # Let's say, components = 2 pca = PCA(n_components = 2 ) pca.fit(scaled_data) x_pca = pca.transform(scaled_data) x_pca.shape |
Выход:
# Уменьшено до 569, 2
# giving a larger plot plt.figure(figsize = ( 8 , 6 )) plt.scatter(x_pca[:, 0 ], x_pca[:, 1 ], c = cancer[ "target" ], cmap = "plasma" ) # labeling x and y axes plt.xlabel( "First Principal Component" ) plt.ylabel( "Second Principal Component" ) |
Выход:
# components pca.components_ |
Выход:
df_comp = pd.DataFrame(pca.components_, columns = cancer[ 'feature_names' ]) plt.figure(figsize = ( 14 , 6 )) # plotting heatmap sns.heatmap(df_comp) |
Выход: