数据是AI的土壤,如何耕种和管理非常重要 | 算法干货


今天,你AI了没?

关注:决策智能与机器学习,学点AI干货



编者按:算法模型是AI科技成长的核心驱动力,数据是算法模型成长的基础土壤,但对数据的管理和耕种非常关键,本文作者长期从事推荐系统研发,在丰富的实战经验中给出的数据管理与使用的方法、流程及注意事项,对推荐系统且其他AI领域均有很好的启发意义


兵马未动,粮草先行。

--《森林中的远征》 

虽然数据还没有被列入企业的资产负债表,但这只是一个时间问题。

-- 维克托·迈尔·舍恩伯格

640?wx_fmt=jpeg

对于变现能力而言,数据将作为重要资产。搭建推荐系统前期必然需要做好一定的准备,而数据就是这一必要环节。当然数据作为燃料,不仅仅可以为推荐做贡献,也可以驱动更多的事情往前发展。

通过数据采集,全面了解产品和用户;通过数据挖掘,对用户分群/分层;通过数据决策,驱动运营方案和产品优化。最终了解产品、了解用户、了解目标。在合适的时候对合适的人做合适的事。

▌1. 请先了解一个问题

数据多一定能驱动业务吗?往往大家都有一个误区,就是我们只要收集海量的数据就可以带来非常好的收益,但是正如前面几章介绍的,推荐系统是一个全局的工程,不是只收集海量的数据就可以的,往往是采数据易,用数据难。当我们拥有的数据数据质量参差不齐,或者我们收集了一些垃圾数据,其实很难产出驱动业务的优化。当数据分析与业务割裂时,我们很难去获取较优的结果,很容易像无头苍蝇一样,淹没在充满噪声的数据中。如果在正确的业务建模和高效地工程支持后,海量的数据将带来效果非常大的提升。

▌2. 数据驱动推荐系统的方式

原则上是数据准确,方法适当,解读无误。

数据驱动思维方式每个推荐算法工程师必备,根据这种思维方式可以确定产品的分析改进流程:首先确定自己的分析及目标,从规模、分布等角度去介入,发现一些问题;通过目标确定需要分析的数据,细化到数据分析指标,预估有效的数据阈值;寻找并评估获取数据的渠道,得到自己想要的原始数据;对数据进行合理的加工和分析,得出分析结论,数据需要可比较;对得到的结果进行合理分析,指导推荐迭代。

前推荐系统阶段,通过数据我们必然需要了解的有以下几点,这些可能已经有BI团队产出相关的数据,如果没有的话,你可能需要自己结合业务场景进行分析。我们首先对用户行为进行拆解,用户的行为 = 商品/内容 - 信息载体 ( 明星、类目、年代 ) + 显性操作 ( 购买、常看、关注、下载、收藏 ) + 隐形操作 ( 时长、跳过 ) 。

1. 谁购买:用户规模,人群特征,文化特征,如场景 uv ,pv ,年龄分布、性别分布、地域分布、偏好分布。

2. 购买什么:购买品类分布、品牌分布

3. 为什么购买:结合用户的一些细粒度的挖掘。客户价值、使用好处

4. 用户行为路径分析:用户在进入产品以后的行为轨迹,用户用了哪些功能模块?用户使用的顺序是什么?通过分析用户行为路径,验证用户的使用是否和当初设计推荐产品的逻辑是一致的。如果和产品设计逻辑偏差很大,就需要思考为什么?是我们设计的逻辑有问题?还是其他方面出现了问题?通过用户购物路径的分析,建立对用户的认知、对链路各个环节进行流失分析、并关联场景、 结合行为流程,识别相关短板,进而找到破局点,设计方案验证可行性。

5. 单体用户行为跟踪:验证猜想、挖掘需求、理解用户、还原场景。人是分析的最基本元素,需要清楚的知道每一个用户所处生命周期、活跃情况、环境信息等。有了用户群的画像以后,通过单体用户行为跟踪,我们就可以进一步追踪到个人身上,通过对个体用户行为的跟踪,可以查看用户具体是如何使用产品的。

6. 精细化用户分群:行为特点、回访留存、群体画像、漏斗转化。根据用户行为的特征将其按需拆分成不同属性的用户群,例如:做过A事件的人拆分成一个用户群,做过 B 事件的拆分成另一个群,看群体用户画像有什么区别,看他的留存和回访有什么区别。

▌3. 数据考察维度

面对复杂的系统数据如何管,如何用。当数据不完整,将直接影响结果,一般对现有数据评估维度主要围绕以下几点展开:

1. 完整性:流量红利期结束,新用户获取成本高于老用户留存成本,建立以人为核心的数据体系变得更加紧迫,市场数据,位置数据,生活数据,行为数据,人口学数据,认知数据,设备数据,运营数据。评估数据是否已经覆盖了每个环节的业务需求,以及哪些业务需求丢失了需要被采集,或者哪些数据当前不可被信任。

2. 及时性:互联网时代,信息及机会瞬息万变,快速、及时地获取数据,对快速决策带来非常多的好处。我们需要评估数据是否可以被实时的采集,以足以满足某些特殊使用场景,尽可能地被可视化管理监控。

3. 规范性:数据产生依赖我们作出一些动作,也就是所谓的输入,然后输出就是我们需要的数据。我们需要评估是否各个岗位有系统性规范化的,对于数据输入输出的定义以及计算方式。

