目录

一、性别预测需求

二、算法选择-逻辑回归分类算法

三、特征工程-选择特征

四、特征工程-数据加工

五、机器学习-模型训练

六、机器学习-性别预测


多易教育,专注大数据培训; 课程引领市场,就业乘风破浪
多易教育官网地址
https://www.51doit.cn
多易教育在线学习平台
https://v.51doit.cn

一、性别预测需求

用户注册时,所填写的性别,存在大概率的随意性;
不能完全作为用户画像的性别参考;

在无法通过直接手段获得用户真实性别的情况下,需要通过用户的各种行为特征,来对用户的性别进行预测;

二、算法选择-逻辑回归分类算法

可以用朴素贝叶斯做;
也可以用逻辑回归算法来做;

三、特征工程-选择特征

有以下样本特征数据,需要对未知数据进行消费行为性别预测
category1: 30天内买得最多的品类
category2: 30天内买得第二多的品类
category3: 30天内买得第三多的品类
brand1: 30天内买得最多的品牌
brand2: 30天内买得第二多的品牌
brand3: 30天内买得第三多的品牌
day30_buy_cnts: 30天内的购买单数
day30_buy_amt: 30天内的消费总金额

还可以加:30天兴趣关键词中的top10个 ......
label,gid,category1,category2,category3,brand1,brand2,brand3,day30_buy_cnts,day30_buy_amt
0.0,1,105.0,106.0,102.0,1101.0,1108.0,1109.0,20.0,100.0
0,2,105,107,102,1101,1108,1105,25,80
0,3,106,104,102,1102,1108,1109,20,100
0,4,106,107,105,1103,1108,1105,30,90
0,5,112,107,105,2103,1108,1105,38,60
1,6,112,116,112,2101,2107,2109,10,3000
1,7,115,117,112,2103,2107,2105,9,1800
1,8,112,118,113,2102,2108,2109,10,1009
1,9,116,113,118,2103,2106,2105,5,2000
1,10,115,117,102,2101,2108,2105,8,800

四、特征工程-数据加工

对上述数据,简单转向量即可

五、机器学习-模型训练

import cn.doitedu.commons.utils.SparkUtil
import org.apache.spark.ml.classification.LogisticRegression
import org.apache.spark.ml.linalg.Vectors
import org.apache.spark.mllib.evaluation.MulticlassMetrics
import org.apache.spark.sql.{Dataset, Row}/*** @date: 2019/9/26* @site: www.doitedu.cn* @author: hunter.d 涛哥* @qq: 657270652* @description:*/
object GenderPre {def main(args: Array[String]): Unit = {val spark = SparkUtil.getSparkSession(this.getClass.getSimpleName)import spark.implicits._val dfsample = spark.read.option("header", true).option("inferSchema", true).csv("rec_system/data/lgreg/lgreg_sample.csv")dfsample.printSchema()val dftest = spark.read.option("header", true).option("inferSchema", true).csv("rec_system/data/lgreg/lgreg_test.csv")dftest.printSchema()val vecsample = dfsample.map({case Row(label: Double, gid: Int, category1: Double, category2: Double, category3: Double, brand1: Double, brand2: Double, brand3: Double, day30_buy_cnts: Double, day30_buy_amt: Double)=> {val fts = Array(category1, category2, category3, brand1, brand2, brand3, day30_buy_cnts, day30_buy_amt)(gid, label, Vectors.dense(fts))}}).toDF("gid", "label", "features")vecsample.show(10, false)val vectest = dftest.map({case Row(label: Double, gid: Int, category1: Double, category2: Double, category3: Double, brand1: Double, brand2: Double, brand3: Double, day30_buy_cnts: Double, day30_buy_amt: Double)=> {val fts = Array(category1, category2, category3, brand1, brand2, brand3, day30_buy_cnts, day30_buy_amt)(gid, label, Vectors.dense(fts))}}).toDF("gid", "label", "features")val lg = new LogisticRegression().setRegParam(0.5).setLabelCol("label").setFeaturesCol("features")val res = lg.fit(vecsample).transform(vectest)res.show(10, false)val rd = res.rdd.map(row => (row(1).asInstanceOf[Double], row(5).asInstanceOf[Double]))rd.take(10).foreach(println)/*** 算法评估*/val mc = new MulticlassMetrics(rd)// 准确度println(mc.accuracy)// 精确度println(mc.precision(1.0))// 混淆矩阵val iter = mc.confusionMatrix.rowIteriter.foreach(println)// 召回率println(mc.recall(1.0))spark.close()}
}

六、机器学习-性别预测

val res = lg.fit(vecsample).transform(vectest)res.show(10, false)val rd = res.rdd.map(row => (row(1).asInstanceOf[Double], row(5).asInstanceOf[Double]))rd.take(10).foreach(println)/*** 算法评估*/val mc = new MulticlassMetrics(rd)// 准确度println(mc.accuracy)// 精确度println(mc.precision(1.0))// 混淆矩阵val iter = mc.confusionMatrix.rowIteriter.foreach(println)// 召回率println(mc.recall(1.0))

多易教育,专注大数据培训; 课程引领市场,就业乘风破浪
多易教育官网地址
https://www.51doit.cn
多易教育在线学习平台
https://v.51doit.cn

22_多易教育之《yiee数据运营系统》用户画像-消费行为性别预测篇相关推荐

