数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)

本文介绍了如何使用Anaconda和JupyterNotebook进行数据分析,通过聚类分析和关联规则挖掘,探讨了抖音用户浏览行为。文章详细展示了K-means聚类和Apriori算法的应用,以及模型选择、优化(如n_e和max_f优化)和预测准确性的评估。最终,模型准确率高达99%,展示了在实际业务中的应用价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🌟欢迎来到 我的博客 —— 探索技术的无限可能!


🌟博客的简介(文章目录)

本文使用工具
       Anaconda下载安装与使用
       Jupyter Notebook的使用


文章
       数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)
       数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(二)
       数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(总)
       数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(续)
代码
       数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(代码部分)


上接:数据挖掘实战 —— 抖音用户浏览行为数据分析与挖掘(一)

(六)模型选择与建立——聚类分析,关联规则

        针对抖音用户浏览行为数据,我们可以选择使用各种适应的数据挖掘模型或算法,如关联规则挖掘、聚类分析、分类模型等。根据具体的问题和数据特点,选择合适的模型并进行训练和优化。

(1)聚类分析

        聚类方法是一种将数据对象分组或聚集成具有相似特征的类别或簇的技术。聚类分析是无监督学习的一种常用方法,它不依赖于预先定义的类别标签,而是根据数据对象之间的相似性或距离度量来进行分组。

常见的聚类方法:
        A.K均值聚类:将数据对象划分为K个簇,每个簇代表一个聚类中心,通过最小化数据对象与聚类中心之间的距离来进行优化。

        B.层次聚类:基于不同的聚类合并或分裂策略,通过构建聚类树或聚类层次结构来划分数据对象。

        C.密度聚类:通过密度可达性和密度相连性来识别高密度区域,将数据对象划分为簇。

        D.谱聚类:通过数据对象之间的相似性矩阵或图表示,将数据对象划分为簇。

        E.DBSCAN聚类:通过定义邻域半径和最小密度阈值,将数据对象划分为核心对象、边界对象和噪声对象。
在这里插入图片描述

        针对用户和作者的数据特征,使用k-means聚类算法量化的将两个群体进行分类:

        A.导入用于聚类分析的相关库和函数
在这里插入图片描述

        B. 确保计算机上已安装Python和pip,并且已经配置好了正确的环境。
在这里插入图片描述

        C.使用pd.read_csv()函数读取用户特征、作者特征的CSV文件
在这里插入图片描述

        D.基于用户特征数据筛选出满足条件的用户数据,计算满足条件的用户数据占总用户数据的比例

        用户聚类可以服务于平台对用户分级,探索性的分析用户特点,但在数据可视化分析中,可以看到有一部分用户使用程度平台低 ,浏览少,不点赞,对这样的用户进行聚类分析是无效多余的,增加筛选认为至少观看过一个完整短视频且有一定浏览量的用户才具有分析意义。
在这里插入图片描述

        E. 基于作者特征数据筛选出满足条件的作者数据,计算满足条件的作者数据

总作者数据的比例

        而在对作者的考量上,聚类的结果是服务于商务合作和广告投放,此时核心是浏览量,而大部分的作者总浏览量非常小,这些作者是无需考虑的,故进行筛选。
在这里插入图片描述

        F. 定义K-means聚类算法的函数km

        在函数内部,通过循环遍历K值的范围,

            ①初始化KMeans模型并进行聚类。

            ②预测数据的聚类结果。

            ③计算模型的评估指标,包括轮廓系数和SSE(Sum of Squared Errors)。

            ④保存聚类模型。

            ⑤存储评估指标。

            ⑥打印聚类计算完成的消息。

            ⑦保存评估指标,并返回存储了每个K值对应的轮廓系数和SSE的字典。

在这里插入图片描述

        G. 定义绘制聚类效果图的函数draw(sse和sc曲线)

            ①创建一个Line图表对象,并设置图表的初始化选项,包括主题、宽度和高度。

            ②使用.add_xaxis()方法将K值作为X轴数据添加到图表中。

            ③使用.add_yaxis()方法分别将SSE和轮廓系数作为两条线的Y轴数据添加到图表中,并通过yaxis_index参数指定它们在不同的Y轴上。

            ④使用.extend_axis()方法添加一个额外的Y轴。

            ⑤使用.set_global_opts()方法设置图表的全局选项,包括标题、X轴和Y轴的选项。

            ⑥返回创建的图表对象。
