【大数据技术与推荐系统(5)】用户画像系统

Serafina ·
更新时间:2024-11-10
· 501 次阅读

文章目录1.什么是用户画像系统2.构建用户画像系统3.用户标签生成案例4.用户画像系统应用
本文代码仓库地址:我的推荐系统学习求职之路 1.什么是用户画像系统

大数据时代人的数据化
在这里插入图片描述
什么是用户画像

用户画像是对现实世界中用户的数学建模
源于现实,高于现实:用户画像是描述用户的数据,是符合特定业务需求的对用户的形式化描述。
源于数据,高于数据:用户画像是通过分析挖掘用户尽可能多的数据信息得到的。

用户画像的作用

在这里插入图片描述

2.构建用户画像系统

标签表示法(特征空间)

标签是某一种用户特征的符号表示,同时也是特征空间中的维度。
化整为零:标签是某一用户特征的符号表示;每个标签都是特征空间中的基向量。
化零为整:用户画像是一个整体,各个维度不孤立,标签之间有联系;基向量之间有关联,不一定是正交的。
用户画像可以用标签的集合来表示;是特征空间中的高维向量。

用户画像标签举例
在这里插入图片描述
用户画像系统的挑战

记录和存储亿级用户的画像 支持和扩展不断增加的维度和偏好 毫秒级更新 支撑个性化推荐、广告投放和精细化营销等产品

用户画像系统流程
在这里插入图片描述
用户画像处理流程

①明确问题和数据的匹配 追求需求和数据的匹配 明确需求 分类、聚类、推荐和其他 数据的规模、重要特征的覆盖度等 ②数据预处理 数据集成,数据冗余,数值冲突 数据采样 数据清洗、缺失值处理和噪声数据 ③特征工程 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。 特征:对所需解决问题有用的属性 特征的提取、选择和构造 针对所解决的问题选择最有用的特征集合 通过相关系数等方式来计算特征的重要性 人工筛选 有些算法输出特性:Random Forest 维度过多,PCA自动降维 特征提取 业务日志 WEB公开数据抓取 第三方合作 特征处理 特征清洗 特征预处理:值处理、特征选择、特征组合、降维 商业加工 特征监控 指标:时效性、覆盖率和异常值 可视化&预警 ④模型与算法
在这里插入图片描述
问题及常用模型
在这里插入图片描述
用户画像系统架构
在这里插入图片描述
在这里插入图片描述 3.用户标签生成案例

实例:“性别预测

性别预测问题:根据用户数据预测性别
已知数据:数据1,用户使用APP的行为数据;数据2,用户浏览网页的行为数据

步骤1:明确问题

数据挖掘常见问题中的哪一类?

分类、聚类、推荐还是其他?(分类)

数据集规模

数据集是否够大?(分类需要大的数据集)

问题假设

数据是否满足所解决问题的假设?(男女行为不同?)

步骤2:数据预处理

表1:数据1预处理后的结果
在这里插入图片描述

表2:数据2预处理后的结果
在这里插入图片描述

步骤3:表1特征工程

单个特征分析

数值型特征的处理,比如App的启动次数是个连续值,可以按照低、中、高三个档次将启动次数分段成离散值; 类别特征的处理,比如用户使用的设备是三星或者苹果,这是一个类别特征,可以采用0-1编码来处理;

数据归一化

多个特征的分析

设备类型是否决定了性别?做相关性分析,计算相关系数 App的启动次数和停留时长是否完全正相关,结果表明特别相关,去掉停留时长 如果特征过多,可能需要做降维处理

步骤3:表2特征工程

典型的文本数据

网页->分词->去停用词->向量化

分词

可以使用jieba分词或ICTCLAS

去除停用词,停用词表除了加入常规的停用词外,还可以将DF比较高的词加入停用词,作为领域停用词

向量化,一般是将文本转化为TF或TF-IDF向量

结果:
数据1特征工程后的结果:
在这里插入图片描述
数据2特征工程后的结果:
在这里插入图片描述

步骤4:算法和模型

选择算法和模型考虑的因素

训练集的大小 特征的维度大小 所解决问题是否是线性可分的 所有的特征是独立的吗? 需要不需要考虑过拟合的问题 对性能有哪些要求?

奥卡姆剃刀原理:如无必要,勿增实体

LR

只要认为模型是线性可分的,就可采用LR 模型比较抗噪,而且可以通过L1、L2范数来做参数选择 效率高,可以应用于数据特别大的场景 很容易分布式实现

Ensemble方法

根据训练集训练多个分类器,然后综合多个分类器的结果,做出预测
在这里插入图片描述

算法和模型评价
在这里插入图片描述
准确率,召回率,ROC和AUC
Spark ML代码实现

重要概念

DataFrame 用于学习的数据集 可以包含多种类型 管道组件 Transformers:transform() 把一个DF转换成另一个DF的算法 Estimators:fit() 应用在一个DF上生成一个转换器算法

如何工作
在这里插入图片描述
在这里插入图片描述

其他

参数 所有转换器和评估器共享一个公共API 参数名Param是一个参数 ParamMap是一个参数的集合(parameter,value) 传递参数的两种方式: 为实例设置参数 传递ParamMap给fit()或transform()方法 保存和加载管道

Sprak ML代码实例

实例:Estimator,Transformer,and Param 步骤: 准备带标签和特征的数据 创建逻辑回归的评估器 使用setter方法设置参数 使用存储在lr中的参数来训练一个模型 使用paramMap选择指定的参数 准备测试数据 预测结果 实例:Pipeline 步骤: 准备训练文档 配置ML管道,包含三个stage: Tokenizer,HashingTF和lr 安装管道到数据上 保存管道到磁盘 包括安装好的和未安装好的 加载管道 准备测试文档 预测结果 实例:模型调优 步骤: 准备训练数据 配置ML管道,包含三个stage: Tokenizer,HashingTF和lr 使用ParamGridBuilder构造一个参数网络 使用CrossValidator来选择模型和参数 CrossValidator需要一个Estimator,一个评估器参数集合和一个Evaluator 运行交叉校验,选择最好的参数集 准备测试数据 预测结果 实例:通过训练校验分类来调优模型 步骤: 准备训练和测试数据 使用ParamGridBuilder构造一个参数网格 使用TrainValidationSplit来选择模型和参数 CrossValidator需要一个Estimator,一个评估器参数集合和一个Evaluator 运行训练校验分离,选择最好的参数 在测试数据上做预测,模型是参数组合中执行的最好的一个 4.用户画像系统应用

案例1:用户信用等级分级
在这里插入图片描述
案例2:在大数据营销中的应用
在这里插入图片描述
案例3:用户流失预警
在这里插入图片描述
案例4:潜在用户分析
在这里插入图片描述
案例5:异常检测与分析-离群点分析
在这里插入图片描述


作者:LotusQ



推荐系统 数据 大数据技术 用户画像 系统 大数据

需要 登录 后方可回复, 如果你还没有账号请 注册新账号