31 Mart 2016 Perşembe

Python - Temel bileşen analizi (PCA)


Hiperspektral görüntülerde PCA ile boyut indirme


PCA ( Temel bileşen analizi ) çok boyutlu veriyi, her bir boyut arasındaki varyansı maksimum yapacak şekilde yeni bir uzaya dönüştürmeye yarar.

PCA adımları

- kovaryans_matris = cov ( numpy.transpose(data) ) 

bu adımda her bir özdeğere karşılık gelen özvektör hesaplanıyor

- Ozdeger, Ozvektor = numpy.linalg.eig(kovaryans_matris)

düşük özdeğere karşılık gelen özvektörler ihmal edilirse veri boyutu minimum bilgi kaybı ile küçültülür. ( Yani özvektörler matrisinden bazı sütunlar atılacak )

- donusturulmus_veri = numpy.dot( data, Ozvektor )

Bu adımda geri dönüşüm işlemi yapılıyor, eğer bazı özvektörler elenmiş ise orjinal veri seti eksiksiz olarak geri dönüştürülemez fakat yine de genel bilgi belirli oranda korunmuş olacaktır

- data_geri_elde_edilen = numpy.dot ( donusturulmus_veri, numpy.transpose(Ozvektor) )