在这里插入图片描述

        H. 根据给定的用户数据进行聚类

            ①模型训练与保存:根据给定的用户数据进行聚类,并将聚类结果保存在user_score中
在这里插入图片描述
在这里插入图片描述

            ②聚类k值选择——通过综合肘部法则和sc值,选择作为用户聚类模型

在这里插入图片描述

            ③聚类结果

在这里插入图片描述

        I. 根据给定的作者数据进行聚类

            ①模型训练与保存:根据给定的作者数据进行聚类,并将聚类结果保存在user_score中
在这里插入图片描述
在这里插入图片描述

            ②聚类k值选择——通过综合肘部法则和sc值,选择作为用户聚类模型

在这里插入图片描述

            ③聚类结果
在这里插入图片描述

        聚类的结果解释性较为明显,其核心与浏览量相关,提供了一定数据特征下的量化分类作用。

(2)关联规则

        A.根据 用户特征 的CSV文件使用Apriori算法进行关联规则挖掘并输出关联规则、置信度和支持度。

            ①确保已经安装了pandas和mlxtend库,并且已经将用户特征.CSV文件保存在Jupyter Notebook。
在这里插入图片描述

在这里插入图片描述

            ②使用pd.read_csv()函数读取作者特征的CSV文件
在这里插入图片描述

            ③对数据进行预处理,使用独热编码将数据转换为适用于关联规则挖掘的形式。
在这里插入图片描述

        使用Pandas中的applymap()函数对user_df DataFrame进行转换,对每个元素进行操作。该lambda函数的逻辑是,如果元素大于0,则将其赋值为1,否则赋值为0。

            ④使用Apriori算法挖掘频繁项集,设置适当的min_support参数来控制最小支持度的阈值
在这里插入图片描述

            ⑤使用循环遍历rules的每一行,并输出满足条件的关联规则、支持度和置信度。
在这里插入图片描述
在这里插入图片描述

        B. 根据 作者特征的 CSV文件使用Apriori算法进行关联规则挖掘并输出关联规则、置信度和支持度。
在这里插入图片描述
在这里插入图片描述

        C. 根据 作品特征 的CSV文件使用Apriori算法进行关联规则挖掘并输出关联规则、置信度和支持度。

在这里插入图片描述
在这里插入图片描述

(七)模型评估与调优——二分类预测(浏览行为中的点赞预测)

  1. 导入必要的python软件包和模块
    在这里插入图片描述

  2. 数据类型展示

在这里插入图片描述

        读取数据,并保留用户特征、作品特征和是否点赞,其余无效字段如channel(不确定),finish(没有浏览行为时不存在), H、date(real_time中包括)。

  1. 数据抽样处理
    在这里插入图片描述

        为了减少训练成本,对数据集中的数据进行抽样训练通过等距抽样获取部分浏览信息作为训练数据(需要同时保证点赞数据的合理比例)。

  1. 时间数据处理
    在这里插入图片描述

        训练数据中的real_time字段包括的是字符串对象对应代表时间值,通过将其转化为与固定时间的差值(秒)来进行数值化。
在这里插入图片描述

  1. 数据集划分
    在这里插入图片描述

  2. 模型训练函数
    在这里插入图片描述

  3. 模型训练
    在这里插入图片描述

  4. 绘制模型AUC曲线

在这里插入图片描述

        综合准确率和AUC值表现,模型的效果不是很好,在数据抽样时扩大抽样规模会有效的提高auc值,同时点赞和不点赞的数据分布较为不均衡也是重要原因这里只做继续方法的演示,相对来说随机森林的效果比较好,所以选择随机森林作为二分类模型。

  1. n_e优化

