اهمیت ویژگی PCA: نحوه یافتن ویژگی های اصلی اصلی (مثال پایتون)

در این آموزش، نحوه تشخیص اهمیت ویژگی های اصلی در مجموعه داده کاهش یافته را خواهید آموخت. اگر 5 ویژگی داشتیم و به 3 کاهش دادیم، کدام یک از همه مهمتر بودند؟

ما فرض می کنیم که شما مولفه های اصلی کاهش یافته (PC) را شناسایی کرده اید که بیشتر واریانس مجموعه داده را توضیح می دهد. اکنون، می‌خواهیم بدانیم کدام ویژگی در اجزای اصلی باقی مانده پس از کاهش ابعاد مهم است.

ویژگی PCA توضیح داده شده واریانس

نحوه شناسایی اهمیت ویژگی PCA در پایتون

برای شناسایی سهم ویژگی های اصلی در هر جزء اصلی (PC)، از نسبت واریانس توضیح داده شده برای هر جزء با استفاده از explained_variance_ratio_ ویژگی روی شی pca.

این مثال با استفاده از Scikit-learn، تجزیه و تحلیل مؤلفه اصلی را بر روی مجموعه داده Iris اعمال می کند.

import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.datasets import load_iris
  
# Load Iris dataset 
iris = load_iris()
X = iris.data
y = iris.target
  
# Apply PCA with two components 
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

# Explained Variance Ratio
pca.explained_variance_ratio_

هر چه نسبت واریانس توضیح داده شده بیشتر باشد، مؤلفه اصلی در توضیح واریانس داده ها اهمیت بیشتری دارد.

array([0.92461872, 0.05306648])

در اینجا، آرایه‌ای داریم که در آن 92 درصد واریانس با اولین مؤلفه اصلی (PC1) و 5 درصد با PC2 توضیح داده می‌شود. آنها با هم 97 درصد از واریانس داده ها را توضیح می دهند.

چگونه اهمیت هر ویژگی اصلی را شناسایی کنیم

برای شناسایی اهمیت هر ویژگی در هر جزء، از components_ صفت.

print(abs(pca.components_))

نتیجه آرایه‌ای است که در آن «ردیف‌ها» مؤلفه‌ها و «ستون‌ها» ویژگی‌های اصلی را نشان می‌دهند.

[[0.36138659 0.08452251 0.85667061 0.3582892 ]
 [0.65658877 0.73016143 0.17337266 0.07548102]]

در اینجا می توان تخمین زد که ویژگی سوم 86 درصد از مؤلفه اصلی اول و ویژگی دوم 73 درصد از مؤلفه اصلی دوم را توضیح می دهد.

مراحل بعدی در درک اهمیت هر یک از ویژگی ها عبارتند از:

  1. ویژگی واریانس توضیح داده شده را ترسیم کنید
  2. طرح یک پلات اسکری
  3. PCA Biplots بسازید

واریانس توضیح داده شده چیست؟

را واریانس را توضیح داد، یا مقدار ویژه، در PCA واریانسی را که می توان به هر یک از اجزای اصلی نسبت داد را نشان می دهد.

هرچه مقدار ویژه بزرگتر باشد، بردار ویژه مربوطه در توضیح واریانس داده ها اهمیت بیشتری دارد.

آرایه ای از مقادیر است که در آن هر مقدار برابر با واریانس هر جزء اصلی و طول آرایه برابر با تعداد مؤلفه های تعریف شده است. n_components.

می توان به آن دسترسی پیدا کرد .explained_variance_ نشانه گذاری.

array([2.93808505, 0.9201649 ])

نحوه رسم واریانس توضیح داده شده در پایتون

واریانس توضیح داده شده در PCA به ما کمک می کند تا بفهمیم چه مقدار اطلاعات پس از کاهش ابعاد حفظ می شود. این بخشی از تغییرپذیری داده های اصلی است که توسط هر جزء اصلی گرفته می شود.

ما می توانیم واریانس توضیح داده شده را رسم کنیم تا واریانس هر ویژگی جزء اصلی را ببینیم.

# Bar plot of explained_variance
plt.bar(
    range(1,len(pca.explained_variance_)+1),
    pca.explained_variance_
    )

plt.xlabel('PCA Feature')
plt.ylabel('Explained variance')
plt.title('Feature Explained Variance')
plt.show()

نمودار خروجی نشان می دهد که 1 از ویژگی های PCA به وضوح از دیگری مهم تر است.

برای مثال های بیشتر تجسم داده ها با PCA و Python، آموزش ما را در مورد بهترین نمودارهای PCA در پایتون بخوانید.