今天跟大家分享一个 Java 版本的 机器学习 算法及工具包,内容非常的丰富;
java版本的优势
目前机器学习算法主要以 python 语言实现为主,但实际生产环境的服务往往以java为主。所以需要通过RPC调用、中间转换层(将模型转为java版,比如pb文件)或者是实现java版的前向计算等方式,供java服务使用;模型的改动、部署会比较耗时、费力;
- 基于Java的机器学习算法模型可以直接由java服务调用,不需要中间层转换等逻辑,部署和使用非常方便
- 目前大数据生态组件对java系语言的支持是最好的,比如 spark 、hadoop等;面对大数据处理时,python的优势不及java;
工具包介绍
项目位于 github :,
所有的 算法 和工具都是java版本,主要提供了以下算法以及工具:
机器学习算法:
逻辑回归、决策树(CART树)、 随机森林 、GBDT、XGBOOST(包括单机版本以及spark版本)、线性支撑向量机( SVM )、fastText训练词向量以及文本分类、贝叶斯、经典的全连接神经网络、 卷积神经网络 、 循环神经网络 、基于深度学习的词向量训练;
数据处理工具:
spark生产tf-record格式文件、Ansj分词、JieBa分词、数据的标准化与归一化处理、 TF-IDF 计算、连续特征离散化、编辑距离计算、PCA降维、TNSE降维、LDA 聚类 ;
效果评估及可视化:
二分类的ROC曲线、PR曲线、 阈值 与PR曲线、阈值F1曲线绘制;
多分类评估指标计算,精确度、加权准确率召回率、F1值、各类别的准确率-召回率-F1值;
图像绘制工具包:
支持绘制散点图、曲线、柱状图;
项目地址: