पीसीए सीखने के लिए आईरिस डेटा सेट एक अच्छा उदाहरण है। उस ने कहा, पहले चार स्तंभों और पंखुड़ियों की लंबाई और चौड़ाई का वर्णन करते हुए दृढ़ता से तिरछे डेटा का उदाहरण नहीं है। इसलिए लॉग-ट्रांसफ़ॉर्मिंग डेटा परिणामों को बहुत अधिक नहीं बदलता है, क्योंकि प्रिंसिपल घटकों के परिणामस्वरूप रोटेशन लॉग-ट्रांसफ़ॉर्मेशन से काफी अपरिवर्तित होता है।
अन्य स्थितियों में लॉग-ट्रांसफॉर्मेशन एक अच्छा विकल्प है।
हम एक डेटा सेट की सामान्य संरचना की जानकारी प्राप्त करने के लिए पीसीए का प्रदर्शन करते हैं। हम कुछ तुच्छ प्रभावों को छानने के लिए केंद्र, पैमाने और कभी-कभी लॉग-ट्रांसफ़ॉर्म करते हैं, जो हमारे पीसीए पर हावी हो सकता है। एक पीसीए का एल्गोरिथ्म बदले में प्रत्येक पीसी के रोटेशन का पता लगाएगा, ताकि किसी भी नमूने से पीसी तक चौकोर अवशिष्ट दूरी का योग हो। बड़े मूल्यों में उच्च उत्तोलन होता है।
आइरिस डेटा में दो नए नमूनों को इंजेक्ट करने की कल्पना करें। एक फूल 430 सेमी पंखुड़ी लंबाई और एक 0.0043 सेमी की पंखुड़ी लंबाई के साथ। दोनों फूल औसत उदाहरणों की तुलना में क्रमशः 100 गुना बड़े और 1000 गुना छोटे होते हैं। पहले फूल का लाभ बहुत बड़ा है, जैसे कि पहला पीसी ज्यादातर बड़े फूल और किसी अन्य फूल के बीच के अंतर का वर्णन करेगा। प्रजाति का क्लस्टरिंग उस एक बाह्य भाग के कारण संभव नहीं है। यदि डेटा लॉग-ट्रांसफ़ॉर्म किए गए हैं, तो निरपेक्ष मान सापेक्ष भिन्नता का वर्णन करता है। अब छोटा फूल सबसे असामान्य है। बहरहाल, यह संभव है कि दोनों में एक छवि में सभी नमूने हों और प्रजातियों का एक उचित क्लस्टर प्रदान करें। इस उदाहरण को देखें:
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)