用户画像·用户性别预测

文章目录

      • 一、为什么进行性别预测
      • 二、特征数据选取
      • 三、算法选择
      • 四、代码示例
        • 1、使用朴素贝叶斯,进行建模
        • 2、使用支持向量机
        • 3、使用逻辑斯蒂回归

一、为什么进行性别预测

  • 用户注册时,所填写的性别,存在大概率的随意性;
  • 不能完全作为用户画像的性别参考;
  • 因此在无法通过直接手段获得用户真实性别的情况下,需要通过用户的各种行为特征,来对用户的性别进行预测。

二、特征数据选取

(1)比如选取以下的用户特征数据:

category1: 30天内买得最多的品类
category2: 30天内买得第二多的品类
category3: 30天内买得第三多的品类
brand1: 30天内买得最多的品牌
brand2: 30天内买得第二多的品牌
brand3: 30天内买得第三多的品牌
day30_buy_cnts: 30天内的购买单数
day30_buy_amt: 30天内的消费总金额
还可以加: 30天兴趣关键词中的top10个等等…

(2)经验样本数据

import pandas as pd
columns = 'category1,category2,category3,brand1,brand2,brand3,day30_buy_cnts,day30_buy_amt,label'.split(',')
data = [[105.0,106.0,102.0,1101.0,1108.0,1109.0,20.0,100.0,1],
[105,107,102,1101,1108,1105,25,80,1],
[106,104,102,1102,1108,1109,20,100,1],
[106,107,105,1103,1108,1105,30,90,1],
[112,107,105,2103,1108,1105,38,60,1],
[112,116,112,2101,2107,2109,10,3000,0],
[115,117,112,2103,2107,2105,9,1800,0],
[112,118,113,2102,2108,2109,10,1009,0],
[116,113,118,2103,2106,2105,5,2000,0],
[115,117,102,2101,2108,2105,8,800,0]]
data = pd.DataFrame(data,columns = columns)
X_train = data.iloc[:,:-1]
y_train = data.iloc[:,-1]

(3)待测试数据

data = [[105.0,106.0,102.0,1101.0,1108.0,1109.0,5.0,320.0,1],
[105,116,102,102,2107,1105,35,180,1],
[112,116,112,2101,1108,2109,10,3000,0],
[115,117,106,2103,2107,2105,9,1800,0]]
data = pd.DataFrame(data,columns = columns)
X_test = data.iloc[:,:-1]
y_test = data.iloc[:,-1]#测试数据的真实类别

三、算法选择

  • 因为我们选择的品牌、品类不是具体的数值,代表的而是分类(是离散的),所以不能用逻辑回归(LR的数据都是连续的特征),而选择用朴素贝叶斯算法

  • 其他算法也是可以的。如果我们对于算法,区别,不是特别清楚,可以多试几个算法,寻找最优算法。

  • 问题是,使用朴素贝叶斯算法,特征值要都是很明确的,不是随机变化性的。但是我们选取的最后两个特征:单数和总金额,是会产生很多很多可能性的值,在同类中是变化不明确的,特征值是很多的。那该怎么办呢?

  • 将最后面的两个特征值的区间化(离散化),把连续变化的特征值, 转成只有有限的若干几种取值。

四、代码示例

1、使用朴素贝叶斯,进行建模

from sklearn.naive_bayes import MultinomialNB,BernoulliNB,GaussianNB
# 离散化区间化
# 训练数据离散化
X_train['day30_buy_cnts'] = pd.cut(X_train['day30_buy_cnts'],bins = [0,10,20,30,40,50],labels=[1,2,3,4,5])
X_train['day30_buy_amt'] = pd.cut(X_train['day30_buy_amt'],bins = [0,100,200,500,1000,2000,5000,100000],labels=[1,2,3,4,5,6,7])# 测试数据离散化
X_test['day30_buy_cnts'] = pd.cut(X_test['day30_buy_cnts'],bins = [0,10,20,30,40,50],labels=[1,2,3,4,5])
X_test['day30_buy_amt'] = pd.cut(X_test['day30_buy_amt'],bins = [0,100,200,500,1000,2000,5000,100000],labels=[1,2,3,4,5,6,7])# 声明模型进行训练和预测
mNB = MultinomialNB()
mNB.fit(X_train,y_train)
y_pred = mNB.predict(X_test)
display(y_pred)
bNB = BernoulliNB()
bNB.fit(X_train,y_train)
y_pred = bNB.predict(X_test)
display(y_pred)
gNB = GaussianNB()
gNB.fit(X_train,y_train)
y_pred = gNB.predict(X_test)
display(y_pred)

