FeatInsight: 基于 OpenMLDB 的特征平台助力高效的特征管理和编排

OpenMLDB 社区新开源了特征平台产品 - FeatInsight(https://github.com/4paradigm/FeatInsight),是一个先进的特征存储(Feature Store)服务,基于 OpenMLDB 数据库实现高效的特征管理和编排功能。FeatInsight 特征平台提供简便易用的 UI 界面,用户可以进行机器学习特征开发的全流程,包括数据的导入、查看、编辑,特征的生成、存储、上线等功能。 针对离线场景中,用户可以选择特征生成离线样本用于后续的机器学习开发;针对在线场景中,用户可以选择特征创建特征服务,实现实时特征计算。

核心特性

FeatInsight 的主要目的是解决在机器学习项目中常见的问题,包括简便快捷地进行特征提取、转换、组合、选择以及血缘管理,特征的重用和共享,特征服务版本控制,以及确保在训练和推理过程中使用的特征数据的一致和可靠。一些范例应用场景包括:

  • 上线在线特征服务:提供本地化部署的高性能特征存储和在线特征计算功能。
  • 搭建 MLOps 平台:基于 OpenMLDB 在线离线一致性快速实现完成的 MLOps 工作流。
  • 搭建 FeatureStore 平台:提供完备的特征创建、删除、上线、血缘管理等功能,低成本实现本地 FeatureStore 服务。
  • 复用开源特征方案:在本地复用开源共建的特征数据集,实现特征重用和共享。
  • 机器学习业务组件:为推荐系统、自然语言处理、金融医疗等领域机器学习模型提供一站式特征工程落地方案。
    更多内容请参见 FeatInsight 文档。

快速开始

这里我们将通过一个简单的例子来演示如何简便快速地使用 FeatInsight 特征平台。使用流程大致包括导入数据、创建特征、离线场景的使用,以及在线场景的使用四个步骤。

  1. 导入数据

首先创建数据库test_db表,和数据表test_table,可以直接执行 SQL 来创建。

CREATE DATABASE test_db;
CREATE TABLE test_db.test_table (id STRING, trx_time DATE);

也可以在 FeatInsight 的“数据导入”前端页面直接创建。

file

为了测试方便,我们准备一个 CSV 文件并保存到 /tmp/test_table.csv。注意,这里本地是 OpenMLDB TaskManager 服务器的本地路径,一般也是 FeatInsight 的服务器路径,需要提前登陆编辑。

id,trx_time
user1,2024-01-01
user2,2024-01-02
user3,2024-01-03
user4,2024-01-04
user5,2024-01-05
user6,2024-01-06
user7,2024-01-07

其中,在线数据可以使用 LOAD DATAINSERT 命令来导入,这里演示通过点击 “使用 CSV 导入” 来执行。

file

通过前端页面可以预览已导入的在线数据。

file

离线数据也可以使用 LOAD DATA 命令或前端选择“使用 CSV 导入”来执行。

file

等待半分钟后导入任务完成,可以查看任务的状态以及日志。

file

  1. 创建特征

数据导入完成后,可以开始创建特征,本示例使用 SQL 来创建两个基本特征。

SELECT id, dayofweek(trx_time) as trx_day FROM test_table

在“特征”页面选择“创建特征”,填写特征组名称以及 SQL 语句。

file

创建完成后,可以在“特征”页面查看成功创建的特征。

file

点击特征名称,进入特征详情页,可以查看特征基础信息,并提供特征预览功能。

file

  1. 生成离线样本

在“离线场景”页面,可以选择导出离线样本,只要选择刚创建好的特征和提供导出路径即可,前端还提供了“更多选项”可以选择到处格式、运行参数等。

file

提交导出任务后,可以在“离线样本”详情页查看导出信息,大概半分钟后成功完成。

file

在本地即可查看导出的样本文件内容。为了验证 FeatInsight 特征平台提供的在线离线一致性,可记录离线特征结果,并于后面的在线特征计算做比较。

file

  1. 创建在线服务

在“特征服务”页面可以选择创建特征服务,同样是只需要选择上线的特征,以及提供特征服务名称和版本即可。

file

创建成功后,可以在特征服务详情页查看到服务的基本信息,上线包含的特征列表,以及依赖数据表的血缘关系等。

file

最后通过“请求特征服务”页面,我们可以输入测试数据进行在线特征计算,并且和离线样本的特征结果进行比对。

file

这就是使用 FeatInsight 特征平台的完整流程,通过编写简单的 SQL 即可实现在线和离线的特征定义,通过选择不同的特征,甚至是组合不同特征组的特征,即可实现快速的特征复用和上线,并且对比离线和在线的计算结果验证了特征计算的一致性。

如果您想进一步了解 FeatInsight 的使用方式及范例场景,可参照应用案例。

附录:高级功能

除了特征工程的基本功能之外,FeatInsight 特征平台还提供了高级功能以方便用户进行特征工程的开发:

  • SQL 实验室:提供了 OpenMLDB SQL 语句的调试和执行功能,方便用户执行任意 SQL 操作并调试特征抽取的 SQL 语句。详情请见这里。
  • 预计算特征:可以将通过外部批计算或流式处理后得到的特征值直接存入OpenMLDB在线表中,然后访问在线表数据进行读写特征。详情请见这里。

相关阅读

  • FeatInsight Github 主页:https://github.com/4paradigm/FeatInsight
  • FeatInsight 文档:https://openmldb.ai/docs/zh/main/app_ecosystem/feat_insight/index.html
  • OpenMLDB 官网:https://openmldb.ai/OpenMLDB
  • OpenMLDB GitHub 主页 https://github.com/4paradigm/OpenMLDB
  • OpenMLDB 文档 https://openmldb.ai/docs/zh/
  • 微信交流群
    file

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JeecgBoot集成东方通TongRDS

TongRDS介绍 TongRDS(简称 RDS)是分布式内存数据缓存中间件,用于高性能内存数据共享与应用支持。RDS为各类应用提供高效、稳定、安全的内存数据处理能力;同时它支持共享内存的搭建弹性伸缩管理;使业务应用无需考虑各种…

Active Directory监控工具

Active Directory 是 Microsoft 为 Windows 环境实现的 LDAP 目录服务,它允许管理员对用户访问资源和服务实施公司范围的策略。Active Directory 通常安装在 Windows 2003 或 2000 服务器中,它们统称为域控制器。如果 Active Directory 出现故障&#xf…

跑通 yolov5-7.0 项目之训练自己的数据集

yolov5 一、yolov5 源码下载二、配置环境,跑通项目三、训练自己的数据集1、获取验证码数据2、标注图片,准备数据集3、开始训练自己的数据集1、train.py 训练数据集2、val.py 验证测试你的模型3、detect.py 正式用你的模型 四、遇到的报错、踩坑1、import…

电脑内存满了怎么清理内存?试试这6个方法~

内存越大,运行越快,程序之间的切换和响应也会更加流畅。但是随着时间的增加,还是堆积了越来越多的各种文件,导致内存不够用,下面就像大家介绍三种好用的清理内存的方法。 方法一:通过电脑系统自带的性能清理…

vim 编辑器如何同时注释多行以及将多行进行空格

当然可以,以下是我对您的文字进行润色后的版本: 一、场景 YAML文件对空格的要求非常严格,因此在修改YAML时,我们可能需要批量添加空格。 二、操作步骤 请注意:您的所有操作都将以第一行为基准。也就是说&#xff0…

OpenCV-Python(39):Meanshift和Camshift算法

目标 学习了解Meanshift 和Camshift 算法在视频中找到并跟踪目标 Meanshift 原理 Meanshift算法是一种基于密度的聚类算法,用于将数据点划分为不同的类别。它的原理是通过数据点的密度分布来确定聚类中心,然后将数据点移动到离其最近的聚类中心&#…

【代码随想录07】344.反转字符串 541. 反转字符串II 05.替换空格 151.翻转字符串里的单词 55. 右旋转字符串

目录 344. 反转字符串题目描述做题思路参考代码 541. 反转字符串 II题目描述参考代码 05. 替换数字题目描述参考代码 151. 反转字符串中的单词题目描述参考代码 55. 右旋转字符串题目描述参考代码 344. 反转字符串 题目描述 编写一个函数,其作用是将输入的字符串反…

C语言从入门到实战——动态内存管理

动态内存管理 前言一、 为什么要有动态内存分配二、 malloc和free2.1 malloc2.2 free 三、calloc和realloc3.1 calloc3.2 realloc 四、常见的动态内存的错误4.1 对NULL指针的解引用操作4.2 对动态开辟空间的越界访问4.3 对非动态开辟内存使用free释放4.4 使用free释放一块动态开…

用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 论文阅读

论文链接:https://arxiv.org/pdf/2401.06305.pdf 论文题目:用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 1 摘要 本文介绍了用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP)。…

黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(6)解散部门

指路(1)(2)(3)(4)(5)👇 黑马程序员JavaWeb开发|案例:tlias智能学习辅助系统(1)准备工作、部门管理_tlias智能…

MATLAB对话框与菜单设计实验

本文MATLAB源码,下载后直接打开运行即可[点击跳转下载]-附实验报告https://download.csdn.net/download/Coin_Collecter/88740733 一、实验目的 1.掌握建立控件对象的方法。 2.掌握对话框设计方法。 3.掌握菜单设计方法。 二、实验内容 建立如下图所示的菜单。菜单…

15.云原生之k8s容灾与恢复实战

云原生专栏大纲 文章目录 Velero与etcd介绍Velero与etcd备份应用场景Velero与etcd在k8s备份上的区别 Velero备份恢复流程备份工作流程Velero备份时,若k8s集群发送变化,会发发生情况?Velero 备份pv,pv中数据变化,会发发…

uniapp实现微信小程序富文本之mp-html插件详解

uniapp实现微信小程序富文本之mp-html插件 1 文章背景1.1 正则表达式1.2 mp-html插件1.3 uniapp 2 过程详解2.1 下载mp-html插件2.2 项目中引入mp-html2.3 引入正则规范图片自适应2.4 效果展示 3 全部代码 1 文章背景 1.1 正则表达式 正则表达式,又称规则表达式,&…

算法刷题——删除排序链表中的重复元素(力扣)

文章目录 题目描述我的解法思路结果分析 官方题解分析 查漏补缺更新日期参考来源 题目描述 传送门 删除排序链表中的重复元素:给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1&…

【CA】《Coordinate Attention for Efficient Mobile Network Design》

CVPR-2021 github:https://github.com/Andrew-Qibin/CoordAttention 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method5 Experiments5.1 Datasets and Metrics5.2 Ablation Studies5.3 Comparison with Other Methods5.4 …

【华为 ICT HCIA eNSP 习题汇总】——题目集2

1、交换机某个端口配置信息如下,则此端口的PVID为()。 A、100 B、2 C、4 D、1 # interface GigabitEthernet0/0/1 port hybrid tagged vlan 2 to 3 100 port hybrid unatgged vlan 4 6 #考点:VLAN(虚拟局域网&#xff…

josef约瑟 三相电压继电器 WY-35A4 100V DC220V 导轨安装

三相 WY-35A4电压继电器;WY-35B4电压继电器;WY-35C4电压继电器;WY-31A4电压继电器;WY-31B4电压继电器; WY-31C4电压继电器;JY-45A4电压继电器;JY-45B4电压继电器;JY-45C4电压继电器…

Tortoise-orm 使用 (一) 创建表

项目基于Vue3.0, FastAPI的模板管理系统,从网上找了各种资源去实践,现在将总结发出来,分享给大家,希望帮助大家少走些弯路。 准备工作 # tortoise-orm pip install tortoise-orm # MySQL pip install tortoise-orm[asyncmy] # 迁…

Python实现自动化办公(使用第三方库操作Excel)

1 使用 xlrd 读取Excel数据 1.1 获取具体单元格的数据 import xlrd# 1. 打开工作簿 workbook xlrd.open_workbook("D:/Python_study_projects/Python自动化办公/Excel/test1.xlsx") # 2. 打开工作表 sheet1 workbook.sheets()[0] # 选择所有工作表中的第一个 # …

多文件转二维码的两种方式,有兴趣的了解一下

多个文件能一键生成二维码吗?二维码是现在很多人用来展示文件内容的一种手段,在制作二维码图片之后,其他人扫码就可以查看文件或者下载文件,有效的提升文件获取的效率。一般情况下,文件二维码分为多个文件生成一个二维…