مهمترین الگوریتمهای یادگیری ماشین (به همراه کدهای پایتون و R) – بخش دهم: الگوریتمهای کاهش ابعاد


در طی 4-5 سال اخیر در هر مورد از گردآوری دادهها، افزایشی نمایی داشته است. شرکتها، سازمانهای دولتی و سازمانهای تحقیقاتی نهتنها با منابع جدیدی مواجه شدهاند بلکه دادهها را با جزییات بالایی گردآوری میکنند.
برای نمونه شرکتهای تجارت الکترونیک جزییات بیشتری در مورد مشتریان کسب میکنند. مثلاً اطلاعات جمعیت شناختی، سابقه جستجوی وب، آنچه که دوست دارند یا متنفرند، بازخوردها و بسیاری دادههای دیگر که باعث میشود اطلاعات این شرکتها حتی از اطلاعات سوپرمارکت محله از مشتری نیز بیشتر باشد.
برای یک دانشمند داده این اطلاعات حجیم باعث میشود ویژگیهای زیادی در دست باشد و برای ساخت مدلهای با پایداری مناسب خوب است اما یک چالش نیز وجود دارد. چگونه میتوان مهمترین متغیرها را از میان 1000 یا 2000 متغیر انتخاب کرد؟ در چنین مواردی الگوریتمهای کاهش ابعادی همراه با الگوریتمهای دیگر مانند درخت تصمیم، جنگل تصادفی، PCA، و تحلیل عامل کمک میکنند تا بر اساس ماتریس همبستگی نسبت مقادیر مفقود و ... را محاسبه کنیم.
کد پایتون
#Import Library
from sklearn import decomposition
#Assumed you have training and test data set as train and test
# Create PCA obeject pca= decomposition.PCA(n_components=k) #default value of k =min(n_sample, n_features)
# For Factor analysis
#fa= decomposition.FactorAnalysis()
# Reduced the dimension of training dataset using PCA
train_reduced = pca.fit_transform(train)
#Reduced the dimension of test dataset
test_reduced = pca.transform(test)
کد R
library(stats)
pca <- princomp(train, cor = TRUE)
train_reduced <- predict(pca,train)
test_reduced <- predict(pca,test)
در بخش بعدی این سلسله مطالب شما را با الگوریتم ارتقای گرادیان آشنا میکنیم.