بارگیری PCA چیست (با مثال پایتون)

در تجزیه و تحلیل مؤلفه اصلی (PCA)، بارگذاری ها سهم هر متغیر اصلی را در مؤلفه اصلی نشان می دهد. بارگذاری PCA برای درک الگوها و روابط بین متغیرها استفاده می شود. آنها به شناسایی این که کدام متغیرها بیشترین سهم را در هر یک از اجزای اصلی دارند کمک می کنند.

در حالی که PCA ابعاد یک مجموعه داده را کاهش می دهد، بارگذاری ها ضرایبی هستند که به هر متغیر اصلی اختصاص داده می شود که برای ایجاد مؤلفه اصلی استفاده می شود.

زمان استفاده از بارگیری PCA

بارگذاری PCA اغلب در بارگذاری نمودارها و بای پلات ها برای ارزیابی اهمیت ویژگی های PCA استفاده می شود.

مثال پایتون از بارگیری های PCA

در اینجا، ما PCA را با پایتون اعمال می‌کنیم و سپس یک Pandas Dataframe حاوی بارگذاری‌های PCA تولید می‌کنیم:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler

# Load Iris dataset 
iris = load_iris()
X = iris.data
y = iris.target

# Standardize the data
scaler = StandardScaler()
X_standardized = scaler.fit_transform(X)

# Apply PCA with two components 
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_standardized)

# Extract loadings
loadings = pca.components_.T * np.sqrt(pca.explained_variance_)

# Create a DataFrame for loadings
loadings_df = pd.DataFrame(loadings, columns=['PC1', 'PC2'], index=iris.feature_names)
loadings_df

چگونه بارگذاری های PCA را تفسیر کنیم

در PCA، بارگذاری ها سهم هر ویژگی اصلی را در اجزای اصلی نشان می دهد.

  • مثبت یا منفی: جهت رابطه.
  • مقادیر مطلق بالاتر: مشارکت قوی تر در اجزای اصلی.

در Dataframe بارگذاری بالا، می‌توانیم ببینیم که طول گلبرگ با ضریب 99.5% مهمترین عامل در تغییرپذیری مولفه اصلی 1 است. افزایش طول گلبرگ مربوط به مقدار بالاتر PC1 است. همچنین می توانیم ببینیم که عرض کاسبرگ نقش منفی دارد. به این معنی که افزایش عرض کاسبرگ با مقدار کمتر PC1 مطابقت دارد.

در آبی، می بینیم که عرض کاسبرگ قوی ترین عامل و طول گلبرگ ضعیف ترین عامل PC2 است.

تفاوت بین بارگذاری ها، ضرایب همبستگی و بردارهای ویژه

بارهای PCA، ضرایب همبستگی و بردارهای ویژه مرتبط هستند اما دقیقاً یکسان نیستند.

  • واریانس توضیح داده شده: مقدار واریانس توضیح داده شده توسط هر جزء اصلی. pca.explained_variance_
  • بردارهای ویژه: جهت حداکثر واریانس، بارهای مقیاس واحد: pca.components_
  • بارگذاری: سهم متغیرها در اجزای اصلی. eigenvectors * sqrt(explained variance)
  • ضرایب همبستگی: قدرت و جهت رابطه خطی بین دو متغیر. np.corrcoef()

بارگذاری ها تحت تأثیر همبستگی ها قرار می گیرند، اما تغییرپذیری هر متغیر را نیز در نظر می گیرند. بردارهای ویژه و بارگذاری به سادگی دو روش متفاوت برای عادی سازی نقاط داده هستند. بارها و ضرایب همبستگی در تحلیل روابط مکمل یکدیگر هستند.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler

# Load Iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Standardize the data
scaler = StandardScaler()
X_standardized = scaler.fit_transform(X)

# Apply PCA with two components
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_standardized)
explained_variance = pca.explained_variance_
print("Explained_variance:")
pd.DataFrame({
    'Explained Variance': explained_variance,
    'Explained Variance Ratio': pca.explained_variance_ratio_,
}, index=['PC1', 'PC2'])

واریانس توضیح داده شده نشان می دهد که PC1 بیشترین سهم را در واریانس داده ها دارد.

print("\nEigenvectors:")
eigenvectors = pca.components_
pd.DataFrame(eigenvectors, columns=iris.feature_names, index=['PC1', 'PC2']).T

بردارهای ویژه جهت اصلی حداکثر واریانس را با استفاده از مقیاس واحد مشابه واریانس توضیح داده شده نشان می دهد. به عنوان مثال، به نظر می رسد که عرض کاسبرگ بر PC1 و PC2 در جهات مختلف تأثیر می گذارد.

print("\nLoadings:")
loadings = eigenvectors.T * np.sqrt(explained_variance)
pd.DataFrame(loadings, columns=['PC1', 'PC2'], index=iris.feature_names)

بارگذاری ها نسخه های مقیاس شده بردار ویژه * ریشه مربع واریانس توضیح داده شده هستند به طوری که نه تنها جهت را نشان می دهد (مانند بردارهای ویژه)، بلکه بزرگی واریانس را نیز نشان می دهد.

print("\nCorrelation Coefficients:")
correlation_coefficients = np.corrcoef(X_standardized, rowvar=False)
pd.DataFrame(correlation_coefficients, columns=iris.feature_names, index=iris.feature_names)

ضرایب همبستگی همبستگی بین متغیرها را نشان می دهد.

  1. همبستگی مثبت کامل (1.0)
  2. همبستگی مثبت قوی (نزدیک به 1.0)
  3. همبستگی منفی قوی (نزدیک به -1.0)
  4. همبستگی ضعیف (نزدیک به 0)

به طور خلاصه، بارگذاری PCA و ضرایب همبستگی در درک روابط و الگوها در داده‌های چند متغیره مهم هستند. در حالی که آنها تفاسیر متفاوتی دارند، در ارائه بینش در مورد ساختار زیربنایی داده ها، یکدیگر را تکمیل می کنند.

سئو PBN | خبر های جدید سئو و هک و سرور