在这里插入图片描述
在这里插入图片描述
        原本是一系列机器学习模型的训练和评估过程,包括逻辑回归(Logistic Regression)、朴素贝叶斯(Gaussian Naive Bayes)、单棵决策树(Decision Tree Classifier)和随机森林(Random Forest Classifier)。每个模型都是独立训练和评估的,没有进行参数优化。

        而n_e优化专注于随机森林分类器,并使用网格搜索(GridSearchCV)来寻找最佳的n_estimators参数。这是一个超参数优化的过程,通过尝试不同的n_estimators值来找到在给定数据集上表现最好的随机森林模型。使用了交叉验证(3折)和ROC AUC作为评分标准。

         总结一下,两者的主要区别:

  • 模型选择与优化

    • 原本是对四个不同的模型进行了训练和评估,但没有进行参数优化。
    • n_e优化只关注随机森林模型,并通过网格搜索进行了参数优化。
  • 参数优化

    • 原本使用了默认参数或者手动设置的参数来训练模型。
    • n_e优化使用网格搜索来自动寻找最佳的n_estimators参数。
  • 评估方法

    • 原本使用模型的score方法来评估测试集上的准确率。
    • n_e优化使用交叉验证和ROC AUC评分来评估模型的性能。
  • 计算资源

    • 原本对每个模型单独训练和评估,相对较快。
    • n_e优化使用了网格搜索,这通常需要更多的计算资源和时间,因为它需要训练和评估多个模型。
  1. max_f优化

在这里插入图片描述
在这里插入图片描述

        原本是一系列机器学习模型的训练和评估过程,包括逻辑回归(Logistic Regression)、朴素贝叶斯(Gaussian Naive Bayes)、单棵决策树(Decision Tree Classifier)和随机森林(Random Forest Classifier)。每个模型都是独立训练和评估的,没有进行参数优化。

        max_f优化专注于随机森林分类器,并使用网格搜索(GridSearchCV)来寻找最佳的max_features参数。这是一个超参数优化的过程,它通过尝试不同的max_features值来找到在给定数据集上表现最好的随机森林模型。这个过程使用了交叉验证(3折)和ROC AUC作为评分标准。

         总结一下,两者的主要区别:

  • 模型选择与优化

    • 原本是对四个不同的模型进行了训练和评估,但没有进行参数优化。
    • max_f优化只关注随机森林模型,并通过网格搜索进行了参数优化。
  • 参数优化

    • 原本使用了默认参数或者手动设置的参数来训练模型。
    • max_f优化使用网格搜索来自动寻找最佳的max_features参数。
  • 评估方法

    • 原本使用模型的score方法来评估测试集上的准确率。
    • max_f优化使用交叉验证和ROC AUC评分来评估模型的性能。
  • 计算资源

    • 原本对每个模型单独训练和评估,相对较快。
    • max_f优化使用了网格搜索,这通常需要更多的计算资源和时间,因为它需要训练和评估多个模型。
  • 并行处理

    • 在两个代码段中,n_jobs=-1都用于指示尽可能使用多的核心进行并行处理,以加速计算过程。
  1. 模型训练

在这里插入图片描述

在这里插入图片描述

        虽然整体的效果不行,auc值比较低,但是可以看到有优化提升。

        如果我们要比较不同模型的性能,那么原本是合适的。但我们想要找到随机森林模型的最佳参数,那么使用网格搜索是更好的选择。

  1. 模型准确率

在这里插入图片描述
在这里插入图片描述

        转换一下df中的时间,看看使用2.5%左右的数据训练出来的模型准确率能有多少。
在这里插入图片描述

        预测点赞的模型准确率为99.6。
在这里插入图片描述

在这里插入图片描述

        即使预测不点赞,模型准确率也高达99.3。

(八)结果解释与应用

        该模型结果显示,通过对用户、作者和作品等主体的特征描述和数据分析方法的应用,可以服务于业务优化等目的。如下图所示。
在这里插入图片描述

        该模型可以应用于对用户价值进行判定,比如第一类用户的浏览量、点赞、完播率都不怎么高,这类用户更多会关注到视频前半段的内容,兴趣点可通过停留时间进行判断,但使用时间相对较长,反映产品依赖性,一定程度上来说算是核心用户。可以利用停留时间判断喜好,优化推荐算法,重点推荐前半段内容吸引力大的。
在这里插入图片描述

        该模型还可以应用于提高作者创作效率,如上图所示。可以看出,高浏览量、高点赞量、高观完量的作者通常都会比其他作者使用更多的配乐,发布的作品更多,去过的城市更多,说明作者需要积累大量的创作经验以及丰富的阅历才能创作出更多脍炙人口的视频。

        这套模型的预测准确率高达99%,说明通过用户特征和作品特征,能够训练一个用于预测用户是否会点赞的二分类模型。在用户对作品的浏览过程中,是否点赞是一个非常重要的指标。通过点赞行为,我们可以判断出用户的喜好,评价作品的质量等。而这套模型可以应用于给自媒体公司提供一个内容优化和广告投放的手段。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZShiJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值