如何用 RFM 模型扒出 B 站优质 UP 主? 附实战代码

如何用 RFM 模型扒出 B 站优质 UP 主?| 附实战代码

责编|郭芮
不管前浪还是后浪,能够浪起来的才算是好浪。
相信大家最近都被号称“浪里白条”的b站刷了不止一次屏。这次咱们先不谈价值观,主要从数据的角度,扒一扒让b站能够在浪里穿梭的资本——优质UP主。
本文在RFM模型基础上做了调整,尝试用更符合b站特性的IFL模型,找到各分区优质up主。整个过程以分析项目的形式展开,最终附上了完整源数据和代码,方便感兴趣的同学练手。
项目概览
分析目的
对2019年1月~2020年3月发布的视频进行分析,挑选出视频质量高,值得关注的up主。
数据来源
分析数据基于bilibili网站上的公开信息,主要爬取了以下数据维度:
2019年1月~2020年3月,科技区播放量过5w视频的分区名称、作者名称、作者id、发布时间、播放数、硬币数、弹幕数、收藏数、点赞数、分享数、评论数,共计50130行。
源数据下载链接
链接:https://pan.baidu.com/s/1RIxOxh-TFMey9sGvZLVuJg,提取码:bhh2。
数据概览
视频信息表:
coins:投硬币数
danmu:弹幕数
favorite:收藏数
likes:点赞数
replay:评论数
share:分享数
view:播放量
各字段数量:
缺失值数量:
数据清洗
删除空值
df=df.dropna
df.info
共删除了19行数据,剩余50111行数据。
删除重复值
df=df.drop_duplicates
df.info
删除了1312行重复的数据,剩余数据量48799行。
提取所需关键词
df=df[[‘分区’,’author’,’date’,’coins’,’danmu’,’favorite’,’likes’,’replay’,’share’,’view’]]
df.head
构建模型
RFM模型是衡量客户价值和创利能力的重要工具和手段。通过一个客户近期购买行为、购买的总体频率以及消费金额三项指标来描述客户的价值状况。
R:最近一次消费时间(最近一次消费到参考时间的间隔)
F:消费的频率(消费了多少次)
M:消费的金额(总消费金额)
但RFM模型并不能评价视频的质量,所以在这里针对up主的视频信息构建了IFL模型,以评估视频的质量。
I(Interaction_rate):
I值反映的是平均每个视频的互动率,互动率越高,表明其视频更能产生用户的共鸣,使其有话题感。
F(Frequence):
F值表示的是每个视频的平均发布周期,每个视频之间的发布周期越短,说明内容生产者创作视频的时间也就越短,创作时间太长,不是忠实粉丝的用户可能将其遗忘。
L(Like_rate):
L值表示的是统计时间内发布视频的平均点赞率,越大表示视频质量越稳定,用户对up主的认可度也就越高。
提取需要的信息
根据不同的分区进行IFL打分,这里以科普区为例:
sc=df.loc[df[‘分区’]==’科学科普’]
so=df.loc[df[‘分区’]==’社科人文’]
ma=df.loc[df[‘分区’]==’机械’]
tec=df.loc[df[‘分区’]==’野生技术协会’]
mi=df.loc[df[‘分区’]==’星海’]#一般发布军事内容
car=df.loc[df[‘分区’]==’汽车’]
sc.info
关键词构造
F值:首先,先筛选出发布视频大于5的up主,视频播放量在5W以上的视频数少于5,说明可能是有些视频标题取得好播放量才高,而不是视频质量稳定的up主。
#计算发布视频的次数
count=sc.groupby(‘author’)[‘date’].count.reset_index
count.columns=[‘author’,’times’]
#剔除掉发布视频少于5的up主
com_m=count[count[‘times’]>5]
#com_m=pd.merge(count,I,on=’author’,how=’inner’)
com_m.info
筛选完只剩下208个up主的视频数在5个以上:
last=sc.groupby(‘author’)[‘date’].max
late=sc.groupby(‘author’)[‘date’].min
#最晚发布日期与最早之间的天数/发布次数,保留整数,用date重新命名列
F=round((last-late).dt.days/sc.groupby(‘author’)[‘date’].count).reset_index
F.columns=[‘author’,’F’]
F=pd.merge(com_m,F,on=’author’,how=’inner’)
F.describe
通过describe方法发现,最晚发布日期与最早发布日期为0的现象,猜测是在同一天内发布了大量的视频。
#查找的一天内发布视频数大于5的人
F.loc[F[‘F’].idxmin]
其视频皆为转载,将其剔除统计范围内。
F=F.loc[F[‘F’]>0]
F.describe
I值
#构建I值
danmu=sc.groupby(‘author’)[‘danmu’].sum
replay=sc.groupby(‘author’)[‘replay’].sum
view=sc.groupby(‘author’)[‘view’].sum
count=sc.groupby(‘author’)[‘date’].count
I=round((danmu+replay)/view/count*100,2).reset_index#
I.columns=[‘author’,’I’]
F_I=pd.merge(F,I,on=’author’,how=’inner’)
F_I.head
L值
#计算出点赞率计算出所有视频的点赞率
sc[‘L’]=(sc[‘likes’]+sc[‘coins’]*2+sc[‘favorite’]*3)/sc[‘view’]*100
sc.head
#构建L值
L=(sc.groupby(‘author’)[‘L’].sum/sc.groupby(‘author’)[‘date’].count).reset_index
L.columns=[‘author’,’L’]
IFL=pd.merge(F_I,L,on=’author’,how=’inner’)
IFL=IFL[[‘author’,’I’,’F’,’L’]]
IFL.head
维度打分
维度确认的核心是分值确定,按照设定的标准,我们给每个消费者的I/F/L值打分,分值的大小取决于我们的偏好,即我们越喜欢的行为,打的分数就越高:
I值,I代表了up主视频的平均评论率,这个值越大,就说明其视频越能使用户有话题,当I值越大时,分值越大。
F值表示视频的平均发布周期,我们当然想要经常看到,所以这个值越大时,分值越小。
L值表示发布视频的平均点赞率,S值越大时,质量越稳定,分值也就越大。I/S值根据四分位数打分,F值根据更新周期打分。
IFL.describe
I值打分:
L值打分:
F值根据发布周期打分:
分值计算
#bins参数代表我们按照什么区间进行分组
#labels和bins切分的数组前后呼应,给每个分组打标签
#right表示了右侧区间是开还是闭,即包不包括右边的数值,如果设置成False,就代表[0,30)
IFL[‘I_SCORE’]=pd.cut(IFL[‘I’],bins=[0,0.03,0.06,0.11,1000],
labels=[1,2,3,4],right=False).astype(float)
IFL[‘F_SCORE’]=pd.cut(IFL[‘F’],bins=[0,7,15,30,90,1000],
labels=[5,4,3,2,1],right=False).astype(float)
IFL[‘L_SCORE’]=pd.cut(IFL[‘L’],bins=[0,5.39,9.07,15.58,1000],
labels=[1,2,3,4],right=False).astype(float)
IFL.head
判断用户的分值是否大于平均值:
#1为大于均值0为小于均值
IFL[‘I是否大于平均值’]=(IFL[‘I_SCORE’]>IFL[‘I_SCORE’].mean)*1
IFL[‘F是否大于平均值’]=(IFL[‘F_SCORE’]>IFL[‘F_SCORE’].mean)*1
IFL[‘L是否大于平均值’]=(IFL[‘L_SCORE’]>IFL[‘L_SCORE’].mean)*1
IFL.head
客户分层
RFM经典的分层会按照R/F/M每一项指标是否高于平均值,把用户划分为8类,我们根据根据案例中的情况进行划分,具体像下面表格这样:
引入人群数值的辅助列,把之前判断的IFS是否大于均值的三个值串联起来:
IFL[‘人群数值’]=(IFL[‘I是否大于平均值’]*100)+(IFL[‘F是否大于平均值’]*10)+(IFL[‘L是否大于平均值’]*1)
IFL.head
构建判断函数,通过判断人群数值的值,来返回对应标签:
将标签分类函数应用到人群数值列:
IFL[‘人群类型’]=IFL[‘人群数值’].apply(transform_label)
IFL.head
各类用户占比
cat=IFL[‘人群类型’].value_counts.reset_index
cat[‘人数占比’]=cat[‘人群类型’]/cat[‘人群类型’].sum
cat
各分区up主排行top15
科学科普分区
high=IFL.loc[IFL[‘人群类型’]==’高价值up主’]
rank=high[[‘author’,’L’,’I’,’F’]].sort_values(‘L’,ascending=False)
rank.to_excel(‘rank.xlsx’,sheet_name=’科学科普’,encoding=’utf-8′)
社科人文分区
机械分区
机械分区高价值up主只有5位,因为机械分区在科技区是个小分区,发布视频的up主仅有54位。
野生技术协会分区
星海
汽车
声明:本文为作者投稿,版权归其所有。
☞中国AI应用元年来了!
☞年仅5岁的Rust如何成为最受欢迎的编程语言?
☞15岁黑进系统,发挑衅邮件意外获Offer,不惑之年捐出全部财产,TwitterCEO太牛了!
☞避坑!使用Kubernetes最易犯的10个错误
☞必读!53个Python经典面试题详解
☞赠书|1月以来Tether增发47亿USDT,美元都去哪儿了?

