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

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

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

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

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

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



目录
相关文章
|
2天前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
|
11天前
|
供应链 数据可视化 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
本文详细介绍了第十一届泰迪杯数据挖掘挑战赛B题的解决方案,涵盖了对产品订单数据的深入分析、多种因素对需求量影响的探讨,并建立了数学模型进行未来需求量的预测,同时提供了Python代码实现和结果可视化的方法。
28 3
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
|
1天前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
|
11天前
|
机器学习/深度学习 数据采集 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题二
本文提供了第十一届泰迪杯数据挖掘挑战赛B题问题二的详细解题步骤,包括时间序列预测模型的建立、多元输入时间预测问题的分析、时间序列预测的建模步骤、改进模型的方法,以及使用Python进行SARIMA模型拟合和预测的具体实现过程。
23 1
|
11天前
|
供应链 算法 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛B题的解决方案,深入分析了产品订单数据,并使用Arimax和Var模型进行了需求预测,旨在为企业供应链管理提供科学依据,论文共23页并包含实现代码。
23 0
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
|
11天前
|
机器学习/深度学习 安全 算法
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码
本文总结了2023年第十一届泰迪杯数据挖掘挑战赛A题的新冠疫情防控数据分析,提供了32页和40页的论文以及实现代码,涉及密接者追踪、疫苗接种影响分析、重点场所管控以及疫情趋势研判等多个方面,运用了机器学习算法和SEIR传染病模型等方法。
22 0
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 32页和40页论文及实现代码
|
11天前
|
机器学习/深度学习 安全 算法
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 建模方案及python代码详解
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛A题的解题思路和Python代码实现,涵盖了新冠疫情防控数据的分析、建模方案以及数据治理的具体工作。
31 0
【2023年第十一届泰迪杯数据挖掘挑战赛】A题:新冠疫情防控数据的分析 建模方案及python代码详解
|
6天前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
20 2
|
10天前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
|
11天前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
26 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析

热门文章

最新文章