NMF व्याख्यात्मक भाग सीखता है

Python में Unsupervised Learning

Benjamin Wilson

Director of Research at lateral.io

उदाहरण: NMF व्याख्यात्मक भाग सीखता है

  • शब्द-आवृत्ति ऐरे आर्टिकल्स (tf-idf)
  • 20,000 वैज्ञानिक आर्टिकल्स (पंक्तियाँ)
  • 800 शब्द (कॉलम)

आर्टिकल्स वर्ड फ्रीक्वेंसी ऐरे

Python में Unsupervised Learning

आर्टिकल्स पर NMF लागू करना

print(articles.shape)
(20000, 800)
from sklearn.decomposition import NMF
nmf = NMF(n_components=10)
nmf.fit(articles)
NMF(n_components=10)
print(nmf.components_.shape)
(10, 800)
Python में Unsupervised Learning

NMF कंपोनेंट्स टॉपिक्स होते हैं

 

nmf.components_

Python में Unsupervised Learning

NMF कंपोनेंट्स टॉपिक्स होते हैं

 

nmf.components_ की एक पंक्ति चुनी गई है और हर शब्द के लिए बार प्लॉट, जहाँ ऊँचाई tfidf दर्शाती है

Python में Unsupervised Learning

NMF कंपोनेंट्स टॉपिक्स होते हैं

 

शीर्ष शब्द और मान वाला बॉक्स: species 2.95, plant 1.05, plants 0.78, आदि.

Python में Unsupervised Learning

NMF कंपोनेंट्स टॉपिक्स होते हैं

 

nmf.components_ की अलग पंक्ति से शीर्ष शब्दों वाला नया बॉक्स: university 3.57, prof 1.19, college 0.88, आदि

Python में Unsupervised Learning

NMF कंपोनेंट्स

  • दस्तावेज़ों के लिए:
    • NMF कंपोनेंट्स टॉपिक्स दर्शाते हैं
    • NMF फीचर्स टॉपिक्स को मिलाकर दस्तावेज़ बनाते हैं
  • इमेज के लिए, NMF कंपोनेंट्स इमेज के पार्ट्स होते हैं

 

3 धारियों वाला बॉक्स लगभग बराबर है 0.98 गुणा एक धारी वाले बॉक्स के, प्लस 0.91 गुणा दूसरी धारी वाले बॉक्स के, प्लस 0.95 गुणा तीसरी धारी वाले बॉक्स के

Python में Unsupervised Learning

ग्रेस्केल इमेजेस

  • "Grayscale" इमेज = कोई रंग नहीं, सिर्फ ग्रे के शेड्स
  • पिक्सेल की ब्राइटनेस नापें
  • 0 और 1 के बीच वैल्यू से दर्शाएँ (0 काला)
  • 2D ऐरे में कन्वर्ट करें

2 बाय 3 पिक्सेल का आयत, सफेद/काले/ग्रे के अलग स्तरों के साथ

Python में Unsupervised Learning

ग्रेस्केल इमेज उदाहरण

  • चाँद की 8x8 ग्रेस्केल इमेज, एक ऐरे के रूप में लिखी हुई

 

चाँद का पिक्सेलेटेड चित्र, उसी डाइमेंशन वाले 0 से 1 के बीच नंबर रखने वाले ऐरे की ओर तीर

Python में Unsupervised Learning

फ्लैट ऐरे के रूप में ग्रेस्केल इमेजेस

  • एंट्रीज़ को क्रमांकित करें
  • पंक्ति-दर-पंक्ति
  • बाएँ से दाएँ, ऊपर से नीचे

2 बाय 3 पिक्सेल बॉक्स जो नंबरों वाले ऐरे की ओर इशारा करता है

Python में Unsupervised Learning

फ्लैट ऐरे के रूप में ग्रेस्केल इमेजेस

  • एंट्रीज़ को क्रमांकित करें
  • पंक्ति-दर-पंक्ति
  • बाएँ से दाएँ, ऊपर से नीचे

2 बाय 3 पिक्सेल बॉक्स, 2 बाय 3 नंबरों वाले ऐरे की ओर, जो 1 बाय 6 नंबरों वाले ऐरे की ओर इशारा करता है

Python में Unsupervised Learning

इमेजेस के कलेक्शन को एन्कोड करना

  • समान आकार की इमेजेस का कलेक्शन
  • 2D ऐरे के रूप में एन्कोड करें
  • हर पंक्ति एक इमेज को दर्शाती है
  • हर कॉलम एक पिक्सेल को दर्शाता है
  • ... NMF लगा सकते हैं!

nmf.components_ की एक पंक्ति जो 2x3 पिक्सेल इमेज दर्शाती है

Python में Unsupervised Learning

सैंपल्स को विज़ुअलाइज़ करना

print(sample)
[ 0.   1.   0.5  1.   0.   1. ]
bitmap = sample.reshape((2, 3))
print(bitmap)
[[ 0.   1.   0.5]
 [ 1.   0.   1. ]]
from matplotlib import pyplot as plt
plt.imshow(bitmap, cmap='gray', interpolation='nearest')
plt.show()
Python में Unsupervised Learning

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

Python में Unsupervised Learning

Preparing Video For Download...