介绍

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机器学习引擎相关推荐

  1. 京东智能供应链决策引擎全面开放;LinkedIn开源Dagli,发布Java机器学习函数库...

    开发者社区技术周刊又和大家见面了,萌妹子主播为您带来最新一期"开发者技术联播".让我们一起听听,过去一周有哪些值得我们开发者关注的重要新闻吧. 京东智能供应链决策引擎全面开放 Li ...

  2. 25个Java机器学习工具库

    本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...

  3. 25个Java机器学习工具库--转载

    本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...

  4. 25 个 Java 机器学习工具和库

    本列表总结了25个Java机器学习工具&库: Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预处理. ...

  5. Mahout(机器学习引擎)

    Mahout(机器学习引擎) Mahout起源于2008年,最初是ApacheLucent的子项目,它在极短的时间内取得了长足的发展,现在是Apache的顶级项目.Mahout的主要目标是创建一些可扩 ...

  6. 游戏开发--开源软件7--xith3D(java 3D引擎)

    2019独角兽企业重金招聘Python工程师标准>>> Xith3D是高性能的Java 3D引擎,主要面向3D游戏,数据可视化,三维场景原型等. 最突出的特点是基于scenegrap ...

  7. Java机器学习库ML之六关于模型迭代训练的思考

    我遇到的场景是:样本集有5000万条,接近5个G,那么这样的样本集一次导入训练,我放着一天一夜都没跑出结果,机器性能还特别好,是64位linux有128G内存. 针对这样的情况,我想到的是两种思路: ...

  8. Java机器学习库ML之一Dataset和Instance

    Java机器学习库ML官网:http://java-ml.sourceforge.net/ 对于一个机器学习库来说,最基础就是数据处理能力,ml库给了dataset和instance两个类,datas ...

  9. java 模板引擎_极简 Spring Boot 整合 Thymeleaf 页面模板

    点击"牧码小子"关注,和众多大牛一起成长! 关注后,后台回复 java ,领取松哥为你精心准备的技术干货! 虽然现在慢慢在流行前后端分离开发,但是据松哥所了解到的,还是有一些公司在 ...

  10. java 脚本引擎执行javascript脚本

    java脚本引擎是从JDK6.0之后添加的新功能,语法使用Rhino. public class ScriptTest {public static void main(String args[]) ...

最新文章

  1. 使用TESSERACT来识别字符
  2. 安装lua及问题解决
  3. python自学路线-各个阶段的python学习路线?
  4. 【量化投资】策略四(聚宽)
  5. 用神经网络做分子模型是不是扯淡,f2,cl2,br2分子模型
  6. js小案例:控制电灯开关
  7. Java实现K-means
  8. rabbitmq订单模块_RabbitMQ播放模块! 构架
  9. 一个有关抽奖的专题项目
  10. 微信小程序 页面如何自动滚动到底部
  11. PYTHON 笔记:函数的定义和调用
  12. mysql用utf-8_切记:永远不要在MySQL中使用UTF-8
  13. Linux环境下编译运行大型C语言项目
  14. 谈谈如何提升工作效率,需要从这4方面入手!
  15. 【GoCN酷Go推荐】protobuf生成Go代码插件gogo/protobuf
  16. SQL Server解决18456错误方案
  17. 关于Android中RSA数字签名的理解及使用
  18. 三菱编程软件GX Works2
  19. php基本变量,PHP-语法及变量基本操作
  20. nicetool好工具_外贸精英提高工作效率的8个黑科技工具

热门文章

  1. 文献检索是利用计算机对文献,计算机文献检索方向论文选题 计算机文献检索论文标题怎么定...
  2. Qt编写地图综合应用30-世界地图
  3. 使用注册表屏蔽任意按键或改键
  4. 计算机网络怎么算默认网关,ip地址子网掩码计算器_默认网关怎么计算_ip 掩码 网关的关系(2)...
  5. WPF界面设计—撸大师
  6. Windows环境下Redis安装与配置的两种方式
  7. Vue 下载本地静态资源static文件夹
  8. QTTabBar我装好啦!
  9. 如何用Easy CHM制作CHM格式电子书(帮助文档)
  10. PYTHON Image Module中Pix[x,y]详解