我用加强版RFM模型,轻松扒出B站优质up主!(含数据+实战代码)(中)

简介: 本文在RFM模型基础上做了调整,尝试用更符合b站特性的IFL模型,找到各分区优质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()


image.png


关键词构造

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()

image.png


筛选完只剩下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()


image.png


通过describe()方法发现,最晚发布日期与最早发布日期为0的现象,猜测是在同一天内发布了大量的视频。

# 查找的一天内发布视频数大于5的人
F.loc[F['F'].idxmin()]


image.png


image.png


其视频皆为转载,将其剔除统计范围内。


F = F.loc[F['F']>0]
F.describe()


image.png


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()


image.png


L值


# 计算出点赞率计算出所有视频的点赞率
sc['L'] =(sc['likes']+sc['coins']*2+sc['favorite']*3)/sc['view']*100
sc.head()


image.png


# 构建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()


image.png


维度打分


维度确认的核心是分值确定,按照设定的标准,我们给每个消费者的I/F/L值打分,分值的大小取决于我们的偏好,即我们越喜欢的行为,打的分数就越高:


  • I值,I代表了up主视频的平均评论率,这个值越大,就说明其视频越能使用户有话题,当I值越大时,分值越大。


  • F值表示视频的平均发布周期,我们当然想要经常看到,所以这个值越大时,分值越小。


  • L值表示发布视频的平均点赞率,S值越大时,质量越稳定,分值也就越大。I/S值根据四分位数打分,F值根据更新周期打分。

IFL.describe()


image.png


I值打分:


image.png


L值打分:


image.png


F值根据发布周期打分:


image.png

相关文章
|
内存技术
STM32F103 五个时钟源
STM32F103 五个时钟源
1112 0
|
存储 监控 安全
智慧工地平台,工程全生命周期管理,实现对人、机、料、法、环的全方位实时监控
智慧工地运行的系统包括工程质量管理系统、劳务人员实名制系统、项目人员管理系统、智能监控系统、绿色施工系统、危大工程管理系统、物料管理系统、智能水电监测系统、安全隐患排查系统、互联网远程会议系统等。智能工地能够有效提高建筑施工质量,这些系统的运行能够使我们的建筑行业更加高效和安全。
747 0
|
11月前
|
人工智能 JavaScript API
MCP零基础学习(2):开发环境配置指南
本文提供MCP开发的完整环境配置指南,涵盖Python(FastMCP服务端)和Node.js(客户端)双环境搭建,推荐使用UV超高速包管理器和镜像加速方案。包含Mock服务端创建、客户端调用测试、VS Code调试配置及常见问题解决方案,助您快速构建跨平台MCP应用并集成AI能力。
|
人工智能 编解码 算法
【AI系统】EfficientFormer 系列
本文介绍了一种名为 EfficientFormer 的轻量化 Transformer 模型,旨在优化移动设备上的推理速度。通过重新设计 ViT 及其变体,特别是针对移动设备的延迟优化,EfficientFormer 引入了维度一致的 Transformer Block,并通过网络模型搜索获得了多个系列的模型。EfficientFormer V2 进一步改进了模型设计,引入细粒度联合搜索策略,优化了延迟和参数量,实现了更高的性能和效率。
497 8
【AI系统】EfficientFormer 系列
|
消息中间件 Java Kafka
Golang 语言中 kafka 客户端库 sarama
Golang 语言中 kafka 客户端库 sarama
924 0
|
Go 数据安全/隐私保护 iOS开发
Mac系统重装指南(不抹盘):2023版保姆级教程,轻松解决macOS问题并保留数据和软件
Mac系统重装指南(不抹盘):2023版保姆级教程,轻松解决macOS问题并保留数据和软件
1399 0
|
Java 测试技术 数据库
在Spring Boot项目中集成单元测试的策略
在Spring Boot项目中集成单元测试的策略
|
存储 监控 开发工具
如何查看崩溃日志
如何查看崩溃日志
443 1
|
缓存 算法 编译器
C/C++编译器内存优化技术:内存优化关注程序对内存的访问和使用,以提高内存访问速度和减少内存占用。
C/C++编译器内存优化技术:内存优化关注程序对内存的访问和使用,以提高内存访问速度和减少内存占用。
786 0
|
人工智能 大数据 API
一句提示词生成整个代码库——Gpt Engineer神级项目开源(附演示视频)
一句提示词生成整个代码库——Gpt Engineer神级项目开源(附演示视频)
508 0