Python ile Temel Bileşen Analizi (PCA)

Batuhan Bilge Elersu
3 min readMar 4, 2023

--

Principal Component Analysis (PCA) veri bilimi dünyasında çok yaygın bir şekilde kullanılan bir boyut azaltma tekniğidir. PCA, veri kümesindeki karmaşık yapıları daha az sayıda değişkene yansıtarak veri setindeki değişkenliği azaltır ve veri analizindeki gürültüyü azaltarak veri kümesindeki önemli kalıpları belirler. Bu yazıda, PCA’nın ne olduğunu, nasıl çalıştığını, örneklerini ve örnek kodları Python dilinde nasıl yazılabileceğini ve avantajları ile dezavantajlarını ele alacağım.

PCA Nedir?

PCA, çok boyutlu verileri daha az sayıda boyuta indirgemek için kullanılan bir yöntemdir. Çok boyutlu veriler, özellikle büyük veri kümelerinde, bazen anlaşılması zor ve görselleştirilmesi zor olabilir. Bu durumda PCA, veri kümesindeki karmaşık yapıları daha az sayıda değişkene yansıtarak veri kümesindeki önemli kalıpları belirler. Bu, veri kümesindeki değişkenliği azaltır ve veri analizindeki gürültüyü azaltır.

PCA Nasıl Çalışır?

PCA, veri kümesindeki değişkenliği azaltmak için kullanılan bir lineer dönüşümdür. İlk olarak, veri kümesindeki her bir değişkenin ortalaması alınır. Daha sonra, veri kümesindeki her bir değişkenin ortalamasından sapmalar hesaplanır ve bu sapmalar matris halinde saklanır. Bu matris, veri kümesindeki değişkenliği en iyi yansıtan ve temel bileşenleri belirleyen kovaryans matrisidir.

PCA, kovaryans matrisindeki özdeğerlerin ve özvektörlerin hesaplanmasıyla gerçekleştirilir. Özdeğerler, veri kümesindeki varyansın bir ölçüsüdür. Özvektörler, veri kümesindeki varyansın yönünü gösterir. PCA, özdeğerlerin büyüklüklerine göre sıralanması ve özvektörlerin bu sıralamaya göre seçilmesiyle gerçekleştirilir. Bu özdeğerler ve özvektörler, orijinal veri kümesindeki her bir değişkenin önem düzeyini belirlemek için kullanılır.

PCA, özvektörleri kullanarak orijinal veri kümesindeki değişkenlerin birleşimlerini hesaplar. Bu birleşimler, PCA bileşenleri olarak adlandırılır ve PCA, veri kümesindeki değişkenliği en iyi yansıtan bileşenleri belirleyerek boyut azaltma işlemini gerçekleştirir.

PCA’nın Python ile Uygulanması

PCA’nın uygulanması, Python’da birkaç basit adımdan oluşur. İlk adım, veri kümesinin yüklenmesidir. Bu örnekte, “scikit-learn” kütüphanesinde yer alan “load_iris” fonksiyonu kullanarak, ünlü “Iris” veri kümesi yüklenir.

from sklearn.datasets import load_iris
iris = load_iris()
X = iris.data
y = iris.target

Daha sonra, veri kümesindeki değişkenlerin ölçeklenmesi yapılmalıdır. Ölçeklendirme, farklı ölçeklerdeki değişkenlerin birbiriyle karşılaştırılabilir hale getirilmesini sağlar.

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

Daha sonra, PCA uygulanır.

from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)

n_components” parametresi, PCA’nın kaç bileşen döndüreceğini belirler. Bu örnekte, PCA 2 bileşen döndürecektir.

Son olarak, istenirse PCA sonuçları görselleştirilebilinir.

import matplotlib.pyplot as plt
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y)
plt.xlabel('PCA X')
plt.ylabel('PCA Y')
plt.show()
Bu örnekte, PCA bileşenleri, “Iris” veri kümesindeki bitki türlerini ayırt etmek için kullanılan özelliklerin farklı kombinasyonlarını yansıtır.

PCA ’nın Avantajları ve Dezavantajları

PCA ’nın avantajları arasında, veri kümesindeki karmaşık yapıları daha az sayıda değişkene yansıtarak veri kümesindeki önemli kalıpları belirlemesi ve veri analizindeki gürültüyü azaltması yer alır. Ayrıca, veri kümesindeki boyut azaltması sayesinde, veri setinin boyutu azaltılabilir ve veri analizi daha hızlı hale getirilebilir.

Dezavantajları ise, bazen PCA bileşenlerinin anlaşılması zor olabilir. Ayrıca, PCA, veri kümesindeki önemli bilgi kaybına neden olabilir ve bazen bazı önemli özelliklerin gözden kaçırılmasına neden olabilir.

Sonuç

PCA, veri kümesindeki değişkenliği azaltmak için kullanılan etkili bir yöntemdir. Python’da PCA uygulaması, veri kümesinin yüklenmesi, ölçeklendirilmesi, PCA’nın uygulanması ve sonuçların görselleştirilmesi gibi birkaç basit adımdan oluşur. PCA sonuçları, veri kümesindeki önemli kalıpları belirlemek ve boyut azaltma yaparak veri analizini hızlandırmak için kullanılabilir. Ancak, PCA bileşenlerinin anlaşılması zor olabilir ve bazı önemli bilgilerin kaybına neden olabilir. Bu nedenle, PCA kullanmadan önce, veri kümesindeki değişkenlerin ve PCA bileşenlerinin doğru bir şekilde anlaşılması önemlidir.

PCA’nın Python’da uygulanması oldukça kolaydır ve “scikit-learn” kütüphanesinde yer alan birkaç fonksiyon kullanarak yapılabilir. Bu örnekte, ünlü “Iris” veri kümesi üzerinde PCA kullanımı örneklenmiştir.

PCA, veri analizinde sıkça kullanılan bir yöntemdir ve birçok alanda uygulanabilir. Örneğin, finansal veriler, tıbbi görüntüler ve sosyal ağ verileri gibi birçok veri kümesinde PCA kullanılabilir. PCA, veri kümesindeki önemli kalıpları keşfetmek ve daha hızlı ve etkili bir veri analizi yapmak için önemli bir araçtır.

--

--

Batuhan Bilge Elersu

Data Analyst @ Jollify Games. Elevating businesses with concise data insights & compelling narratives.