「Smile」一下,轻松用Java玩转机器学习

2020 年 8 月 31 日 量子位
金磊 发自 凹非寺
量子位 报道 | 公众号 QbitAI

Smile,如其名,会是一个让你「笑着用」的好工具。

它的全名叫做 Statistical Machine Intelligence and Learning Engine,是一个快速、全面的机器学习系统。

试问有多全?可以说是「方方面面」。

机器学习方面,例如分类、回归、聚类、关联规则挖掘、特征选取、流形学习、多维尺度分析、遗传算法、最邻近搜索等等。

当然还有像数据可视化数理统计等其他任务也是 hold 得住。

还体现在语言方面,例如 Java、Scala、Kotlin 和 Clojure 都可以轻松驾驭。

而且,还可以在线试用

几行代码就能用起来

一个工具好不好,「易用性」很关键。

先来看下 Smile 用起来有多方便。

以「随机森林」为例,Java 代码如下:

Scala、Kotlin 的代码分别是:

简单定义、调用即可,确实挺方便。

Smile 提供了数百种高级算法,并且界面十分简洁。其中,Scala API 还提供了高级运算符,可以轻松构建机器学习应用。

全面的机器学习

说到 Smile 的「全面性」,先来看下它在机器学习上都能做些啥。

  • 分类:支持向量机、决策树、AdaBoost、随机森林、梯度提升、神经网络、最大熵分类器,KNN,朴素贝叶斯,fisher/线性/二次/正则判别分析等。

  • 回归:支持向量回归、高斯过程、回归树、梯度提升、随机森林、RBF 网络、OLS、LASSO、ElasticNet、岭回归等。

  • 特征选择:基于遗传算法的特征选择、基于集成学习的特征选择、树形图、信噪比等。

  • 聚类:BIRCH,、CLARANS、 DBSCAN、DENCLUE、Neural Gas、K-Means、X-Means等。

  • 关联规则频繁项集挖掘:FP-growth 挖掘算法。

  • 流形学习:IsoMap、LLE、Laplacian 特征映射、t-SNE、UMAP、PCA、核 PCA、概率 PCA。

  • 多维缩放:经典 MDS、等渗 MDS、Sammon 映射。

  • 最近邻搜索:BK树、Cover树、kd树、SimHash、LSH。

  • 序列学习:隐马尔可夫模型,条件随机域。

  • 自然语言处理:分句器和分词器、Bigram 统计测试、短语提取器、关键词提取器、词性标注器、相关性排序。

由于排版问题,有一些能够实现的机器学习方法还没有列完。

但从上面列举的方法中可以看出,Smile 能够处理的机器学习方法还是较为全面。

数学、统计和可视化

Smile 还提供先进的数值计算环境:从特殊函数、线性代数,到随机数发生器、统计分布和假设检验。

另外,还实现了图形、波形和各种插值算法。

除此之外,还能够实现数据可视化。

例如散点图、直线图、阶梯图、条形图、箱形图、热力图等等。

Java or Python?

虽然 Smile 工具好用是好用,但在 Reddit 上还是激起了一番争议。

矛盾点还是语言之间的较量。

拥护Python的选手便说:

如果没有Python API,你不可能在这个社区(实现)太多能力。

还有对Java语言的「嘲讽」:

你说Scala、Kotlin 和 Clojure,你只是换了不同的方式说Java而已。

但 Smile 也官网上强有力的做出了「回应」:

Smile 性能比R、Python好。

那么,你看好这款Smile工具吗?

参考链接:
http://haifengl.github.io/

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

每天5分钟,抓住行业发展机遇

如何关注、学习、用好人工智能? 

每个工作日,量子位AI内参精选全球科技和研究最新动态,汇总新技术、新产品和新应用,梳理当日最热行业趋势和政策,搜索有价值的论文、教程、研究等。

同时,AI内参群为大家提供了交流和分享的平台,更好地满足大家获取AI资讯、学习AI技术的需求。扫码即可订阅:

加入AI社群,与优秀的人交流


量子位 QbitAI · 头条号签约作者


վ'ᴗ' ի 追踪AI技术和产品新动态


喜欢就点「在看」吧 !



登录查看更多
0

相关内容

Scala 是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。Scala 运行于Java 平台(Java 虚拟机),并兼容现有的 Java 程序。
专知会员服务
38+阅读 · 2020年10月17日
【2020新书】监督机器学习,156页pdf,剑桥大学出版社
专知会员服务
150+阅读 · 2020年6月27日
【干货书】用于概率、统计和机器学习的Python,288页pdf
专知会员服务
280+阅读 · 2020年6月3日
专知会员服务
112+阅读 · 2019年12月24日
社区分享 | Spark 玩转 TensorFlow 2.0
TensorFlow
15+阅读 · 2020年3月18日
R语言数据挖掘利器:Rattle包
R语言中文社区
21+阅读 · 2018年11月17日
6大最常用的Java机器学习库一览
AI前线
4+阅读 · 2018年10月9日
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
收藏 :一张地图带你玩转机器学习
数据分析
3+阅读 · 2018年7月22日
Python中机器学习的特征选择工具
云栖社区
8+阅读 · 2018年7月16日
Machine Learning:十大机器学习算法
开源中国
19+阅读 · 2018年3月1日
深度学习入门指南:初学者必看!
专知
7+阅读 · 2017年11月30日
推荐|一份不错的机器学习笔记!
全球人工智能
22+阅读 · 2017年11月20日
机器学习(4)之线性判别式(附Python源码)
机器学习算法与Python学习
13+阅读 · 2017年7月11日
Arxiv
0+阅读 · 2020年10月11日
Graph Transformer for Graph-to-Sequence Learning
Arxiv
4+阅读 · 2019年11月30日
Arxiv
7+阅读 · 2018年1月30日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关资讯
社区分享 | Spark 玩转 TensorFlow 2.0
TensorFlow
15+阅读 · 2020年3月18日
R语言数据挖掘利器:Rattle包
R语言中文社区
21+阅读 · 2018年11月17日
6大最常用的Java机器学习库一览
AI前线
4+阅读 · 2018年10月9日
BAT机器学习面试题1000题(331~335题)
七月在线实验室
12+阅读 · 2018年8月13日
收藏 :一张地图带你玩转机器学习
数据分析
3+阅读 · 2018年7月22日
Python中机器学习的特征选择工具
云栖社区
8+阅读 · 2018年7月16日
Machine Learning:十大机器学习算法
开源中国
19+阅读 · 2018年3月1日
深度学习入门指南:初学者必看!
专知
7+阅读 · 2017年11月30日
推荐|一份不错的机器学习笔记!
全球人工智能
22+阅读 · 2017年11月20日
机器学习(4)之线性判别式(附Python源码)
机器学习算法与Python学习
13+阅读 · 2017年7月11日
Top
微信扫码咨询专知VIP会员