इस प्रोजेक्ट के बारे में

SMILE (सांख्यिकीय मशीन इंटेलिजेंस और लर्निंग इंजन) JVM के लिए एक मशीन लर्निंग फ्रेमवर्क है, जिसमें Java, Scala और Kotlin के लिए स्वाभाविक API हैं। संस्करण 5+ के लिए Java 25 आवश्यक है, v4.x के लिए Java 21 आवश्यक है, और पुराने संस्करणों के लिए Java 8 आवश्यक है। यह मॉड्यूल में व्यवस्थित है: base (डेटा संरचनाएं, गणित, रैखिक बीजगणित, सांख्यिकी, I/O), core (ML एल्गोरिदम), deep (डीप लर्निंग और LLM), nlp, plot, serve, studio, scala, kotlin, json और spark। मुख्य क्षमताओं में वर्गीकरण (SVM, निर्णय वृक्ष, रैंडम फॉरेस्ट, AdaBoost, ग्रेडिएंट बूस्टिंग, लॉजिस्टिक रिग्रेशन, न्यूरल नेटवर्क, RBF नेटवर्क, MaxEnt, KNN, नाइव बेयस, LDA/QDA/RDA), रिग्रेशन (SVR, गाऊसी प्रक्रिया, रिग्रेशन वृक्ष, GBDT, रैंडम फॉरेस्ट, RBF, OLS, LASSO, ElasticNet, Ridge), क्लस्टरिंग (BIRCH, CLARANS, DBSCAN, DENCLUE, डिटर्मिनिस्टिक एनीलिंग, K-Means, X-Means, G-Means, न्यूरल गैस, पदानुक्रमित, SOM, स्पेक्ट्रल, मिन-एंट्रॉपी), मैनिफोल्ड लर्निंग (IsoMap, LLE, लाप्लासियन आइगेनमैप, t-SNE, UMAP, PCA, कर्नेल PCA, रैंडम प्रोजेक्शन, ICA), फीचर इंजीनियरिंग (जेनेटिक एल्गोरिदम चयन, एन्सेम्बल चयन, TreeSHAP, ट्रांसफॉर्मेशन, फॉर्मूला API), NLP (टोकनाइजेशन, बाइग्राम परीक्षण, वाक्यांश और कीवर्ड निष्कर्षण, स्टेमिंग, POS टैगिंग, प्रासंगिकता रैंकिंग), FP-growth के माध्यम से एसोसिएशन नियम खनन, अनुक्रम सीखना (HMM, CRF), निकटतम-पड़ोसी संरचनाएं (BK-tree, कवर ट्री, KD-tree, SimHash, LSH), संख्यात्मक विधियां (रैखिक बीजगणित, BFGS/L-BFGS अनुकूलन, इंटरपोलेशन, वेवलेट, वितरण, परिकल्पना परीक्षण), और Swing प्लॉट और डिक्लेरेटिव Vega-Lite चार्ट के माध्यम से विज़ुअलाइज़ेशन शामिल हैं। डीप मॉड्यूल LibTorch-समर्थित टेंसर ऑपरेशन, न्यूरल नेटवर्क परतें, लॉस, ऑप्टिमाइज़र, EfficientNet-V2 छवि वर्गीकरण, tiktoken BPE टोकनाइज़र के साथ LLaMA-3 इन्फ्रेंस, और GenAI चैट मॉडल सहित ONNX रनटाइम इन्फ्रेंस जोड़ता है। SMILE Serve एक Quarkus-आधारित इन्फ्रेंस सर्वर है जो क्लासिक ML मॉडल, ONNX मॉडल और SSE स्ट्रीमिंग के साथ OpenAI-संगत चैट पूर्णताएं उजागर करता है, साथ ही एक बंडल React वेब UI भी। SMILE Studio डेटा साइंस के लिए एक एजेंटिक IDE है जिसमें smile, smile shell, smile scala, smile train, smile predict और smile serve जैसे CLI प्रवेश बिंदु हैं। मॉडल आम तौर पर सीरियलाइज़ेबल होते हैं, और एक Spark एकीकरण SMILE मॉडल को Spark ML पाइपलाइनों के भीतर उपयोग करने की अनुमति देता है। इंस्टॉलेशन Maven, SBT और Gradle के माध्यम से उपलब्ध है, कुछ एल्गोरिदम के लिए नेटिव BLAS/LAPACK लाइब्रेरी की आवश्यकता होती है।