大数据时代人的数据化
什么是用户画像
用户画像是对现实世界中用户的数学建模。
源于现实,高于现实:用户画像是描述用户的数据,是符合特定业务需求的对用户的形式化描述。
源于数据,高于数据:用户画像是通过分析挖掘用户尽可能多的数据信息得到的。
用户画像的作用
2.构建用户画像系统标签表示法(特征空间)
标签是某一种用户特征的符号表示,同时也是特征空间中的维度。
化整为零:标签是某一用户特征的符号表示;每个标签都是特征空间中的基向量。
化零为整:用户画像是一个整体,各个维度不孤立,标签之间有联系;基向量之间有关联,不一定是正交的。
用户画像可以用标签的集合来表示;是特征空间中的高维向量。
用户画像标签举例
用户画像系统的挑战
用户画像系统流程
用户画像处理流程
实例:“性别预测
性别预测问题:根据用户数据预测性别
已知数据:数据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:异常检测与分析-离群点分析