smile——Java机器学习引擎
资源
https://haifengl.github.io/
https://github.com/haifengl/smile
介绍
Smile(统计机器智能和学习引擎)是一个基于Java和Scala的快速、全面的机器学习、NLP、线性代数、图形、插值和可视化系统。
凭借先进的数据结构和算法,Smile提供了最先进的性能。Smile有很好的文档记录,请查看项目网站以获取编程指南和更多信息。
Smile涵盖了机器学习的各个方面,包括分类、回归、聚类、关联规则挖掘、特征选择、流形学习、多维缩放、遗传算法、缺失值插补、高效最近邻搜索等。
Smile实现了以下主要的机器学习算法:
- 分类:支持向量机、决策树、AdaBoost、梯度提升、随机森林、逻辑回归、神经网络、RBF网络、最大熵分类器、KNN、朴素贝叶斯、Fisher/线性/二次/正则判别分析。
- 回归:支持向量回归、高斯过程、回归树、梯度提升、随机森林、RBF网络、OLS、套索、弹性网络、岭回归。
- 特征选择:基于遗传算法的特征选择,基于集成学习的特征选择、树形图、信噪比和平方比。
- 聚类:BIRCH、CLARANS、DBSCAN、DENCLUE、确定性退火、K-均值、X-均值、G-均值、神经气体、生长神经气体、层次聚类、顺序信息瓶颈、自组织映射、光谱聚类、最小熵聚类。
- 关联规则和频繁项集挖掘:FP增长挖掘算法。
- 流形学习:IsoMap、LLE、拉普拉斯特征映射、t-SNE、UMAP、PCA、核PCA、概率PCA、GHA、随机投影、ICA。
- 多维标度:经典MDS、等渗MDS和Sammon映射。
- 最近邻搜索:BK树、覆盖树、KD树、SimHash、LSH。
- 序列学习:隐马尔可夫模型,条件随机场。
- 自然语言处理:分句器和标记器、双元统计测试、短语提取器、关键词提取器、词干分析器、词性标注、相关性排序
使用(Java等集成)
maven引入
<dependency>
<groupId>com.github.haifengl</groupId>
<artifactId>smile-core</artifactId>
<version>2.6.0</version>
</dependency>
Shell使用
模型序列化
大多数模型支持Java可序列化接口(所有分类器都支持可序列化接口),因此您可以在Spark中使用它们。
对于在非Java代码中读/写模型,我们建议使用XStream以串行化训练的模型。XStream是一个简单的库,用于将对象序列化为XML并再次序列化。XStream易于使用,不需要映射(实际上不需要修改对象)。Protostuff是一个很好的替代方案,它支持向前向后兼容性(模式演化)和验证。除了XML之外,Protostuff还支持许多其他格式,如JSON、YAML、protobuf等。
可视化
Smile提供了一个基于Swing的数据可视化库SmilePlot,它提供散点图、线图、阶梯图、条形图、方框图、直方图、3D直方图、树状图、热图、hexmap、QQ图、等高线图、曲面和线框。
需要引入库
<dependency>
<groupId>com.github.haifengl</groupId>
<artifactId>smile-plot</artifactId>
<version>2.6.0</version>
</dependency>
Smile还支持声明方式的数据可视化。使用mile.plot.vega软件包,我们可以创建一个规范,将可视化描述为从数据到图形标记(如点或条)属性的映射。
该规范基于Vega-Lite。Vega-Lite编译器自动生成可视化组件,包括轴、图例和比例。然后,它根据一组精心设计的规则确定这些组件的属性。
示例


smile——Java机器学习引擎的更多相关文章
- java机器学习工具包
下面是25个Java机器学习的工具&&库列表: 1. Weka 是一个数据挖掘任务机器学习算法的集合.这些算法可以直接应用于数据集或者在你自己的Java代码中调用.Weka 包含 数据 ...
- 25个Java机器学习工具和库
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...
- 25个Java机器学习工具&库--转载
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...
- 转:25个Java机器学习工具和库
转自:http://www.cnblogs.com/data2value/p/5419864.html 本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习 ...
- java25个Java机器学习工具&库
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...
- jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性
新一代 Java 模板引擎,具有高性能和高扩展性. <!-- Jetbrick Template Engineer --> <dependency> <groupId&g ...
- Java 模板引擎 jetbrick-template
jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...
- Java模板引擎 HTTL
新一代java模板引擎典范 Beetl http://www.oschina.net/p/httl HTTL(Hyper-Text Template Language)是一个高性能的开源JAVA模板引 ...
- httl开源JAVA模板引擎,动态HTML页面输出
HTTL(Hyper-Text Template Language)是一个适用于HTML输出的开源JAVA模板引擎,适用于动态HTML页面输出,可用于替代JSP页面,它的指令类似于Velocity. ...
随机推荐
- java编程用大小写字母及数字输出五位数验证码
package day08; import java.util.Random;//导入util下的Random包 public class Yanzhengma { public static voi ...
- node zlib压缩模块了解一下
压缩: 从index.html压缩成index.html.gz const zlib = require('zlib'); const gzip = zlib.createGzip();const f ...
- 缤纷多彩的WPF样式框架,开源项目
下面介绍的四种主流样式框架(最近项目需要,所以了解了一些),在Nuget及Github均可以找到~ 首推样式框架MahApp.Metro 再推样式框架ModernUI 三推样式框架MaterialDe ...
- NC16692 [NOIP2001]求先序排列
NC16692 [NOIP2001]求先序排列 题目 题目描述 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度 ≤ 8). 输入描述 2行,均为大写字母组成的 ...
- 动画 ---Animejs 简单使用与源码解析
Anime是什么 Anime有什么用 Anime是作何做的 requireAnimationFrame() engine(){ // 处理让多个帧运动起来 play() step()} ani ...
- docker数据卷技术
数据卷技术 数据卷手动挂载 数据卷容器 part1:数据卷挂载方式 数据卷手动挂载 -v 主机目录:容器目录 #核心参数 #示例 docker run -it --name=centos_test - ...
- 如何使用API接口批量查询图书信息?
之前小编讲过在Excel表格中根据ISBN查询图书信息可以使用我们的图书查询公式,但偶然间发现少部分书籍由于年份久远导致查不出来,今天小编就教给大家另一种查询图书信息的方式,即通过API接口返回的JS ...
- Elasticsearch的cmd窗口乱码问题(windows)
elasticsearch 7.6.0 windows版日志乱码问题解决 修改jvm.options,如何重启es即可 新增 -Dfile.encoding=GBK
- Dubbo源码(一) - SPI使用
为什么学SPI Dubbo 的可扩展性是基于 SPI 去实现的,而且Dubbo所有的组件都是通过 SPI 机制加载. 什么是SPI SPI 全称为 (Service Provider Interfac ...
- Nginx 的基本概念
Nginx 简介 什么是 Nginx Nginx 是一个高性能的 HTTP 和 反向代理 web服务器 占用内存少,并发能力强,高性能,热部署 但不支持 Java,Java 得配合 tomcat 使用 ...