结果如下:

真实结果是:1,1,0,0
array([1, 0, 1, 0], dtype=int64)
array([0, 0, 0, 0], dtype=int64)
array([1, 0, 1, 0], dtype=int64)

2、使用支持向量机

from sklearn.svm import SVC
svc = SVC()
svc.fit(X_train,y_train)
svc.predict(X_test)

结果如下:

array([1, 1, 0, 0], dtype=int64)
虽然这四个数据,支持向量机,全部预测准确了,但是现在还不能说,SVM就比朴素贝叶斯好。因为这个数据太少了,只是小案例。如果要比较,唯一标准,就是市场检验!将算法,上线,经过大量数据,验证,看最终效果。

3、使用逻辑斯蒂回归

from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr.fit(X_train,y_train)
lr.predict(X_test)

预测结果如下:

array([1, 0, 1, 0], dtype=int64)

欢迎大家一起学习,进步!
在这里插入图片描述

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/47522.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云开发视频资源变现微信小程序源码

简介: 云开发视频资源变现微信小程序源码,带有流量主功能。获取视频,获取资源需先看广告,资源变现小程序全源码无删减,自己付费做的。 主要功能,就是用户想观看你的视频或者获取你的资源,就需…

拉伯证券|年报行情如火如荼 博弈“超预期”还须警惕“风险点

本周以来,在指数转入高位盘整的背景下,A股商场资金围绕年报头绪展开布局,“年报预增”一跃成为商场最强主线,不少成绩预增公司短期股价收获明显超额收益。 Choice数据显现,截至1月12日盘前,开年以来共136家…

基于上证金融数据的情感分析和走势预测 代码+数据

目录 情感分析结果: ​编辑 首先是获取 股票评论数据的网站: 程序: 数据展示: 情感分析结果: 首先是获取 股票评论数据的网站: 上证指数股吧_上证指数分析讨论社区-东方财富网 程序: im…

FTT暴雷加密熊市雪上加霜?如何对抗系统风险

11月加密领域,正在上演一场新的戏剧:CZ vs SBF。 行情及后续风险预判,这是一场亿万富翁之战。中心化交易所币安和FTX的首席执行官CZ和SBF正在对峙。 FTX事件到11月11日似乎进入了一个新的阶段,在过去的几天里发生的事情几乎可以确…

fastposter v2.9.3 简单易用的海报生成器

🔥🔥🔥 fastposter海报生成器是一款快速开发海报的工具。只需上传一张背景图,在对应的位置放上组件(文字、图片、二维🐴、头像)即可生成海报。 点击代码直接生成各种语言的调用代码,…

fastposter v2.6.1 发布 程序员专属海报生成器

fastposter v2.6.1 发布 程序员专属海报生成器 fastposter电商级海报生成器,程序员专属海报生成器,一分钟完成海报开发,轻松在线作图。支持Java、Python、PHP、 Go、JavaScript等多种语言。 v2.6.1 发布 程序员专属海报生成器 解决Windows下…

你是如何看待“孔乙己的长衫”?

学历是一个十分有争议的话题,观点不一,这使得这个话题讨论起来令人热血沸腾。就人生而言,学历是否会成为敲门砖或枷锁,可以说是个纯粹的看法和态度问题。 首先,我们要看到学历本身。学历是告诉人们你有哪些学科的专业…

浅谈“孔乙己”的长衫

书中的孔乙己 孔乙已是鲁迅笔下人物,穷困流倒还穿着象征读书人的长衫,迁腐、麻木。最近,大家自我调佩是“当代孔乙己”,学历成为思想负担,找工作时高不成低不就。 当代的“孔乙己” 如今社会,从小学开始每…

打工人都在用的AI工具

