Datumbox:基于Java的新的开源机器学习框架

Posted 学术帮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Datumbox:基于Java的新的开源机器学习框架相关的知识,希望对你有一定的参考价值。

当今时代的探索和发现都是基于大量的算法、模型以及统计学的测试和工具。Datumbox公司应运而生,它提供了一套强有力的基于Java的开源机器学习框架。

Datumbox API提供了海量的分类器和自然语言处理服务,能够被应用在很多领域的应用,包括了情感分析、话题分类、语言检测、主观分析、垃圾邮件检测、阅读评估、关键词和文本提取等等。目前,Datumbox所有的机器学习服务都能够通过API获取,该框架能够让用户迅速地开发自己的智能应用。目前,基于GPL3.0Datumbox机器学习框架已经开源并且可以从GitHub上进行下载。

早期的Datumbox0.3.x之前的框架是去年8月和9月开发的,它们是使用php来写的。在今年的五月和六月,新的0.4.x版本使用Java语言并且扩展了很多特性。这些版本都已经通过了商业应用的深度测试。目前的版本是Datumbox0.5.0,相关功能正在进一步完善,这只是第一款对于公众发布的Alpha版本。尽管是第一款,框架的API已经通过了无数的测试。并且在不久,将会有更加稳定并且优良的版本。

Datumbox的机器学习平台很大程度上已经能够取代普通的智能应用。用户可以很轻松地注册,并且使用其强有力的、易于使用的API来构建自己智能平台服务。Datumbox的机器学习API让每个开发者都能够迅速地构建自己的智能软件和服务。整个实现过程是十分简单的,几分钟就能够搞定。它具有如下几个显著的优点:

1. 强大并且开源。Datumbox API使用了强大的开源机器学习框架Datumbox,使用其高度精确的算法能够迅速地构建创新的应用。

2. 易于使用。平台API十分易于使用,它使用了REST&JSON的技术,对于所有的分类器都提供了一套普通的接口,并且有一套简明的文档和代码样例,来帮助用户进行开发。

3. 迅速使用。Datumbox去掉了那些很花时间的复杂机器学习训练模型。用户能够通过平台直接使用分类器。

Datumbox主要可以应用在四个方面。一个是社交媒体的监视,评估用户观点能够通过机器学习解决,Datumbox能够帮助用户构建自己的社交媒体监视工具。第二是搜索引擎优化,其中非常有效的方法就是文档中重要术语的定位和优化。第三点是质量评估,在在线通讯中,评估用户产生内容的质量对于去除垃圾邮件是非常重要的,Datumbox能够自动的评分并且审核这些内容。最后是文本分析,自然语言处理和文本分析工具推动了网上大量应用的产生,平台API能够很轻松地帮助用户进行这些分析。

类似于DatumboxMahoutScikit-Learn也是同一类型的项目,尽管它们拥有完全不同的目标。Mahout仅仅支持有限的并行算法,这样能够使用HadoopMap-Reduce框架处理大数据。对于另外一个,Scikit-Learn支持大量的算法但是它不能处理海量的数据。另外,它是基于Python进行开发的,能够很好的进行样板开发和科学计算,但并不是软件开发的最好的语言。

不同于如上两种平台,Datumbox框架采取了一个折中的方式。它使用了Java,尝试去支持大量的算法,这意味着它能够更轻松地包含产品代码,并且能够调整优化以减少内存消耗,从而使用在实时的系统中。尽管当前Datumbox框架只能处理到中型的数据集,它具有扩展到处理大数据的能力。

从平台的各个方面来看,特别是这仅仅是一个Alpha版本,Datumbox机器学习框架有它自己的独特的但是可以接受的限制:

1. 文档限制:目前说明文档没有很好覆盖所有的部分,更多的需要进行补充。

2. 没有多线程:这个框架目前没有支持多线程处理,当然并不是所有的机器学习算法都可以并行化。

3. 代码样例:尽管这个框架已经被发布,在网上可以找到的代码样例是很少的。

4. 代码结构:为这样一个巨大的工程构建一个坚固的框架是很具有挑战性的,除此之外还需要处理可能彼此之间完全不同的机器学习算法。

5. 模型持续性和大数据集:目前训练出的模型以MongoDM数据库形式存储在硬盘中。为了处理大量的数据,必须要开发另外的解决方案。例如MapDB可能是一个很好的选择。

6. 新的算法、测试以及模型:目前还有很多很强大的技术没有被支持,特别是时序分析方面的技术。

总之,Datumbox开源项目是一个新推出的很好的项目。对于机器学习、大数据处理方面很有需要的研究者来说,这不得不说是一个福音。用户可以尝试去深究一下开源的代码,从而更加深刻地了解这个平台,让自己地研究更加迅速和模式化。

欢迎分享,转载请注明


以上是关于Datumbox:基于Java的新的开源机器学习框架的主要内容,如果未能解决你的问题,请参考以下文章

微软开源机器学习框架Infer.NET

年度大盘点:机器学习开源项目及框架

为多索引 Panda 数据框创建基于另一列的新列

如何使用 Scala/Spark 添加不基于数据框中现有列的新列? [复制]

机器思维随着最终基于机器学习,而大量使用机器思维的人工智能

Kotlin-你还没有学习?