数据分析理论与实践 | 青训营笔记

简介: 埋点:埋点数据是指上报的记录着触发原因和状态信息的日志数据。按照上报方来看,可以划分为"服务端埋点”和"客户端埋点”,按照上报形式,可以划分为"代码埋点”、“可视化全埋点” 。

数据分析理论与实践 | 青训营笔记


数据分析


全景图

1.png

埋点:

1.埋点数据是指上报的记录着触发原因和状态信息的日志数据。按照上报方来看,可以划分为"服务端埋点”和"客户端埋点”,按照上报形式,可以划分为"代码埋点”、“可视化全埋点” 。

2.埋点包含的要素:whowhenwherehowwhathow_ much


案例


Activation(激活)-新用户激活转化分析

这是一份漏斗转化数据。

1.png

如果某一步出现很低的转化率,你有什么优化建议吗?


机器学习


一般流程

1.png

类别


主要分为三大类:

  • 监督/非监督学习
  • 非监督学习(Unsupervised Learning): 训练数据没有标注。
  • 半监督学习(Semisupervised Learning): 训练数据部分有标注。


  • 批量/在线学习
  • 批量学习(Batch Learning):系统训练时使用所有的训练数据,如果收到新数据,必须与旧数据合并重新训练,对计算机资源有较高的要求。
  • 在线学习(Online Learning): 系统可以持续读入新数据并更新模型,快速便宜。缺陷:如果传入了异常数据,它的表现会迅速劣化,需要监控。


  • 基于实例/模型学习
  • 基于实例学习(Instance-based Learning): 系统铭记旧数据,比较新数据与旧数据的相似度,来推测新数据所属的类。- K-Nearest Neighbors Regression
  • 基于模型学习(Model-based Learning): 根据数据,选定一种模型进行训练,然后用训练过的模型预测新数据。 - Linear Regression- Polynomial Regression


挑战


算法方面

  • 过拟合
  • 欠拟合

解决方案:zhuanlan.zhihu.com/p/356298455

数据问题

  • 训练数据太少
  • 训练数据不具备代表性
  • 数据本身质量差
  • 噪音、缺漏、异常等会使得系统更难发现内在的规律和模式,需要数据清洗。
  • 比如人体扫描仪识别一个人的身材维度,在识别算法较差的情况下,胖子的识别结果可能会很离谱——机器也许认为这个人没有腰,或者把凸出来的腰当成臀部。
  • 选取的特征没有相关性


特征工程


流程


数据理解 -> 数据预处理 -> 特征构造 -> 特征选择


数据形式


  • 结构化数据:如一些以表格形式进行存储的数据
  • 非结构化数据:就是一堆数据,类似于文本、报文、日志之类的
  • 定量数据:指的是一些数值,用于衡量某件东西的数量
  • 定性数据:指的是一些类别,用于描述某件东西的性质


特征选取-Embedding


