[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4310":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":44,"readmeContent":45,"aiSummary":46,"trendingCount":15,"starSnapshotCount":15,"syncStatus":47,"lastSyncTime":48,"discoverSource":49},4310,"smile","haifengl\u002Fsmile","haifengl","Statistical Machine Intelligence & Learning Engine","https:\u002F\u002Fhaifengl.github.io",null,"Java",6387,1149,256,0,7,23,40.18,"Other",false,"master",true,[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"classification","clustering","computer-algebra-system","computer-vision","data-science","dataframe","deep-learning","genetic-algorithm","interpolation","linear-algebra","llm","machine-learning","manifold-learning","multidimensional-scaling","nearest-neighbor-search","nlp","regression","statistics","visualization","wavelet","2026-06-12 02:01:01","# Statistical Machine Intelligence & Learning Engine \u003Cimg align=\"left\" width=\"40\" src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fsmile.jpg\" alt=\"SMILE\">\n[![Maven Central](https:\u002F\u002Fimg.shields.io\u002Fmaven-central\u002Fv\u002Fcom.github.haifengl\u002Fsmile-core)](https:\u002F\u002Fcentral.sonatype.com\u002Fartifact\u002Fcom.github.haifengl\u002Fsmile-core)\n[![CI](https:\u002F\u002Fgithub.com\u002Fhaifengl\u002Fsmile\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fhaifengl\u002Fsmile\u002Factions\u002Fworkflows\u002Fci.yml)\n\nSMILE (Statistical Machine Intelligence & Learning Engine) is a comprehensive,\nhigh-performance machine learning framework for the JVM. SMILE v5+ requires\n**Java 25**; v4.x requires Java 21; all previous versions require Java 8.\nSMILE also provides idiomatic APIs for **Scala** and **Kotlin**.\nWith advanced data structures and algorithms, SMILE delivers state-of-the-art\nperformance across every aspect of machine learning.\n\n---\n\n## Table of Contents\n\n1. [Features](#features)\n2. [Module Map](#module-map)\n3. [Installation](#installation)\n   - [Maven](#maven)\n   - [SBT (Scala)](#sbt-scala)\n   - [Gradle (Kotlin)](#gradle-kotlin)\n   - [Native Libraries (BLAS \u002F LAPACK)](#native-libraries-blas--lapack)\n4. [Quick Start](#quick-start)\n5. [SMILE Studio & Shell](#smile-studio--shell)\n6. [Model Serialization](#model-serialization)\n7. [Visualization](#visualization)\n8. [License](#license)\n9. [Issues & Discussions](#issues--discussions)\n10. [Contributing](#contributing)\n11. [Maintainers](#maintainers)\n12. [Gallery](#gallery)\n\n---\n\n## Features\n\n| Area | Highlights |\n|---|---|\n| **LLM** | LLaMA-3 inference, tiktoken BPE tokenizer, OpenAI-compatible REST server, SSE chat streaming |\n| **Deep Learning** | LibTorch\u002FGPU backend, EfficientNet-V2 image classification, custom layer API |\n| **Classification** | SVM, Decision Trees, Random Forest, AdaBoost, Gradient Boosting, Logistic Regression, Neural Networks, RBF Networks, MaxEnt, KNN, Naïve Bayes, LDA\u002FQDA\u002FRDA |\n| **Regression** | SVR, Gaussian Process, Regression Trees, GBDT, Random Forest, RBF, OLS, LASSO, ElasticNet, Ridge |\n| **Clustering** | BIRCH, CLARANS, DBSCAN, DENCLUE, Deterministic Annealing, K-Means, X-Means, G-Means, Neural Gas, Growing Neural Gas, Hierarchical, SIB, SOM, Spectral, Min-Entropy |\n| **Manifold Learning** | IsoMap, LLE, Laplacian Eigenmap, t-SNE, UMAP, PCA, Kernel PCA, Probabilistic PCA, GHA, Random Projection, ICA |\n| **Feature Engineering** | Genetic Algorithm selection, Ensemble selection, TreeSHAP, SNR, Sum-Squares ratio, data transformations, formula API |\n| **NLP** | Sentence \u002F word tokenization, Bigram test, Phrase & Keyword extraction, Stemmer, POS tagging, Relevance ranking |\n| **Association Rules** | FP-growth frequent itemset mining |\n| **Sequence Learning** | Hidden Markov Model, Conditional Random Field |\n| **Nearest Neighbor** | BK-Tree, Cover Tree, KD-Tree, SimHash, LSH |\n| **Numerical Methods** | Linear algebra, numerical optimization (BFGS, L-BFGS), interpolation, wavelets, RBF, distributions, hypothesis tests |\n| **Visualization** | Swing plots (scatter, line, bar, box, histogram, surface, heatmap, contour, …) and declarative Vega-Lite charts |\n\n---\n\n## Module Map\n\nEach module has its own detailed user guide.  Click the **README** link for\nthe module overview, or drill into individual topic guides.\n\n### `base\u002F` — Foundation\n> Data structures, math, linear algebra, statistical utilities, I\u002FO\n\n| Document | Topics |\n|---|---|\n| [README](base\u002FREADME.md) | Module overview and dependency setup |\n| [DATA_FRAME.md](base\u002FDATA_FRAME.md) | DataFrame API — creation, selection, transformation |\n| [DATA_IO.md](base\u002FDATA_IO.md) | CSV, JSON, Parquet, Arrow, JDBC, Avro readers\u002Fwriters |\n| [DATA_TRANSFORMATION.md](base\u002FDATA_TRANSFORMATION.md) | Scalers, encoders, imputers, feature transforms |\n| [DATASET.md](base\u002FDATASET.md) | Built-in benchmark and real-world datasets |\n| [FORMULA.md](base\u002FFORMULA.md) | R-style formula language for model matrices |\n| [DISTRIBUTIONS.md](base\u002FDISTRIBUTIONS.md) | Probability distributions (Normal, Poisson, Beta, …) |\n| [HYPOTHESIS_TESTING.md](base\u002FHYPOTHESIS_TESTING.md) | t-test, chi-squared, ANOVA, KS-test, … |\n| [DISTANCES.md](base\u002FDISTANCES.md) | Euclidean, Mahalanobis, Hamming, edit distance, … |\n| [NEAREST_NEIGHBOR.md](base\u002FNEAREST_NEIGHBOR.md) | KD-Tree, Cover Tree, BK-Tree, LSH |\n| [KERNELS.md](base\u002FKERNELS.md) | Gaussian, polynomial, Laplacian, and other kernel functions |\n| [RBF.md](base\u002FRBF.md) | Radial basis function networks |\n| [INTERPOLATION.md](base\u002FINTERPOLATION.md) | Linear, cubic spline, bilinear, bicubic |\n| [GRAPH.md](base\u002FGRAPH.md) | Adjacency list\u002Fmatrix graph, BFS\u002FDFS, spanning trees |\n| [SORT.md](base\u002FSORT.md) | Quick sort, heap sort, counting sort, index sort |\n| [HASH.md](base\u002FHASH.md) | Locality-sensitive hashing, SimHash |\n| [RNG.md](base\u002FRNG.md) | Random number generators, sampling, permutations |\n| [BFGS.md](base\u002FBFGS.md) | L-BFGS and BFGS numerical optimizers |\n| [ICA.md](base\u002FICA.md) | Independent Component Analysis |\n| [TENSOR.md](base\u002FTENSOR.md) | N-dimensional array (CPU tensor without LibTorch) |\n| [WAVELET.md](base\u002FWAVELET.md) | DWT, CWT, and wavelet families |\n| [GAP.md](base\u002FGAP.md) | GAP statistic for optimal cluster count estimation |\n| [COMPRESSED_SENSING.md](base\u002FCOMPRESSED_SENSING.md) | Compressed sensing and basis pursuit |\n\n### `core\u002F` — Machine Learning Algorithms\n> Classification, regression, clustering, manifold learning, and more\n\n| Document | Topics |\n|---|---|\n| [README](core\u002FREADME.md) | Module overview |\n| [CLASSIFICATION.md](core\u002FCLASSIFICATION.md) | SVM, Random Forest, AdaBoost, GBDT, KNN, Naïve Bayes, LDA, … |\n| [REGRESSION.md](core\u002FREGRESSION.md) | SVR, Gaussian Process, LASSO, Ridge, ElasticNet, GBDT, … |\n| [CLUSTERING.md](core\u002FCLUSTERING.md) | K-Means, DBSCAN, BIRCH, SOM, Spectral Clustering, … |\n| [FEATURE_ENGINEERING.md](core\u002FFEATURE_ENGINEERING.md) | Feature selection, PCA, ICA, projection, encoding |\n| [MANIFOLD.md](core\u002FMANIFOLD.md) | t-SNE, UMAP, IsoMap, LLE, Laplacian Eigenmap |\n| [ANOMALY_DETECTION.md](core\u002FANOMALY_DETECTION.md) | IsolationForest, one-class SVM, local outlier factor |\n| [ASSOCIATION_RULE_MINING.md](core\u002FASSOCIATION_RULE_MINING.md) | FP-growth, association rules, frequent itemsets |\n| [SEQUENCE.md](core\u002FSEQUENCE.md) | HMM (Baum-Welch, Viterbi), CRF |\n| [TIME_SERIES.md](core\u002FTIME_SERIES.md) | ARIMA, box-plots, autocorrelation |\n| [REGRESSION.md](core\u002FREGRESSION.md) | Full regression API reference |\n| [TRAINING.md](core\u002FTRAINING.md) | Cross-validation, bootstrap, hyper-parameter search |\n| [VALIDATION.md](core\u002FVALIDATION.md) | Hold-out, k-fold, leave-one-out evaluation |\n| [VALIDATION_METRICS.md](core\u002FVALIDATION_METRICS.md) | Accuracy, AUC, F1, RMSE, MAE, confusion matrix |\n| [HYPER_PARAMETER_OPTIMIZATION.md](core\u002FHYPER_PARAMETER_OPTIMIZATION.md) | Grid search, random search, Bayesian optimization |\n| [VECTOR_QUANTIZATION.md](core\u002FVECTOR_QUANTIZATION.md) | LVQ, Neural Gas, SOM as vector quantizers |\n| [ONNX.md](core\u002FONNX.md) | Exporting and importing models via ONNX |\n\n### `deep\u002F` — Deep Learning & LLMs\n> LibTorch-backed GPU\u002FCPU tensor operations, neural network layers, LLaMA-3 inference, EfficientNet\n\n| Document | Topics |\n|---|---|\n| [README](deep\u002FREADME.md) | Full deep-learning & LLM user guide (tensors, layers, loss, optimizer, EfficientNet, LLaMA) |\n\nThe `deep\u002FREADME.md` covers:\n- **`smile.deep.tensor`** — Tensor factory, indexing, arithmetic, AutoScope memory management, dtype\u002Fdevice\n- **`smile.deep.layer`** — Linear, Conv2d, pooling, normalization (BN\u002FGN\u002FRMS), dropout, embedding, sequential blocks\n- **`smile.deep.activation`** — ReLU, GELU, SiLU, Tanh, Sigmoid, Softmax, GLU, HardShrink, …\n- **`smile.deep.Loss`** — MSE, cross-entropy, BCE, Huber, KL, hinge, and more\n- **`smile.deep.Optimizer`** — SGD, Adam, AdamW, RMSprop\n- **`smile.deep.Model`** — Abstract base class + training loop\n- **`smile.deep.metric`** — Accuracy, Precision, Recall, F1Score with macro\u002Fmicro\u002Fweighted averaging\n- **`smile.llm`** — `Message`, `Role`, `FinishReason`, `ChatCompletion` records; sinusoidal & RoPE positional encodings\n- **`smile.llm.tokenizer`** — `Tokenizer` interface, `Tiktoken` BPE implementation (LLaMA-3 compatible)\n- **`smile.llm.llama`** — Full LLaMA-3 stack: `Llama.build()`, `generate()`, `chat()`, streaming via `SubmissionPublisher`\n- **`smile.vision`** — `VisionModel`, `ImageDataset`, `EfficientNet.V2S\u002FM\u002FL()` pretrained models, ImageNet labels\n- **`smile.vision.transform`** — `Transform` interface, `ImageClassification` pipeline, resize\u002Fcrop\u002FtoTensor helpers\n\n### `nlp\u002F` — Natural Language Processing\n> Text normalization, tokenization, POS tagging, stemming, relevance ranking\n\n| Document | Topics |\n|---|---|\n| [README](nlp\u002FREADME.md) | Module overview |\n| [TOKENIZER.md](nlp\u002FTOKENIZER.md) | Sentence splitter, word tokenizer, regex tokenizer |\n| [POS.md](nlp\u002FPOS.md) | Part-of-speech tagging (Brill tagger, HMM tagger) |\n| [STEM.md](nlp\u002FSTEM.md) | Porter, Lancaster, Lovins stemmers; lemmatization |\n| [COLLOCATION.md](nlp\u002FCOLLOCATION.md) | Bigram\u002Ftrigram statistical tests, phrase extraction |\n| [RELEVANCE.md](nlp\u002FRELEVANCE.md) | TF-IDF, BM25, keyword extraction |\n| [TAXONOMY.md](nlp\u002FTAXONOMY.md) | WordNet integration, synsets, hypernyms |\n\n### `plot\u002F` — Data Visualization\n> Swing-based interactive plots and declarative Vega-Lite charts\n\n| Document | Topics |\n|---|---|\n| [README](plot\u002FREADME.md) | Swing plotting API — scatter, line, bar, box, histogram, heatmap, surface, contour, wireframe |\n| [VEGA.md](plot\u002FVEGA.md) | Declarative `smile.plot.vega` (Vega-Lite) — JSON spec generation, web\u002FJupyter rendering |\n\n### `serve\u002F` — Inference Server\n> Quarkus-based REST inference service with OpenAI-compatible API and SSE streaming\n\n| Document | Topics |\n|---|---|\n| [README](serve\u002FREADME.md) | Building and running the server, `\u002Fchat\u002Fcompletions` endpoint, SSE streaming, configuration |\n\n### `studio\u002F` — Interactive Shell & Desktop IDE\n> REPL \u002F notebook environment for Java, Scala, and Kotlin\n\n| Document                      | Topics |\n|-------------------------------|---|\n| [README.md](studio\u002FREADME.md) | Desktop Studio notebook UI, cell types, output rendering |\n| [CLI](studio\u002FCLI.md)    | CLI entry points (`smile`, `smile shell`, `smile scala`, `smile kotlin`, `smile server`) |\n\n### `scala\u002F` — Scala API\n> Idiomatic Scala shim — concise wrappers, symbolic operators, Scala collections integration\n\n| Document | Topics |\n|---|---|\n| [README](scala\u002FREADME.md) | API overview, `smile.classification`, `smile.regression`, `smile.clustering`, `smile.plot` in Scala |\n\n### `kotlin\u002F` — Kotlin API\n> Idiomatic Kotlin shim — extension functions, named parameters, builder DSLs\n\n| Document | Topics |\n|---|---|\n| [README](kotlin\u002FREADME.md) | API overview, extension functions, Kotlin-style builders |\n| [packages.md](kotlin\u002Fpackages.md) | Full package-by-package listing of all Kotlin extension functions |\n\n### `json\u002F` — JSON Library (Scala)\n> Lightweight zero-dependency JSON library for Scala with a clean DSL\n\n| Document | Topics |\n|---|---|\n| [README](json\u002FREADME.md) | Parsing, building, pattern matching, path navigation, serialization |\n\n### `spark\u002F` — Apache Spark Integration\n> Use SMILE models inside Spark ML pipelines\n\n| Document | Topics |\n|---|---|\n| [README](spark\u002FREADME.md) | `SmileTransformer`, `SmileClassifier`, `SmileRegressor`; training and scoring in Spark DataFrames |\n\n---\n\n## Installation\n\n### Maven\n\n```xml\n\u003C!-- Core ML algorithms -->\n\u003Cdependency>\n  \u003CgroupId>com.github.haifengl\u003C\u002FgroupId>\n  \u003CartifactId>smile-core\u003C\u002FartifactId>\n  \u003Cversion>6.1.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n\n\u003C!-- Deep learning + LLMs (requires LibTorch) -->\n\u003Cdependency>\n  \u003CgroupId>com.github.haifengl\u003C\u002FgroupId>\n  \u003CartifactId>smile-deep\u003C\u002FartifactId>\n  \u003Cversion>6.1.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n\n\u003C!-- Natural language processing -->\n\u003Cdependency>\n  \u003CgroupId>com.github.haifengl\u003C\u002FgroupId>\n  \u003CartifactId>smile-nlp\u003C\u002FartifactId>\n  \u003Cversion>6.1.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n\n\u003C!-- Data visualization -->\n\u003Cdependency>\n  \u003CgroupId>com.github.haifengl\u003C\u002FgroupId>\n  \u003CartifactId>smile-plot\u003C\u002FartifactId>\n  \u003Cversion>6.1.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n### SBT (Scala)\n\n```scala\nlibraryDependencies += \"com.github.haifengl\" %% \"smile-scala\" % \"6.1.0\"\n```\n\n### Gradle (Kotlin)\n\n```kotlin\ndependencies {\n    implementation(\"com.github.haifengl:smile-kotlin:6.1.0\")\n}\n```\n\n### Native Libraries (BLAS \u002F LAPACK)\n\nSeveral algorithms (manifold learning, Gaussian Process, MLP, some clustering)\nrequire BLAS and LAPACK.\n\n**Linux (Ubuntu \u002F Debian)**\n```shell\nsudo apt update\nsudo apt install libopenblas-dev libarpack2-dev\n```\n\n**macOS (Homebrew)**\n```shell\nbrew install arpack\n# If macOS SIP strips DYLD_LIBRARY_PATH, copy the dylib to your working dir:\ncp \u002Fopt\u002Fhomebrew\u002Flib\u002Flibarpack.dylib .\n```\n\n**Windows** — pre-built DLLs are included in the `bin\u002F` directory of the\n[release package](https:\u002F\u002Fgithub.com\u002Fhaifengl\u002Fsmile\u002Freleases).\nAdd that directory to `PATH`.\n\n**GPU (CUDA)** — make sure the LibTorch CUDA native libraries are on\n`java.library.path` and that your Bytedeco `pytorch` classifier matches\nyour CUDA version (e.g., `linux-x86_64-gpu-cuda12.4`).\n\n---\n\n## Quick Start\n\n```java\nimport smile.classification.RandomForest;\nimport smile.data.formula.Formula;\nimport smile.io.Read;\n\n\u002F\u002F Load data\nvar data = Read.csv(\"src\u002Ftest\u002Fresources\u002Firis.csv\");\n\n\u002F\u002F Train a random forest\nvar forest = RandomForest.fit(Formula.lhs(\"species\"), data);\n\n\u002F\u002F Predict\nint label = forest.predict(data.get(0));\nSystem.out.println(\"Predicted class: \" + label);\n```\n\nFor deep learning and LLM examples, see [deep\u002FREADME.md](deep\u002FREADME.md).\nFor visualization examples, see [plot\u002FREADME.md](plot\u002FREADME.md).\n\n---\n\n## SMILE Studio & Shell\n\nSMILE ships with an interactive desktop Studio (notebook-style) and a set of\nCLI shells.  See [studio\u002FREADME.md](studio\u002FREADME.md) for full documentation.\n\nDownload a pre-packaged release from the\n[releases page](https:\u002F\u002Fgithub.com\u002Fhaifengl\u002Fsmile\u002Freleases), then:\n\n```shell\ncd bin\npath\u002Fto\u002Fsmile\u002Fbin\u002Fsetup      # install required native dependencies\npath\u002Fto\u002Fsmile\u002Fbin\u002Fsmile      # launch SMILE Studio from your project directory\n```\n\nOther entry points:\n\n| Command         | Description |\n|-----------------|---|\n| `smile`         | Desktop notebook IDE |\n| `smile shell`   | Java REPL with all SMILE packages pre-imported |\n| `smile scala`   | Scala REPL |\n| `smile train`   | Train a supervised learning model     |\n| `smile predict` | Predict on a file using a saved model             |\n| `smile serve`   | Start the LLM inference server |\n\nTo increase the JVM heap:\n```shell\npath\u002Fto\u002Fsmile\u002Fbin\u002Fsmile -J-Xmx30G\n```\n\n---\n\n## Model Serialization\n\nMost SMILE models implement `java.io.Serializable`.  You can serialize a\ntrained model to disk and load it in a production environment or inside a\nSpark job:\n\n```java\n\u002F\u002F Save\ntry (var out = new ObjectOutputStream(new FileOutputStream(\"model.ser\"))) {\n    out.writeObject(forest);\n}\n\n\u002F\u002F Load\ntry (var in = new ObjectInputStream(new FileInputStream(\"model.ser\"))) {\n    var loaded = (RandomForest) in.readObject();\n}\n```\n\n---\n\n## Visualization\n\nSMILE provides two visualization layers:\n\n- **`smile.plot.swing`** — Swing-based interactive 2D\u002F3D plots.  See [plot\u002FREADME.md](plot\u002FREADME.md).\n- **`smile.plot.vega`** — Declarative Vega-Lite charts for browsers and Jupyter.  See [plot\u002FVEGA.md](plot\u002FVEGA.md).\n\n```xml\n\u003Cdependency>\n  \u003CgroupId>com.github.haifengl\u003C\u002FgroupId>\n  \u003CartifactId>smile-plot\u003C\u002FartifactId>\n  \u003Cversion>6.1.0\u003C\u002Fversion>\n\u003C\u002Fdependency>\n```\n\n---\n\n## License\n\nSMILE employs a dual license model designed to meet the development\nand distribution needs of both commercial distributors (OEMs, ISVs, VARs)\nand open source projects.  For details, see\n[LICENSE](https:\u002F\u002Fgithub.com\u002Fhaifengl\u002Fsmile\u002Fblob\u002Fmaster\u002FLICENSE).\nTo acquire a commercial license, contact **smile.sales@outlook.com**.\n\n---\n\n## Issues & Discussions\n\n| Channel | Purpose |\n|---|---|\n| [GitHub Discussions](https:\u002F\u002Fgithub.com\u002Fhaifengl\u002Fsmile\u002Fdiscussions) | Questions, ideas, show-and-tell |\n| [Stack Overflow `[smile]`](http:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Fsmile) | Technical Q&A |\n| [Issue Tracker](https:\u002F\u002Fgithub.com\u002Fhaifengl\u002Fsmile\u002Fissues\u002Fnew) | Bug reports and feature requests |\n| [Online Docs](https:\u002F\u002Fhaifengl.github.io\u002F) | Tutorials and programming guides |\n| [Java API](https:\u002F\u002Fhaifengl.github.io\u002Fapi\u002Fjava\u002Findex.html) · [Scala API](https:\u002F\u002Fhaifengl.github.io\u002Fapi\u002Fscala\u002Findex.html) · [Kotlin API](https:\u002F\u002Fhaifengl.github.io\u002Fapi\u002Fkotlin\u002Findex.html) · [Clojure API](https:\u002F\u002Fhaifengl.github.io\u002Fapi\u002Fclojure\u002Findex.html) | API Javadoc |\n\n---\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for build and test instructions.\n\n---\n\n## Maintainers\n\n- Haifeng Li ([@haifengl](https:\u002F\u002Fgithub.com\u002Fhaifengl))\n- Karl Li ([@kklioss](https:\u002F\u002Fgithub.com\u002Fkklioss))\n\n---\n\n## Gallery\n\u003Ctable class=\"center\" style=\"width:100%;\">\n  \u003Ctr>\n    \u003Ctd colspan=\"3\">\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fsplom.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fsplom.png\" alt=\"SPLOM\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Scatterplot Matrix\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fpca.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fpca.png\" alt=\"Scatter\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Scatter Plot\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fheart.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fheart.png\" alt=\"Heart\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Line Plot\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fsurface.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fsurface.png\" alt=\"Surface\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Surface Plot\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fbar.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fbar.png\" alt=\"Scatter\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Bar Plot\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fbox.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fbox.png\" alt=\"Box Plot\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Box Plot\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fhistogram2d.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fhistogram2d.png\" alt=\"Histogram\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Histogram Heatmap\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Frolling.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Frolling.png\" alt=\"Rolling\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Rolling Average\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fmap.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fmap.png\" alt=\"Map\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Geo Map\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fumap.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fumap.png\" alt=\"UMAP\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>UMAP\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Ftext.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Ftext.png\" alt=\"Text\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Text Plot\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fcontour.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fcontour.png\" alt=\"Contour\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Heatmap with Contour\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fhexmap.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fhexmap.png\" alt=\"Hexmap\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Hexmap\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fisomap.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fisomap.png\" alt=\"IsoMap\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>IsoMap\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fumap.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Flle.png\" alt=\"LLE\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>LLE\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-kpca.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-kpca-small.png\" alt=\"Kernel PCA\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Kernel PCA\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-ann.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-ann-small.png\" alt=\"Neural Network\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Neural Network\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-svm.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-svm-small.png\" alt=\"SVM\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>SVM\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-agglomerative-clustering.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-agglomerative-clustering-small.png\" alt=\"Hierarchical Clustering\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Hierarchical Clustering\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-som.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-som-small.png\" alt=\"SOM\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>SOM\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-dbscan.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-dbscan-small.png\" alt=\"DBSCAN\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>DBSCAN\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-neural-gas.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-neural-gas-small.png\" alt=\"Neural Gas\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Neural Gas\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-wavelet.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-wavelet-small.png\" alt=\"Wavelet\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Wavelet\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n    \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-mixture.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fgallery\u002Fsmile-demo-mixture-small.png\" alt=\"Mixture\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Exponential Family Mixture\u003C\u002Fh3>\u003C\u002Ffigcaption>\n    \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n      \u003Ctd>\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fteapot.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fteapot.png\" alt=\"Teapot\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Teapot Wireframe\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd colspan=\"3\">\n      \u003Cfigure>\n        \u003Ca href=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fgrid-interpolation2d.png\">\u003Cimg src=\"\u002Fwebsite\u002Fsrc\u002Fimages\u002Fgrid-interpolation2d.png\" alt=\"Interpolation\">\u003C\u002Fa>\n        \u003Cfigcaption style=\"text-align: center;\">\u003Ch3>Grid Interpolation\u003C\u002Fh3>\u003C\u002Ffigcaption>\n      \u003C\u002Ffigure>\n    \u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n","SMILE（Statistical Machine Intelligence & Learning Engine）是一个面向JVM的高性能机器学习框架。它支持多种机器学习算法，包括分类、回归、聚类、深度学习等，并且提供了先进的数据结构与算法以确保最佳性能。SMILE还为Scala和Kotlin提供了原生API支持。该框架适合需要在Java环境中进行数据分析、建模以及预测的应用场景，如自然语言处理、图像识别等领域。此外，SMILE拥有强大的可视化工具，能够帮助用户更好地理解和解释模型结果。",2,"2026-06-11 02:59:33","top_language"]