smile

Java开发者一站式机器学习工具箱,高效构建智能应用

Smile是一个基于Java的统计机器智能与学习引擎,专注于提供全面、高效的机器学习与数据挖掘工具。它解决了Java生态中缺乏功能完整且性能优异的ML库的问题,核心能力包括丰富的机器学习算法(如分类、回归、聚类、关联规则)、自然语言处理、高维数据可视化、线性代数与数值计算基础。Smile设计上强调易用性与性能,提供简洁的API,支持从数据预处理到模型评估的完整流程,并集成了与Hadoop、Spark等大数据框架的交互能力,适合在Java/ JVM环境中构建生产级智能应用。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 6415
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队haifengl
所属国家
定价模式free
价格说明开源项目,无官网,需自行部署,完全免费。
访问状态
是否开源是
开源协议NOASSERTION
主要语言Java
技术栈/模型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
GitHub 星标★ 6415
30天Star增速
HF 下载量
上线时间2014-11-20 00:00:00
最近更新2026-09-21 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:进阶 约 10 分钟 部署方式:库/依赖 6 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Java 25(SMILE v5+)
  • Java 21(SMILE v4.x)或 Java 8(更早版本)
  • 构建工具之一:Maven、SBT(Scala)或 Gradle(Kotlin)
  • 可选:BLAS / LAPACK 原生库

安装与启动步骤

  1. 1确认 Java 版本

    SMILE v5+ 要求 Java 25,v4.x 要求 Java 21,更早版本要求 Java 8,先确认本机 JDK 版本与所选 SMILE 版本匹配。

    java -version
  2. 2获取源码

    从 GitHub 克隆 SMILE 仓库到本地,便于查看示例代码与测试数据文件。

    git clone https://github.com/haifengl/smile.git
  3. 3选择依赖方式

    README 的 Installation 章节列出了 Maven、SBT(Scala)、Gradle(Kotlin)三种引入方式,但未给出具体依赖坐标,请按官网指引填写。

  4. 4配置原生加速库

    README 将 Native Libraries(BLAS / LAPACK)列为可选安装项,用于加速线性代数运算,具体安装步骤需参考官网文档。

  5. 5运行快速开始示例

    在项目中引入依赖后,运行 README 的 Java 示例:读取 iris.csv、用 RandomForest 训练并预测第一条样本类别。

  6. 6探索 Studio 与扩展示例

    SMILE Studio 是面向数据科学的智能体 IDE,支持 Python/Java/Scala;深度学习与可视化示例分别见 deep/README.md 与 plot/README.md。

如何确认成功

运行 Quick Start 示例,能读取 iris.csv 完成随机森林训练,并输出预测类别即为成功。

常见问题

Q:应该用哪个 Java 版本?

A:SMILE v5+ 需要 Java 25,v4.x 需要 Java 21,在此之前的所有版本需要 Java 8,版本不匹配会导致编译或运行失败。

Q:Maven / SBT / Gradle 的依赖坐标是什么?

A:README 的 Installation 章节只列出了这三种方式,未给出具体坐标与版本号,请到官网 haifengl.github.io 查询对应版本的依赖写法。

Q:一定要安装 BLAS / LAPACK 吗?

A:README 把 Native Libraries (BLAS / LAPACK) 作为安装章节的一项列出,属于可选的原生加速部分,具体安装方式见官网说明。

Q:SMILE Studio 是什么、怎么开始?

A:它是使用 Python、Java 或 Scala 做数据科学的智能体 IDE,可按 studio/README.md 的说明快速建立第一个项目并用自然语言交互。

注意事项

  • README 的 Installation 章节只有标题,没有具体依赖坐标和命令,实际集成需查阅官网。
  • Quick Start 示例读取的是 src/test/resources/iris.csv,需在仓库源码目录下运行才能找到该文件。
  • 除 Java 外,SMILE 还提供 Scala 和 Kotlin 的惯用 API,可按团队技术栈选择。
  • SMILE 支持与 Hadoop、Spark 等大数据框架交互,适用于 JVM 上的生产级应用。

核心亮点

  • 算法覆盖全面,包含分类、回归、聚类、关联规则、NLP等主流ML算法
  • 提供高性能数值计算与线性代数底层,支持大规模数据高效处理
  • API设计简洁直观,与Java生态无缝集成,降低学习成本

不足之处

  • 文档相对简略,部分高级用法需查阅源码或社区讨论
  • 社区活跃度一般,更新频率较慢,新算法跟进不迅速

适用场景

  • 在Java后端服务中嵌入机器学习模型,如推荐系统、风控引擎
  • 基于JVM的大数据平台(如Spark、Flink)中执行数据挖掘任务
  • 科研或教育场景中快速原型验证统计与ML算法

替代项目

Weka、Java-ML、Apache Mahout

项目介绍

smile 是开发框架领域的开源项目,由 haifengl 开发,2014 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(6,415)位列前 7%,在开发框架分类的 803 个项目里位列前 8%。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-21。无官网,需自行部署,完全免费。

它主要面向的使用场景是:在Java后端服务中嵌入机器学习模型,如推荐系统、风控引擎。同类可对比的替代方案包括 Weka、Java-ML、Apache Mahout。

上一篇:TypeChat

下一篇:fragments

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146874 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166529 2026-08-09
pi 开源

一套 TypeScript 工具包,快速搭出能写代码的 AI agent

AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI

★ 108504 2026-09-12