====== EPPDEV-MLIB ====== ===== 平台概述 ===== 当前机器学习的应用已经日益广泛,但是在机器学习模型的应用过程中,也逐步暴露了一 些人员技能和衔接上的问题,为了更好的解决这些问题,特开发了本 EPPDEV-MLIB 分布式模 型部署平台,实现了常用机器学习模型的固化、加载和实时运算,以便于后续模型的落地。 * 平台建设的详细背景及优劣时说明参见:[[background|背景说明]] ===== 平台部署 ===== 平台及与JavaEE/MySQL数据库开发,一般建议安装在64位企业级Linux操作系统上(如CentOS7+, Ubuntu Server LTS等), 系统提供全自动的安装脚本,通过简单的命令即可完成平台的安装。 * 详细的环境需求和典型安装部署环境详见:[[install:environment|EPPDEV-MLIB平台部署环境需求]] * 详细的安装流程请参见:[[install:install|EPPDEV-MLIB系统安装说明]] ===== 系统管理 ===== EPPDEV-MLIB平台的注册中心提供WEB前端界面,实现基础的用户管理、模型发布和各个组件的调用量展示功能: * 用户管理,主要实现访问注册中心进行模型发布的用户的管理,详见:[[manage:user|用户管理功能使用说明]] * 模型发布,主要实现模型的创建及其在执行引擎中的发布功能,详见:[[manage:model|模型部署与更新]] * 状态监控:主要实现各个组件运行状态和分模型、执行引擎的调用量的展示功能,详见:[[manage:monitor|运行状态监控]] ===== 接口调用 ===== 模型计算支持以下三种方式进行调用: * 实时接口方式,通过Rest API进行模型调用,详见:[[call:api|实时接口调用]] * 批量计算方式,通过批处理任务进行模型调用,详见:[[call:batch|批量数据接口调用]] * udf方式,通过hive的udf进行模型计算调用,详见:[[call:udf|HIVE UDF方式进行调用]] ===== 建模说明 ===== 为支持基于EPPDEV-MLIB的模型部署,整个数据预处理、特征选择、模型训练,建议全部封装到 PMMLPipeline 中, 从而实现所有处理过程均可保存到pmml文件中。 数据预处理一般全部通过 DataFrameMapper完成封装,以支持处理过程的保存,和程序代码 的可读性 * 基础代码参见: [[model:basic|建模基础示例代码]] * 常用的数据预处理代码示例: * 空值填充参见:[[model:preprocess:impute|使用SimleImputer进行空值填充]] * 连续数据分段方式参见:[[model:preprocess:cut|使用CutTransformer进行分段]] * 离散数据分组参见:[[model:preprocess:group|使用ReplaceTransformer进行连续数据分段]] * 多值变量处理参见:[[model:preprocess:multivalue|多值变量数据的处理]] * 常见问题解决参见:[[model:errors|常见问题处理]] ===== TODOLIST ===== * Python模型发布SDK示例