یکی از روشهای پرکاربرد تو کار با داده ها تو حوزه سیستم های توصیه گر یا کلی تر بگم برای کار با داده ها و هوش مصنوعی روش کاهش بعد هست. با یه مثال براتون بگم که فرض کنید داده های مربوط به فیلم ها رو براساس برچسب هاش (برچسبها همون ویژگی ها هستند) جمع آوری کردیم. برچسب ها شامل اسم فیلم، رای کاربرا به فیلم، سال انتشار، کارگردان، تعداد سینماهای اکران فیلم، بازیگرها، ژانر، تاریخ اکران و ... هست. بنظر میاد ویژگی تاریخ اکران زیاد موثر نباشه برای استفاده تو سیستم توصیه فیلم. کاربرد کاهش ابعاد هم برای همین هست. یعنی در کاهش ابعاد ما اطلاعات را با ویژگی هایی که بهترن بیان می کنیم. بهترین ویژگی ها، ویژگی هایی هستن که بیشترین واریانس رو داشته باشن. یکی از این الگوریتم ها که برای کاهش بعد استفاده می شه آنالیز مولفه اساسی (PCA) هست که روشی برای شناسایی بهترین ویژگی های دیتایی هست که داریم استفاده می کنیم.
روش PCA به دو قسمت تقسیم میشه:
خب در ادامه این روش رو روی دیتاست آیریس(مجموعه داده گل زنبق) براتون پیاده سازی می کنم:
import pandas as pd
import numpy as np
from scipy.stats import pearsonr
from sklearn.decomposition import PCA
from sklearn import datasets
import matplotlib.pyplot as plt
iris=datasets.load_iris()
label=iris.target
dim_r=PCA(n_components=2)
dim_r.fit(iris.data)
dim_r_transformed=dim_r.transform(iris.data)
plt.scatter(dim_r_transformed[:,0],dim_r_transformed[:,1],c=label)
plt.show()