تحلیل مؤلفه‌های اصلی (PCA)

آموزش PCA: کاهش ابعاد داده، حفظ واریانس، مصورسازی داده پربعد و سرعت بخشیدن به مدل

مسئله ابعاد بالا

اگر داده ۱۰۰ ویژگی داشته باشد چه؟ مصورسازی غیرممکن، محاسبات کند و فاصله‌ها بی‌معنا می‌شوند. PCA این مشکل را حل می‌کند: کاهش ابعاد با حداکثر حفظ اطلاعات.

PCA چگونه کار می‌کند؟

  1. داده را استاندارد کنید
  2. جهت‌هایی پیدا کنید که بیشترین واریانس داده را دارند (مؤلفه‌های اصلی)
  3. داده را روی k مؤلفه اول تصویر کنید

شهود: عکس یک جسم سه‌بعدی از زاویه‌ای که بیشترین جزئیات دیده شود! مؤلفه اول همان «بهترین زاویه دید» است.

پیاده‌سازی

from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler

X_scaled = StandardScaler().fit_transform(X)

pca = PCA(n_components=2)
X_2d = pca.fit_transform(X_scaled)

print(pca.explained_variance_ratio_)  # سهم هر مؤلفه از واریانس

چند مؤلفه نگه داریم؟

explained_variance_ratio_ می‌گوید هر مؤلفه چند درصد اطلاعات دارد. قانون رایج: آن‌قدر مؤلفه نگه دارید که مجموعاً ۹۰ تا ۹۵ درصد واریانس پوشش داده شود:

pca = PCA(n_components=0.95)  # ۹۵٪ واریانس
X_reduced = pca.fit_transform(X_scaled)
print(X_reduced.shape)  # ابعاد جدید

کاربردهای PCA

نکات مهم

PCA قبل از خودش استانداردسازی می‌خواهد؛ وگرنه ویژگی با مقیاس بزرگ همه‌چیز را تعیین می‌کند. همچنین مؤلفه‌های جدید ترکیب خطی ویژگی‌های قدیمی‌اند و تفسیر مستقیم ندارند.

جمع‌بندی

این مبحث بخشی از دوره آموزش کامل ماشین لرنینگ است.

ابزارهای مرتبط