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