इस प्रोजेक्ट के बारे में
UMAP (Uniform Manifold Approximation and Projection) विज़ुअलाइज़ेशन और सामान्य गैर-रैखिक एम्बेडिंग के लिए एक आयाम कमी तकनीक है, जिसे पायथन पैकेज umap-learn के रूप में लागू किया गया है। इसे scikit-learn ट्रांसफॉर्मर की तरह काम करने के लिए डिज़ाइन किया गया है, इसलिए इसे मौजूदा पाइपलाइनों में t-SNE के ड्रॉप-इन विकल्प के रूप में उपयोग किया जा सकता है।
यह विधि तीन धारणाओं पर आधारित है: डेटा एक रीमैनियन मैनिफोल्ड पर समान रूप से वितरित है, रीमैनियन मीट्रिक स्थानीय रूप से स्थिर है, और मैनिफोल्ड स्थानीय रूप से जुड़ा हुआ है। इन धारणाओं का उपयोग एक फ़ज़ी टोपोलॉजिकल प्रतिनिधित्व बनाने के लिए किया जाता है, और एम्बेडिंग को निकटतम समकक्ष संरचना वाले निम्न-आयामी प्रक्षेपण की खोज करके पाया जाता है। गणित का वर्णन ArXiv पेपर 1802.03426 में किया गया है, और व्यापक परिचय Nature Reviews Methods Primers लेख में दिया गया है।
इंस्टॉलेशन conda-forge (conda install -c conda-forge umap-learn) या PyPI (pip install umap-learn) के माध्यम से उपलब्ध है। यह scikit-learn, numpy, scipy, numba, tqdm, और pynndescent पर निर्भर करता है। वैकल्पिक अतिरिक्त सुविधाओं में प्लॉटिंग (matplotlib, datashader, holoviews), Parametric UMAP (TensorFlow), और x86 पर tbb CPU अनुकूलन शामिल हैं।
बुनियादी उपयोग scikit-learn की तरह ही है:
import umap
from sklearn.datasets import load_digits
digits = load_digits()
embedding = umap.UMAP().fit_transform(digits.data)
मुख्य पैरामीटर में n_neighbors शामिल है, जो नियंत्रित करता है कि स्थानीय बनाम वैश्विक संरचना कितनी संरक्षित रहती है (सामान्यतः 5-50, 10-15 एक उचित डिफ़ॉल्ट), min_dist, जो नियंत्रित करता है कि बिंदु कितने कसकर पैक किए जाते हैं (0.001-0.5, 0.1 एक उचित डिफ़ॉल्ट), और metric, जो इनपुट स्पेस में दूरी फ़ंक्शन का चयन करता है। स्पार्स मैट्रिक्स इनपुट समर्थित है।
प्रलेखित लाभों में बड़े और उच्च-आयामी डेटासेट पर गति, सामान्य प्रीप्रोसेसिंग के लिए एम्बेडिंग आयाम में स्केलिंग, कुछ वैश्विक संरचना का संरक्षण, cosine और correlation जैसी गैर-मीट्रिक दूरियों के लिए समर्थन, transform के माध्यम से मौजूदा एम्बेडिंग में नए बिंदु जोड़ने की क्षमता, और y के रूप में लेबल पास करके पर्यवेक्षित या अर्ध-पर्यवेक्षित कमी शामिल हैं। प्रायोगिक सुविधाओं में inverse transform, अयूक्लिडियन एम्बेडिंग जैसे hyperbolic एम्बेडिंग, अनिश्चितता के साथ एम्बेडिंग, और प्रारंभिक dataframe समर्थन शामिल हैं।
पैकेज densMAP भी प्रदान करता है, जिसे densmap=True के साथ सक्षम किया जाता है, जो स्थानीय घनत्व जानकारी को संरक्षित करने के लिए UMAP को बढ़ाता है। densMAP dens_frac, dens_lambda, dens_var_shift, और output_dens जैसे पैरामीटर जोड़ता है, और बड़े n_neighbors मानों (जैसे 30) की सिफारिश करता है। Parametric UMAP एक न्यूरल नेटवर्क को UMAP-आधारित रूपांतरण सीखने के लिए प्रशिक्षित करता है, जो अदृश्य डेटा पर तेज़ अनुमान, अधिक मजबूत inverse transforms, autoencoder वेरिएंट, और अर्ध-पर्यवेक्षित वर्गीकरण का समर्थन करता है। एक umap.plot उपपैकेज hover के साथ बुनियादी प्लॉटिंग प्रदान करता है।
GPU त्वरण के लिए, README torchdr की ओर इशारा करता है, जो PyTorch-आधारित कार्यान्वयन है जो GPU पर kNN गणना, affinity निर्माण, और एम्बेडिंग अनुकूलन को तेज़ करता है।
दस्तावेज़ीकरण Read the Docs पर होस्ट किया गया है, जिसमें एक FAQ भी शामिल है। परियोजना 3-clause BSD लाइसेंस के अंतर्गत है और योगदान का स्वागत करती है। README उपयोगकर्ताओं से JOSS सॉफ़्टवेयर पेपर, ArXiv पेपर, और जहाँ लागू हो वहाँ densMAP, Parametric UMAP, और Nature Primer संदर्भों को उद्धृत करने के लिए कहता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.