embedding,即嵌入,起先源自于NLP领域,称为**「词嵌入(word embedding」,主要是利用背景信息构建词汇的分布式表示,最终可以可以得到一种词的向量化表达**,即用一个抽象的稠密向量来表征一个词。


在 embedding 大行其道之前 oneHot 才是最靓的仔。如果和我们比较熟悉的 oneHot 对比起来理解,顿时会发现 embedding 这个玄里玄乎的概念,实际上 so easy。


直观上看 embedding 相当于是对 oneHot 做了平滑,而 oneHot 相当于是对 embedding 做了 max pooling。

1.png

意义作用


  • 「经过Embedding向量化表达后的数据,其实变得更加适合深度神经网络的训练和学习,也有利于工业界数据的工程化处理。」高维 稀疏 数据对于机器学习的参数学习和相关计算都不太友好


高维易引发“维度之灾”,使空间距离很难有效衡量,另外高维经常使参数数量变得非常多,计算复杂度增加,也容易导致过拟合稀疏容易造成梯度消失,导致无法有效完成参数学习」。

因此通常特别稀疏的高维离散数据更适合使用Embedding代替传统One-Hot编码方式。


  • 此外,「Embedding虽然是一种降维表示,但是却携带了语义信息,而且这种表示方式并不局限于词,可以是句子、文档、物品、人等等,Embedding能够很好地挖掘嵌入实体间的内部关联,即便降维也能保留这种潜在关系」,这简直就是“神来之笔”,怪不得说万物皆可Embedding


应用场景


  1. 在深度学习网络中作为Embedding层,完成从高维稀疏特征向量到低维稠密特征向量的转换;
  2. 作为预训练的Embedding特征向量,与其他特征向量连接后一同输入深度学习网络进行训练;
  3. 通过计算用户和物品的Embedding相似度,Embedding可以直接作为推荐系统或计算广告系统的召回层或者召回方法之一。


聚类画像


流程图

1.png

步骤:


1.样本选定


确定聚类分析的样本范围

一共提供三种方式圈选人群

  1. 定义条件筛选样本,条件都是比较通用的,比如年龄、性别、vv_finish_1w(过去一周用户的完播次数,用来保证用户兴趣的显著性),缺点是条件比较少。


  1. 上传圈选ID列表,主要服务于用户所需的条件并不在第一种方式里,可以直接离线圈选好用户,然后通过上传csv文件即可。这种方式更多的是用于一次性实验分析,如果设置成周期调度,但由于已是上传固定的用户,没法根据你离线选好条件随时间动态变化用户,所以就成了固定用户的周期任务。


  1. 输入hive表名称,也是服务于用户所需的条件并不在第一种方式里,但是你需要有hive表的写权限,调度频次可设置成一次性实验分析,也可周期调度。如果需要周期调度,请将hive表对应的任务设置成天级调度(由表里的数据来决定哪些用户需要参与聚类) 。平台会在周期调度时间到来时读取表里的数据,完成任务的执行。相比第二种,用户可随时间动态变化,但需要hive表写权限。

1.png

2.向量获取


获取选定样本中用户在短视频内的行为向量(64维)

行为向量是一种描述用户在短视频内行为的特征向量。可以粗略理解为,倾向于消费/点赞/收藏/分享同一类视频或倾向于与同一类创作者互动的用户,将会拥有相似的特征向量。


选择Embedding作为模型特征的依据:

  1. 用户行为的语义特征
  2. 线下分析反映线上效果

1.png

3.算法聚类


基于64维用户推荐向量,通过k-means算法,将相似的用户分成一组,不相似用户分成不同组。


选择k-means算法的依据:

  1. 用户64维推荐向量在空间中的分布是球状分布且凸集的数据,k-means所求的目标函数是所有点到距离其最近的中心点的距离平方和最小,这样我们就要求解一个凸优化问题。

1.png

2. 算法的复杂度、数据量、以及机器资源的trade-off

相关文章
|
5月前
|
数据采集 机器学习/深度学习 数据可视化
使用Jupyter Notebook进行数据分析:入门与实践
【6月更文挑战第5天】Jupyter Notebook是数据科学家青睐的交互式计算环境,用于创建包含代码、方程、可视化和文本的文档。本文介绍了其基本用法和安装配置,通过一个数据分析案例展示了如何使用Notebook进行数据加载、清洗、预处理、探索、可视化以及建模。Notebook支持多种语言,提供直观的交互体验,便于结果呈现和分享。它是高效数据分析的得力工具,初学者可通过本文案例开始探索。
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析:从入门到实践
使用Python进行数据分析:从入门到实践
48 2
|
1月前
|
SQL 分布式计算 数据挖掘
加速数据分析:阿里云Hologres在实时数仓中的应用实践
【10月更文挑战第9天】随着大数据技术的发展,企业对于数据处理和分析的需求日益增长。特别是在面对海量数据时,如何快速、准确地进行数据查询和分析成为了关键问题。阿里云Hologres作为一个高性能的实时交互式分析服务,为解决这些问题提供了强大的支持。本文将深入探讨Hologres的特点及其在实时数仓中的应用,并通过具体的代码示例来展示其实际应用。
155 0
|
2月前
|
数据采集 算法 搜索推荐
R语言营销数据分析:使用R进行客户分群的实践探索
【9月更文挑战第1天】R语言以其强大的数据处理和统计分析能力,在金融数据分析、营销数据分析等多个领域发挥着重要作用。通过R语言进行客户分群,企业可以更好地理解客户需求,制定精准的营销策略,提升市场竞争力和客户满意度。未来,随着大数据和人工智能技术的不断发展,R语言在营销数据分析中的应用将更加广泛和深入。
|
6月前
|
数据采集 数据挖掘 大数据
Python在数据分析中的应用及实践
【2月更文挑战第13天】 本文旨在探讨Python语言在数据分析领域的广泛应用及其实践方法。通过深入浅出的方式,介绍Python在处理、分析大数据时的核心库和工具,如Pandas、NumPy、Matplotlib等,并通过一个实际案例来展示这些工具如何协同工作,解决数据分析中遇到的常见问题。文章不仅为读者提供了一个学习和应用Python进行数据分析的起点,也通过案例分析,展示了Python在数据处理能力上的强大与灵活性,旨在激发读者对Python数据分析深入学习和研究的兴趣。
|
6月前
|
数据可视化 数据挖掘 数据处理
Python在数据分析中的应用实践
【2月更文挑战第13天】 本文旨在探讨Python语言在当前数据驱动时代的核心应用之一——数据分析领域的实践方法和技术。Python,作为一种高级编程语言,因其简洁的语法、强大的库支持以及广泛的社区资源,已成为数据科学家和分析师首选的工具之一。文章首先简要介绍Python及其在数据分析中的优势,随后深入讲解使用Python进行数据处理、分析、可视化的关键技术,包括但不限于Pandas库的数据处理、Matplotlib和Seaborn库的数据可视化技术,以及SciPy和Scikit-learn库在数据分析中的应用。通过具体案例,展示Python如何有效地解决实际数据分析问题,最终旨在为读者提供一
43 2
|
3月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析的新手指南深入浅出操作系统:从理论到代码实践
【8月更文挑战第30天】在数据驱动的世界中,掌握数据分析技能变得越来越重要。本文将引导你通过Python这门强大的编程语言来探索数据分析的世界。我们将从安装必要的软件包开始,逐步学习如何导入和清洗数据,以及如何使用Pandas库进行数据操作。文章最后会介绍如何使用Matplotlib和Seaborn库来绘制数据图表,帮助你以视觉方式理解数据。无论你是编程新手还是有经验的开发者,这篇文章都将为你打开数据分析的大门。
|
4月前
|
关系型数据库 分布式数据库 数据库
基于PolarDB的图分析:保险数据分析实践
本文以公开的保险数据集为例,示例了基于云原生数据库PolarDB上,在保险理赔场景下,执行图查询来发现异常理赔记录和欺诈团伙:例如,查询与欺诈保单有相同理赔病人的其他保单,或者找出欺诈保单的投保人社交关系,以便进行欺诈预警。PolarDB在关系型数据库的基础上,提供了图分析能力,为企业的统一数据管理和分析,提供了强有力的支撑。
|
6月前
|
数据采集 存储 数据可视化
Python数据分析从入门到实践
Python数据分析从入门到实践
|
6月前
|
数据采集 数据可视化 数据挖掘
Seaborn在数据分析中的应用:案例分析与实践
【4月更文挑战第17天】本文介绍了Seaborn在数据分析中的应用,它是一个基于Python的可视化库,简化了复杂数据的图表创建。通过一个销售数据分析的案例,展示了数据加载、描述性统计、相关性分析、多变量分析及高级可视化步骤。实践技巧包括数据清洗、图表选择、颜色使用、注释标签和交互性。Seaborn助力高效数据探索和理解,提升分析效率。注意,实际使用需根据数据集和目标调整,并参考最新文档。