PCA ट्रांसफ़ॉर्मेशन का विज़ुअलाइज़ेशन

Python में Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

डायमेंशन रिडक्शन

  • स्टोरेज और computation ज़्यादा कुशल
  • कम-जानकारी वाले "noise" फीचर हटाएँ
  • ... जो prediction टास्क (जैसे classification, regression) में समस्या बनते हैं
Python में Unsupervised Learning

Principal Component Analysis

  • PCA = "Principal Component Analysis"
  • मूलभूत डायमेंशन रिडक्शन तकनीक
  • पहला चरण "decorrelation" (यहाँ कवर)
  • दूसरा चरण डायमेंशन घटाता है (आगे कवर)
Python में Unsupervised Learning

PCA डेटा को axes से align करता है

  • डेटा सैंपल्स को घुमाकर axes से align करता है
  • डेटा सैंपल्स को शिफ्ट कर mean 0 करता है
  • कोई जानकारी नहीं खोती

wines डेटा का स्कैटर प्लॉट, घुमाए गए axes के साथ

Python में Unsupervised Learning

PCA में fit/transform पैटर्न

  • PCA scikit-learn का एक component है, जैसे KMeans या StandardScaler
  • fit() दिए गए डेटा से transformation सीखता है
  • transform() सीखा हुआ transformation लागू करता है
  • transform() नए डेटा पर भी लागू हो सकता है
Python में Unsupervised Learning

scikit-learn PCA का उपयोग

  • samples = दो फीचर्स (total_phenols&od280) की array
[[ 2.8   3.92]
 ...
 [ 2.05  1.6 ]]
from sklearn.decomposition import PCA

model = PCA() model.fit(samples)
PCA()
transformed = model.transform(samples)
Python में Unsupervised Learning

PCA फीचर्स

  • transformed की rows सैंपल्स से मेल खाती हैं
  • transformed की columns "PCA फीचर्स" हैं
  • हर row में संबंधित सैंपल के PCA फीचर वैल्यूज़ हैं
print(transformed)
[[  1.32771994e+00   4.51396070e-01]
 [  8.32496068e-01   2.33099664e-01]
 ...
 [ -9.33526935e-01  -4.60559297e-01]]
Python में Unsupervised Learning

PCA फीचर्स correlated नहीं होते

  • डेटासेट के फीचर्स अक्सर correlated होते हैं, जैसे total_phenols और od280
  • PCA डेटा को axes से align करता है
  • नतीजे में मिले PCA फीचर्स रैखिक रूप से correlated नहीं होते ("decorrelation")

wines डेटा का स्कैटर प्लॉट, घुमाए गए axes के साथ

Python में Unsupervised Learning

पियरसन correlation

  • फीचर्स की रैखिक सह-संबंध को मापता है
  • मान -1 और 1 के बीच
  • मान 0 का अर्थ: कोई रैखिक सह-संबंध नहीं

3 स्कैटर प्लॉट: correlation 0.7, 0, और -0.7

Python में Unsupervised Learning

Principal components

  • "Principal components" = वैरिएंस की दिशाएँ
  • PCA principal components को axes से align करता है

wines डेटा का स्कैटर प्लॉट, 2 लाल तीर principal components की दिशा दिखाते हुए (घुमाए गए axes)

Python में Unsupervised Learning

Principal components

  • PCA ऑब्जेक्ट के components_ attribute के रूप में उपलब्ध
  • हर row mean से displacement बताती है
print(model.components_)
[[ 0.64116665  0.76740167]
 [-0.76740167  0.64116665]]
Python में Unsupervised Learning

अभ्यास करते हैं!

Python में Unsupervised Learning

Preparing Video For Download...