随着ChatGPT的问世,AI也算迎来了高光时刻!下文是技术宅整理的一些和ChatGPT相关的工具应用,排名不分先后,也不代表个人推荐,但真心真心好好用,主打的就是一个纯粹! 本文将先分享10个有趣的AI小工…

巴黎时装周儿童单元上海站圆满落幕,代言人陈沫含亮相并献上精彩走秀

3月18日,巴黎时装周儿童单元上海站在上海宝华喜来登酒店圆满落幕。巴黎时装周儿童单元(又名:巴黎儿童时装周)由巴黎高定协会(Paris advanced customization Association,PACA)及法国视听艺术协会(Association franaise…

人工智能迎来高光时刻,拟人化AI进入爆发前夜

3 月,随着 OpenAI 新一代模型 GPT-4 以及百度“文心一言”的正式公布,通用人工智能 AGI 的概念再次点燃全球社交平台。从最初的文字对话到如今的看图写代码,AGI 领域终于迎来了属于自己的“iPhone 时刻”,而对话式 AI 这一充满无限…

Meta发布LLaMA 2:分析及解读

Meta发布了LLaMA的新版本。该版本将被称为LLaMA 2,并且可以免费用于研究和商业用途。这是Meta和Microsoft联合发布的成果。 我认为微软希望垄断所有第三方LLM,并将它们作为SaaS(软件即服务)保留在自己的平台上作为商业产品。现在…

用Rword2vec告诉你券商的推荐买股票是否靠谱

最近国内A股走势不错,又有听到周边有不少同事打算入市了。那么咱们IT人员如果相关金融知识不多,又不想买基金交管费的话,跟着券商的推荐买行不行呢? 如果是零基础的朋友请参考https://blog.csdn.net/BEYONDMA/article/details/879…

音频合并的软件有哪些?这几个软件分享给你

我们平时听过的歌曲串烧,是由多首歌曲拼接起来的。如果大家不想在听音乐时手动切换歌曲的话,不妨试试使用软件,将歌曲剪辑拼接起来。但是作为剪辑小白,不知道音频拼接软件哪个好用。没关系,下面给你们分享几款手残党也…

语音合成(speech synthesis)方向六:歌唱合成(singing voice synthesis)

声明:工作以来主要从事TTS工作,工程算法都有涉及,平时看些文章做些笔记。文章中难免存在错误的地方,还望大家海涵。平时搜集一些资料,方便查阅学习:TTS 论文列表 低调奋进 TTS 开源数据 低调奋进。如转载&a…

如何进行音频合并?很简单,只需三步骤

大家有没有经常在短视频上刷到一些歌曲串烧,他们将很多歌曲结合在一起居然毫无违和感,但其实像这样的歌曲合并呀,或者说是音频合并到一块的操作其实是非常简单的,仅需几分钟就能轻松上手,你们也可以像那些短视频的up主…

计算机弹音乐百度百科,电子音乐合成器

电子音乐合成器又简称电子合成器,是由电子设备代替乐队进行演奏和进行自动化编曲的一种电子化设备。用合成器制作声音的方法很多,起先是把若干个正弦波振荡器连在一起,改变各自的频率、振幅,就可以产生不同音色。后来,…

【音乐合成】基于FPGA的音乐合成系统verilog实现

1.软件版本 matlab2013b,quartusii12.1 2.系统FPGA实现 2.1频率选择 音乐的合成主要有几种频率,这里设置如下几组频率,在实际情况下,可以进行扩充。 Fc 261.63; %C Fd 293.66; %D Fe 329.63; %E Ff 349.23; %F Fg 3…

怎么把两个mp3音频合成一个?

怎么把两个mp3音频合成一个?如何合并两个MP3文件为一个音乐文件?两个MP3格式如何合并,两个MP3格式合并方法?这是我最近收到的最多的问题了,而且问这些的多是我们的新手小白,因为专业的人不需要问&#xff0…

java 合并两个音频_如何利用音乐合成软件将多段音频合并为一段?快速合并音频的方法...

在之前的文章中小编介绍了使用音乐剪切工具在一个音频文件中分割出多个音频的片段的方法,然后有小伙伴就问如何利用音乐合成软件将多段音频合并为一段?其实合并音频的方法和分割音频的方法大体上是相同的,如果还有不会编辑音频的小伙伴可以跟…