Datumbox机器学习框架0.6.0发布Plato区块链数据智能。垂直搜索。人工智能。

Datumbox机器学习框架0.6.0发布

Datumbox机器学习框架的新版本已经发布! 立即从下载 Github上 or Maven中央存储库.

什么是新的

主要焦点 0.6.0版 是为了扩展该框架以处理大数据,改进代码体系结构和公共API,简化数据解析,增强文档并获得许可。

让我们详细了解此版本的更改:

  1. 处理大数据: 改进的内存管理和新的持久性存储引擎使该框架能够处理大小为GB的大型数据集。 增加对 地图数据库 数据库引擎使该框架避免将所有数据存储在内存中,从而能够处理大数据。 由于性能问题而删除了MongoDB引擎时,默认的InMemory引擎经过了重新设计,以提高效率。
  2. 改进和简化的框架架构: 显着降低了抽象级别,并重新设计了几个核心组件。 特别是,持久性存储机制被重写,并且删除了一些不必要的功能和数据结构。
  3. 新的“类似于Scikit-Learn”的公共API: 算法的所有公共方法都进行了更改,以类似于Python的Scikit-Learn API(fit / predict / transform范例)。 新的公共方法更灵活,更容易使用,更友好。
  4. 简化数据解析: 新框架附带了一组方便的方法,这些方法允许快速解析CSV或文本文件并将其转换为数据集对象。
  5. 改进的文档: 使用Javadoc注释记录了框架的所有公共/受保护的类和方法。 此外,新版本还提供了改进的JUnit测试,这是如何使用框架的每种算法的出色示例。
  6. 新的Apache许可: 框架的软件许可从“GNU通用公共许可证v3.0“要”Apache许可证,版本2.0”。 新许可证是允许的,它允许在商业软件中重新分发。

由于重写了框架的大部分内容,以使其更加有效和易于使用,因此0.6.0版是 向后不兼容 与早期版本的框架。 最后,该框架从Alpha进入Beta开发阶段,应该认为它更稳定。

如何使用它

在先前的博客文章中,我们提供了一个 详细的安装指南 关于如何安装框架。 本指南仍适用于新版本。 此外,在此新版本中,您可以找到几个 代码示例 关于如何使用框架的模型和算法的信息。

下一步和路线图

该框架的开发将继续,并且在发布1.0版之前应进行以下增强:

  1. Us博士开发的技术萃取的 控制台框架: 尽管该框架的主要目标是协助机器学习应用程序的开发,但应该使非Java开发人员更容易使用它。 遵循与Mahout类似的方法,框架应使用控制台命令提供对算法的访问。 该界面应简单易用,并且应轻松组合不同的算法。
  2. 支持多线程: 该框架当前仅将线程用于清理过程和异步写入磁盘。 但是,某些算法可以并行化,这将大大减少执行时间。 在这些情况下,解决方案应该优雅,并应尽可能少地修改机器学习算法的内部逻辑/数学。
  3. 减少2D数组和矩阵的使用: 少数算法仍使用2d数组和矩阵。 这将导致所有数据都加载到内存中,从而限制了可以使用的数据集的大小。 应该重新实现某些算法(例如PCA)以避免使用矩阵,而对于其他算法(例如GaussianDPMM,MultinomialDPMM等),我们应该使用稀疏矩阵。

即将发布的版本中应完成的其他重要任务:

  1. 包括新的机器学习算法: 该框架可以扩展以支持多种出色的算法,例如高斯混合,高斯过程,k-NN,决策树,因子分析,SVD,PLSI,人工神经网络等。
  2. 改善文档, 测试覆盖率 &代码示例: 创建更好的文档,改进JUnit测试,增强代码注释,提供有关如何使用算法的更好示例,等等。
  3. 改善架构 和优化代码: 进一步简化和改进框架的架构,合理化抽象,改进设计,优化速度和内存消耗等。

如您所见,这是一条漫长的路,我可以使用一些帮助。 如果您准备好迎接挑战 请与我联系 或在github上发送您的拉取请求。

致谢

我想要感谢 埃莱夫塞里奥斯·班帕莱塔基斯 他在改善框架架构方面的宝贵意见。 我也要感谢 ej-technologies GmbH 向我提供了其Java Profiler的许可证。 而且我的荣誉 扬·科特克(Jan Kotek) 在MapDB存储引擎中的出色工作。 最后但并非最不重要的一点,是我对女友Kyriaki的支持。

不要忘记从下载Datumbox v0.6.0的代码 Github上。 该库在 Maven中央存储库。 有关如何在Java项目中使用该库的更多信息,请查看以下内容 指南 或阅读我们的Github存储库主页上的说明。

我期待着您的意见和建议。 始终欢迎请求请求! 🙂

时间戳记:

更多来自 基准框