4. 一致性:往往在有些岗位和环节,数据会产出类似或者相同功能的数据,这个时候我们就需要对这些数据进行统一的归并,并且制定逻辑自洽的口径。这一过程需要评估不同领域的同类数据是否一致,以及数据是否有重复,如有则需要制定相应的归并规则。

5. 准确性:这个自然就是评估数据是否体现了真实的用户行为、市场动态及运营状况。

6. 关联性:数据是流动和共享的,我们需要评估是否在一个业务链上的各个部门和岗位都可以连接并共享数据,以及数据是否能够准确的触发相应的业务事件。

▌4. 数据类型

数据类型是从结构化程度来看的,主要分为结构化数据和非结构化数据。如用户基础信息数据、推荐系统中用户行为数据中的访问数据为结构化数据。用户的评价,推荐物料的文本数据、图像数据则为非结构化数据。

▌5. 数据收集:埋点

5.1 埋点的意义

想要通过数据进一步了解产品,则需要收集更多的数据,而数据的收集离不开埋点,埋点利用流程、方法、工具在各个用户接触点收集信息。

5.2 指标规划

要想采集好哪些数据,就是制定采集的指标规划,包括指标定义、维度设置、更新周期,其中更新周期会涉及到资源的分配,是时时更新,还是每周、每月更新。比如 pv、uv、ctr、cvr、gmv 等等指标。基于主要规划之后要做的,比如字段分类、数据埋点、数据上报。采集什么数据,以什么形式上报,这些都要考虑清楚。

5.3 类型

1. 点击、收藏、加购、购买、浏览时长、观看

2. 搜索 query

3. icon/页面相关其它行为收集

4. 推荐/展示逻辑信息 ( 回溯平台 )

▌6. 埋点后流程

6.1 ETL & 数据清理

数据采集上来之后,我们需要对这些数据进行数据清洗入库落表, 这时候需要考虑数据的质量,如一致性、精细化程度等将成为关键。并对数据进行存储,评估数据量、数据的复杂性和多样性、数据的更新速度选择合适的存储介质。数据化管理主要奉行这样的思路:数据采集 - 数据分析 - 行动策略 - 快速执行。

6.2 数据连接

将不同系统产生的数据整合、关联在一起,实现您对数据的全局性把握,并在数据整合的基础上,实现业务管理的整合与优化。

6.3 报表呈现

接着我们可以做报表呈现。这里有很多坑,比如要做报表的趋势图,是用柱状图还是折线图?列表就是一个用户的详细类似表;筛选控件,如果要做到可视化,你需要考虑将来在实际运用时需要从哪些维度去筛选,比如国家、版本、渠道这些;最后是有效性、准确性的验证,我们做了数据上报之后,如果是一堆垃圾数据,或是不准确的数据,对后续的运营就没有什么帮助。

▌7. 推荐直接相关数据

7.1 用户维度:基本信息&显示与隐示反馈

用户基本信息主要指用户的性别、年龄、地区等。前面提到了推荐系统需要构建用户对商品的评价模型,当然这一过程需要数据让我们从中学习到这个评价模型,而从可供学习的样本数据主要分为显式和隐式两种:

1. 显式:一般指用户对物料的真实评分,这类数据的特点是用户操作成本高,数据量小,更真实 ( 由于用户有操作成本 ) 。

2. 隐式:一般指直接评分以外的若干行为数据, 包括:点击、加购、收藏、购买、流量时长等,这一类数据的特点是用户操作成本低,数据量大,相对评分,用户成本低,具有一定的不真实性 ( 由于用户有操作成本 ) 。

用户反馈数据往往还可以进行进一步聚合、梳理形成用户的行为表现数据,如活跃度、回访、复购情况等。

7.2 物料基本信息&表现数据维度

物料基本信息主要包括了物料的标题、标签、类目等,表现数据主要是基本数据上的聚合及汇总,与用户维度反馈数据类似。

7.3 其它数据

额外数据:天气、经纬度、节假日、cpi

作者介绍:

姚凯飞,Club Factory 推荐算法负责人。硕士毕业于上海交通大学,前阿里推荐算法工程师,多年电商及视频推荐经验,目前在出海电商Club Factory负责推荐算法工作。

——老铁们,动手点一下文末广告,给小编加个鸡腿儿,不胜感谢——

内推职位:

算法&开发工程师

工作地址:杭州市西湖区华星时代广场B座

内推邮箱:kaifeiyao@clubfactory.com

公司介绍:

杭州嘉云数据科技有限公司成立于 2014 年,业务已覆盖欧美、中东、印度、东南亚 等地区。产品 Club Factory 在购物类 APP 应用下载量印度与阿联酋排名第一、菲律宾排名第二。核心技术团队来自 Facebook、阿里、网易、美 团、迅雷等大中型互联网公司,拥有斯坦福、卡耐基梅隆(CMU)、清华、浙大等院校的 计算机专业背景。2018年3月完成1亿美金 C 轮融资,即将 D 轮,欢迎有意向的小伙伴赶紧上车。

作者 | 姚凯飞 Club Factory 

编辑 | Hoh Xil

出品 | DataFunTalk(ID:DataFunTalk

转载请与DataFunTalk联系

相关推荐



交流合作


商务合作以及加入微信群,请添加微信号:yan_kylin_phenix

注意:请务必说明您的意向,注明姓名+单位+从业方向+地点,否则不予通过,请多谅解。

640?wx_fmt=jpeg


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值