pca2

Principal Component Analysis (PCA) – #1

Birçok makine öğrenme problemi, her eğitim örneği için binlerce özelliği (boyutu) içerir. Bu sadece eğitimi  yavaşlatmakla kalmaz,  iyi bir çözüm bulmayı da zorlaştırır. Bu sorun genellikle boyut laneti (the curse of dimensionality) olarak adlandırılır. Bir veri setinin bilgi içeriğini özgün kümelerden daha düşük boyutlara, yeni bir özellik altuzayına dönüştürerek özetlememize yardımcı olacak üç temel teknik vardır. Principal Component Analysis (PCA), Linear Discriminant Analysis (LDA) ve Kernel Principal Component Analysis(KPCA). Veri sıkıştırma, makine öğrenmesinde önemli bir konudur. Modern çağda üretilen ve toplanan verilerin artan miktarlarını depolamamıza ve analiz etmemize yardımcı olur.

Principal Component Analysis (PCA)

(PCA),  boyutsallığı azaltmak için yaygın olarak kullanılan denetimsiz lineer dönüşüm tekniğidir. PCA, özellikler arasındaki korelasyona dayanarak verilerdeki desenleri (pattern) tanımlamamıza yardımcı olur. Özetle, PCA, yüksek boyutlu verideki maksimum varyansları bulmaya ve orjinal olanınkiyle eşit veya daha az boyuta sahip yeni bir altuzay üzerine yansıtmayı sağlar. Yeni altuzayın ortogonal eksenleri (PC1 ve PC2 ana bileşenler) maksimum varyansın yönüdür. pca

 

Incremental Principal Component Analysis (PCA)

Veri setlerimiz büyük olduğunda eğitim setini memory’e yerleştremeyiz.Bu gibi durumlarda  IncrementalPCA sınıfını kullanılanır. Numpy array_split() method’u ile eğitim seti küçük parçalara ayrılır ve her bir parça için  partial_fit() methodu ile model eğitilir.

 

Component Sayısı Kaç Olmalı?

PCA yaparken; amacımız veri setinde minimum bilgi kaybı maksimum performans olduğu için kaç tane component kullanacağımız çok önemlidir. Bunun için bir kaç istatiksel yöntem mevcut.

1 – Kaiser’s stopping rule

Analizde 1 ve  üzerinde eigenvalue’ ya sahip olan faktörlerin sayısının dikkate alınması gerektiğini belirtmektedir. Aşağıdaki tabloda 1, 2 ve 3. faktörler (birinci sütun) sırasıyla 3.751, 2.492 ve 1.115 eigenvalue’ ya sahiptir. Bu kurala göre component sayımız 3 olmadılır.

 

Table 2

2-Scree test

Figure 1. Scree Plot for the EFA for the 12 Y/GPI Scales Administered in Brazil.

Bu test, eigenvalueve faktör sayısı arasındaki ilişkinin grafiksel olarak görselleştirilmiş halidir. Araştırmacılar, noktaları hattın hızla düşen kısmı boyunca saymış ,geçiş noktalarını hesaba katmayacak şekilde saymş ve hesap  dışı bırakarak saymışlar. Aşağıdaki grafik için 2 component’in uygun olduğuna karar vermişler.

 

 

3-Number of non-trivial factors

Genellikle kesme noktası (cut-point) 0.30 ‘ un üzerinde 2 ve ya 3 değişken içeren faktörler öneli olan (nontrivial) faktör olarak tanımlanır. Aşağıdaki grafikte 1. ,2. ve 3.  faktörler 0.30’dan büyük  en az 3 değere sahipken, 4. faktör 0.30’dan büyük 2 değere sahiptir. 1.ve 2. faktör, 3 ve 4’e göre daha büyük öneme sahiptir.

Table 4

 

4-Percent of cumulative variance

Table 2Kaiser’s stopping rule ve Scree plot ile yakından ilgili olan yaklaşımdır. Örneğin 12 boyuttan oluşan bir veri setinde 12 boyutuda kullanırsak varyans’ın %100 ü açıklanabilir. Fakat bu faktörü daha da aşağı düşürmemiz gerekmektedir. Yandaki tablonun son sütununda faktör sayısı ve kümulatif varyansın yüzdesi verilmiştir . Araştırmalar varyansın minumum %70 – 80 arasında olması gerektiği yönünde.

 

 

 

Python ile Principal Component Analysis

Veri seti

İtalya’da üç farklı çeşitten üretilen şarapların kimyasal analizlerinin sonuçlarıdır. Analiz, üç şarap türünün her birinde bulunan 13 maddenin miktarını gösteriyor.

 

Kaynaklar

1- http://hosted.jalt.org/test/bro_30.htm

2- Hands-on Machine Learning with Scikit-Learn and Tensorflow, Aurélien Géron, Ch.8 , P.280

3- Python Machine Learning, Sebastian Rachka, Ch.5, P.152

4- MAstering Machine Learning with Scikit-Learn,Gavin Hackeling, Ch.7,P.150

Birçok makine öğrenme problemi, her eğitim örneği için binlerce özelliği (boyutu) içerir. Bu sadece eğitimi  yavaşlatmakla kalmaz,  iyi bir çözüm bulmayı da zorlaştırır. Bu sorun genellikle boyut laneti (the curse of dimensionality) olarak adlandırılır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir