İris veri seti PCA'yı öğrenmek için iyi bir örnektir. Bununla birlikte, sepals ve taç yapraklarının uzunluğunu ve genişliğini açıklayan ilk dört sütun, güçlü eğri verilere bir örnek değildir. Bu nedenle, verilerin log-dönüşümü, sonuçları çok fazla değiştirmez, çünkü ana bileşenlerin sonuçtaki dönüşü, log-dönüşüm ile oldukça değişmez.
Diğer durumlarda log-dönüşümü iyi bir seçimdir.
Veri kümesinin genel yapısı hakkında bilgi almak için PCA gerçekleştiriyoruz. PCA'mıza hâkim olabilecek bazı önemsiz etkileri filtrelemek için merkezler, ölçekler ve bazen log-dönüşümleri yaparız. Bir PCA'nın algoritması, kareli artıkları, yani herhangi bir örnekten PC'lere kare dik mesafelerin toplamını en aza indirmek için her bir PC'nin dönüşünü bulacaktır. Büyük değerler yüksek kaldıraç eğilimindedir.
İris verilerine iki yeni numune enjekte ettiğinizi düşünün. 430 cm petal uzunluğunda ve 0.0043 cm petal uzunluğunda bir çiçek. Her iki çiçek de ortalama örneklere göre sırasıyla 100 kat daha büyük ve 1000 kat daha küçüktür. İlk çiçeğin kaldıracı çok büyüktür, böylece ilk PC'ler çoğunlukla büyük çiçek ve diğer herhangi bir çiçek arasındaki farkları açıklar. Bir aykırı değer nedeniyle türlerin kümelenmesi mümkün değildir. Veriler günlüğe dönüştürülürse, mutlak değer şimdi göreli varyasyonu açıklar. Şimdi küçük çiçek en anormal olanıdır. Bununla birlikte, tüm örnekleri tek bir görüntüde içermek ve türlerin adil bir şekilde kümelenmesini sağlamak mümkündür. Bu örneği inceleyin:
data(iris) #get data
#add two new observations from two new species to iris data
levels(iris[,5]) = c(levels(iris[,5]),"setosa_gigantica","virginica_brevis")
iris[151,] = list(6,3, 430 ,1.5,"setosa_gigantica") # a big flower
iris[152,] = list(6,3,.0043,1.5 ,"virginica_brevis") # a small flower
#Plotting scores of PC1 and PC" without log transformation
plot(prcomp(iris[,-5],cen=T,sca=T)$x[,1:2],col=iris$Spec)
#Plotting scores of PC1 and PC2 with log transformation
plot(prcomp(log(iris[,-5]),cen=T,sca=T)$x[,1:2],col=iris$Spec)