主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/14037.html

(0)
上一篇 2023年3月4日 上午8:16
下一篇 2023年3月4日 上午8:23

相关推荐

  • 这些国家影视作品最受Netflix用户青睐

    这些国家影视作品最受Netflix用户青睐 网飞资源库的庞大是众所周知的,其美国本土对非英语类影视内容的需求在不断增长。据悉,在2020年非英语类作品的观看量涨幅高达50%,当然这同疫情背景之下大家被迫宅在家中不无关系。网飞最新发布了一份最受本土用户青睐的国际影视“目的地”榜单,它基于其从去年2月份开始每周更新的最热门影视作品前十。详情如下,排名不分先后:加…

    RUST资讯 2023年3月11日
    30
  • 魔兽世界副本介绍——地狱火堡垒

    魔兽世界副本介绍——地狱火堡垒 当加尔鲁什推动格罗玛什建造了这座位于塔纳安丛林中心的巨型堡垒时,是打算将其作为入侵艾泽拉斯的桥头堡。就连地狱火这个来自另一个时空、另一片土地的名字,也是来自加尔鲁什的建议。他梦想在一片未经摧残的土地上看到高耸强大的兽人钢铁建筑,而不是他记忆中那片位于外域的废土。虽然时代已经改变,这片土地却依然如故。副本地图副本首领奇袭地狱火在…

  • 新加坡管理发展学院(MDIS)举行2017开放日活动

    新加坡管理发展学院(MDIS)举行2017开放日活动 新华网新加坡3月5日电(谢晓语阴相如)新加坡管理发展学院(MDIS)4日举行开放日活动,向学生和公众介绍学院独特的课程和实习项目,并展示其最新的烘焙和烹饪设备。新加坡管理发展学院(MDIS)是新加坡国内成立最早的一家非盈利的终生学习专业机构,每年都会举行开放日活动。活动不仅包括一系列实用的烘焙知识和行业洞…

  • 铁锈水桶1-10关图文通关攻略汇总 关卡大全

    铁锈水桶1-10关图文通关攻略汇总 关卡大全 《铁锈水桶》图文通关攻略汇总,97973小编为大家带来了《铁锈水桶》1-10关图文通关攻略汇总,希望能对玩铁锈水桶的玩家有所帮助!游戏介绍《铁锈水桶》(RustBucket)是知名小游戏开发商Nitrome的回合制Roguelike-RPG手游,这款精致的像素风手游不同于以往的休闲虐心玩法,玩家将在随机生成的场景…

  • Obsidian 插件介绍篇(一)

    Obsidian 插件介绍篇(一) 前言:在GitHub上搜索插件时:Searchobsidiantextexpand(github.com),发现如下几个类似的插件:在GitHub上搜索到3个插件如上图示,三个插件名称差不多,但用途是有些差异的,我常用的是第一个,后面两个在一些场景下也很有用:比如要在笔记中引用代码来协助处理的功能、或者输入:smile符号…

    RUST资讯 2023年2月19日
    70
  • 罗技G502游戏鼠标:一款用了就停不下来的神器

    罗技G502游戏鼠标:一款用了就停不下来的神器 鼠标作为电脑的必备外设之一,它从出生以来,就一直被改进。如今的鼠标主要分为有线鼠标和无线鼠标,其中出色的无线鼠标能够极大的方便人们的工作,当然同样会带给使用者不错的游戏体验,但续航会是个大问题;而出色的有线鼠标能够有效地提升游戏玩家的体验。现在大部分游戏鼠标都将重点放在了定位准确这个点上,而忽略了使用手感。其实…

  • 小说:她刚上床,床竟然给塌了,还因此触发了个机关喷出腐蚀液体

    小说:她刚上床,床竟然给塌了,还因此触发了个机关喷出腐蚀液体 电光火石之间,那床榻似乎承受不住人的重量,在她的身子接触到床面的一瞬间,好似触发了什么机关,只听一阵尖锐之物刺入肉体衣衫的“噗噗”响起。那丫鬟嘴巴猛地长得老大,目佌欲裂的瞪着天花板的方向,眼睛里满是疼痛,而后又听一阵木屑坠落的声响,只一瞬间,一种难闻又泛着腥味的液体从那空荡的木头当中缓慢滑落。“呲…

  • 河北省邯郸市市场监督管理局抽查:6个批次成品油不合格

    河北省邯郸市市场监督管理局抽查:6个批次成品油不合格 中国质量新闻网讯2022年1月7日,河北省邯郸市市场监督管理局网站发布关于市级成品油质量“绿色”专项监督抽查情况的通报。据通报,2021年10月至11月,邯郸市市场监督管理局对全市成品油质量开展了一次“绿色”专项监督抽查。共抽查成品油480批次,其中汽油301个批次,柴油179个批次。结果显示,有6个批次…

    RUST资讯 2023年2月26日
    50
  • Rust vs Racke

    Rust vs Racket Rust是最近很火热的语言,以高性能著称。Racket是Lisp的一个方言,也是一门十分强大的语言,不过很多人并不了解这种函数式语言,然而最近做的一个测试试图比较一下两种语言在CPU计算方面的表现。选取了Leetcode中的一道问题:给你n个非负整数a1,a2,…,an,每个数代表坐标中的一个点(i,ai)。在坐标内…

    RUST资讯 2023年2月20日
    60
  • 过去这一年,咱威海都发生了哪些大事?

    过去这一年,咱威海都发生了哪些大事? 今天,让我们共同回眸过去这一年,回顾环翠区委区政府以人民为中心的探索和实践,重温每一个普通环翠人的奋斗足迹!◆◆◆◆◆这一年“放管服”改革出实招,将“三联三服”工作推向深入深化,使环翠区真正成为企业膨胀的舞台、投资创业的热土、人才聚集的高地~这一年新旧动能转换重大工作加快实施,区域突破发展步履坚定,现代化幸福威海的首善之…

    RUST资讯 2023年2月26日
    40
关注微信