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

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

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


数据分析


全景图

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

相关文章
|
1月前
|
数据可视化 数据挖掘 数据处理
Python在数据分析中的应用实践
【2月更文挑战第13天】 本文旨在探讨Python语言在当前数据驱动时代的核心应用之一——数据分析领域的实践方法和技术。Python,作为一种高级编程语言,因其简洁的语法、强大的库支持以及广泛的社区资源,已成为数据科学家和分析师首选的工具之一。文章首先简要介绍Python及其在数据分析中的优势,随后深入讲解使用Python进行数据处理、分析、可视化的关键技术,包括但不限于Pandas库的数据处理、Matplotlib和Seaborn库的数据可视化技术,以及SciPy和Scikit-learn库在数据分析中的应用。通过具体案例,展示Python如何有效地解决实际数据分析问题,最终旨在为读者提供一
21 2
|
1月前
|
数据采集 数据挖掘 大数据
Python在数据分析中的应用及实践
【2月更文挑战第13天】 本文旨在探讨Python语言在数据分析领域的广泛应用及其实践方法。通过深入浅出的方式,介绍Python在处理、分析大数据时的核心库和工具,如Pandas、NumPy、Matplotlib等,并通过一个实际案例来展示这些工具如何协同工作,解决数据分析中遇到的常见问题。文章不仅为读者提供了一个学习和应用Python进行数据分析的起点,也通过案例分析,展示了Python在数据处理能力上的强大与灵活性,旨在激发读者对Python数据分析深入学习和研究的兴趣。
|
2月前
|
数据采集 存储 数据可视化
Python数据分析从入门到实践
Python数据分析从入门到实践
|
8天前
|
数据采集 数据可视化 数据挖掘
Seaborn在数据分析中的应用:案例分析与实践
【4月更文挑战第17天】本文介绍了Seaborn在数据分析中的应用,它是一个基于Python的可视化库,简化了复杂数据的图表创建。通过一个销售数据分析的案例,展示了数据加载、描述性统计、相关性分析、多变量分析及高级可视化步骤。实践技巧包括数据清洗、图表选择、颜色使用、注释标签和交互性。Seaborn助力高效数据探索和理解,提升分析效率。注意,实际使用需根据数据集和目标调整,并参考最新文档。
|
1月前
|
数据采集 数据挖掘 数据处理
Python在数据分析中的应用实践
【2月更文挑战第12天】 本文深入探讨了Python语言在数据分析领域的应用,通过介绍Python的几个关键数据分析库(Pandas、NumPy、Matplotlib)的基本使用方法和案例实践,展示了Python处理数据的强大能力。不同于传统的摘要,本文旨在通过实际操作案例,让读者能够直观感受到Python在数据分析中的实际应用价值,从而激发读者进一步探索Python数据分析能力的兴趣。
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
Python数据分析:从入门到实践
Python数据分析:从入门到实践
|
2月前
|
数据采集 数据挖掘 大数据
Python 数据分析中的数据清洗技巧与实践
【2月更文挑战第1天】数据分析是当下热门的技术领域之一,而数据清洗作为数据分析过程中至关重要的一环,往往被人们忽视。本文将深入探讨在 Python 环境下进行数据清洗的关键技巧与实际操作,帮助读者提升数据分析的效率与准确性。
|
2月前
|
数据可视化 数据挖掘 数据处理
Python在数据分析中的应用实践
在当今数据驱动的时代,Python已成为数据分析不可或缺的工具之一。本文旨在探索Python在数据分析领域的实际应用,通过介绍Python的核心库(如Pandas、NumPy和Matplotlib)的使用,以及展示一个简单的数据分析项目实例,来阐述Python如何帮助分析师高效地处理和分析数据,从而提取有价值的信息。与传统摘要不同,我们不仅概述内容,还强调实践的重要性,旨在激发读者通过实际操作深入理解Python在数据分析中的强大功能。
26 1
|
2月前
|
数据采集 数据可视化 数据挖掘
深入浅出:Python在数据分析中的应用实践
本文旨在探讨Python语言在数据分析领域的高效应用,通过简洁的语法和强大的库支持,Python已成为数据科学家和分析师的首选工具。文章首先介绍了Python在数据处理、清洗、分析及可视化方面的基础知识,随后通过一个实际案例,展示了如何利用Pandas、NumPy、Matplotlib等库进行数据分析的完整流程。通过本文,读者将能够理解Python在数据分析中的核心价值,掌握其基本操作方法,并能够在实际项目中灵活运用。
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
Python在数据分析中的应用实践
本文深入探讨了Python语言在数据分析领域的关键应用,通过实际案例展示了如何利用Python进行数据处理、分析及可视化。不同于传统的摘要,我们将重点放在Python的实用库(如Pandas、NumPy和Matplotlib)上,以及它们如何协同工作以解决数据分析中遇到的复杂问题。本文旨在为读者提供一个清晰的视角,理解Python在数据分析中的强大功能,并通过实践案例加深理解。
36 2