  1. 19_多易教育之《yiee数据运营系统》用户画像-算法导论篇

    目录 一.机器学习概念 二.机器学习算法的分类 1.监督学习 2.无监督学习 3.半监督学习 4.向量入门 三.机器学习的常见算法 四.基本数学知识 1.向量入门 2.向量的距离(相似度) 3.矩阵入 ...

  2. 29_多易教育之《yiee数据运营系统》附录:扩展知识点汇总系列二

    目录 一.OLAP多维分析概念及函数 1.cube导论 2.cube核心操作 1).cube核心操作 2).DICE (切块) 3).ROLL UP (上卷) 4).DRILL DOWN (下钻) 5 ...

  3. 大数据应用之用户画像的流程、方法详解

    导读:用户标签是个性化推荐.计算广告.金融征信等众多大数据业务应用的基础,它是原始的用户行为数据和大数据应用之间的桥梁,今天乐水老师专门给大家介绍用户标签的构建方法,也就是用户画像技术. 01 用户画 ...

  4. 金融行业如何用大数据构建精准用户画像?

    原文地址:https://www.jianshu.com/p/6e0a0ca5948e 1. 什么是用户画像? 2. 用户画像的四阶段 用户画像的焦点工作就是为用户打"标签",而一 ...

  5. 如何用大数据构建精准用户画像?

    什么是用户画像? 用户画像(User Profile),作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准.快速地分析用户行为习惯.消费习惯等重要信息,提供了足够的数据基础,奠定了大数据 ...

  6. 如何利用大数据技术构建用户画像

    在大数据时代,我们经常谈论的概念之一是用户画像.准确营销的商业目的可以通过在互联网领域利用用户画像来实现,这就是为什么在这个流量至上的时代构建用户画像是如此重要.任何企业公司的产品要想做好精细化运营, ...

  7. 社群运营的用户画像分析有哪些方法?

    社群运营中有个很关键的因素就是用户画像分析,为什么会有这个喃?那是因为只有通过对用户进行画像分析,商家才可以有效的掌握用户的准确信息,并通过画像分析出来的结果对用户进行分群.分层,最后有针对性的进行用 ...

  8. 大数据实战之用户画像概念、项目概述及环境搭建

    下面跟着我一起来学习大数据获取用户画像: 项目Profile课程安排 : 用户画像概念 1.用户画像概述 1.1.产生背景 早期的用户画像起源于交互设计之父Alan Cooper提出的"Pe ...

  9. 让机器读懂用户--大数据中的用户画像

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.用户画像的定义 用户画像(persona) 的概念最早由交互设计之父Alan Cooper 提出: "Personas are a c ...

  10. 大数据营销之用户画像

    点击上方"数据与智能","星标或置顶公众号" 第一时间获取好内容 在各行各业都全力拥抱"大数据"的今天,随着获客成本的急剧攀升,竞争日益残酷 ...

最新文章

  1. 成功将BlogEngine 1.5 升级到了BlogEngine 2.0
  2. iOS开发实战-时光记账Demo 本地数据库版
  3. screen投屏怎么用_Screen投屏没有声音如何解决?
  4. 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting
  5. python代码大全o-Python简单I/O操作示例
  6. iTween基础之功能简介
  7. 上有硬核理论下能操刀AI落地,这里走出来的人都有“开挂人生”
  8. arm中断保护和恢复_ARM中断返回的详细分析
  9. pat 1025 反转链表
  10. Oracle 11g DRCP连接方式——基本原理
  11. Hangfire定时触发作业,好像很简单?
  12. itunes卸载工具_iTunes卸载麻烦
  13. java字符编码方式_java字符编码方式总结
  14. EDM大师独家收藏的30个绝佳节日邮件模板
  15. 3D游戏编程——游戏的本质
  16. 快速生成数据库文档--screw
  17. 屏幕背光的PWM控制
  18. 长沙银河计算机学校,长沙银河中等职业学校办学特色
  19. 堆内存和栈内存的区别(通俗版)
  20. 计算机的发展史英语作文,选择一种计算机英语作文:求一篇关于计算机发展史的英语作文...

热门文章

  1. php如何代理yy直播源,财经直播,调用YY直播源
  2. 遗传算法C语言实现以及思路详解简单易懂
  3. 猎证计算机等级考试二级试题讲解,猎证计算机等级考试系统
  4. matlab2016a下载包及安装教程
  5. 数据集_FashionMNIST 数据集
  6. VCForPython27.msi下载
  7. harview .har文件解析
  8. 系统动力学Vensim的使用
  9. windows下WDK创建免费的测试证书,并签名windows驱动文件(附带测试效果)
  10. 同轴全息matlab仿真,基于MATLAB的计算全息干涉图仿真