本文主要介绍了如何利用Anaconda和Jupyter Notebook工具进行数据挖掘实战,包括抖音用户浏览行为数据分析与挖掘。首先,我们使用Anaconda下载安装与使用,确保计算机上已安装Python和pip,并且已经配置好了正确的环境。接着,我们使用pd.read_csv()函数读取用户特征、作者特征的CSV文件,并基于用户特征数据筛选出满足条件的用户数据,计算满足条件的用户数据占总用户数据的比例。然后,我们使用聚类分析方法对用户进行分类,如K均值聚类、层次聚类、密度聚类、谱聚类和DBSCAN聚类等。最后,我们使用Jupyter Notebook进行代码部分的编写和展示。 在数据挖掘实战中,我们还需要注意模型选择与建立——聚类分析,关联规则。针对抖音用户浏览行为数据,我们可以选择使用各种适应的数据挖掘模型或算法,如关联规则挖掘、聚类分析、分类模型等。根据具体的问题和数据特点,选择合适的模型并进行训练和优化。例如,我们可以使用K均值聚类算法量化的将两个群体进行分类,或者使用谱聚类方法将数据对象划分为簇。 总之,通过使用Anaconda和Jupyter Notebook工具,我们可以有效地进行数据挖掘实战,并从中获取有价值的信息和洞见。 在对作者的考量上,聚类的结果是服务于商务合作和广告投放,此时核心是浏览量。然而,大部分作者的浏览量非常小,这些作者无需考虑,因此进行筛选。 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值,选择作为用户聚类模型;
- 聚类结果:聚类的结果解释性较为明显,其核心与浏览量相关,提供了一定数据特征下的量化分类作用。 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算法进行关联规则挖掘并输出关联规则、置信度和支持度。 (七)模型评估与调优——二分类预测(浏览行为中的点赞预测) 导入必要的python软件包和模块。 数据类型展示:读取数据,并保留用户特征、作品特征和是否点赞,其余无效字段如channel(不确定),finish(没有浏览行为时不存在), H、date(real_time中包括)。 数据抽样处理:为了减少训练成本,对数据集中的数据进行抽样训练通过等距抽样获取部分浏览信息作为训练数据(需要同时保证点赞数据的合理比例)。 时间数据处理:训练数据中的real_time字段包括的是字符串对象对应代表时间值,通过将其转化为与固定时间的差值(秒)来进行数值化。 数据集划分:模型训练函数。 模型训练:绘制模型AUC曲线。 综合准确率和AUC值表现,模型的效果不是很好,在数据抽样时扩大抽样规模会有效的提高auc值,同时点赞和不点赞的数据分布较为不均衡也是重要原因这里只做继续方法的演示,相对来说随机森林的效果比较好,所以选择随机森林作为二分类模型。 n_e优化:原本是一系列机器学习模型的训练和评估过程,包括逻辑回归(Logistic Regression)、朴素贝叶斯(Gaussian Naive Bayes)、单棵决策树(Decision Tree Classifier)和随机森林(Random Forest Classifier)。每个模型都是独立训练和评估的,没有进行参数优化。 在机器学习领域,模型的性能优化是至关重要的。本文将探讨两种不同的参数优化方法:n_estimators和max_f。这两种方法分别专注于随机森林分类器的不同方面,并使用不同的评估标准来寻找最佳的参数值。 首先,我们来看n_estimators优化。这种方法主要关注随机森林分类器的节点数量(n_estimators)参数。通过网格搜索(GridSearchCV),我们可以探索不同n_estimators值对模型性能的影响,从而找到在给定数据集上表现最好的随机森林模型。交叉验证(3折)和ROC AUC作为评分标准被用来评估模型的性能。 接下来,我们来看max_f优化。这种方法主要关注随机森林分类器的树的最大特征数(max_features)参数。同样地,通过网格搜索(GridSearchCV),我们可以探索不同max_features值对模型性能的影响,从而找到在给定数据集上表现最好的随机森林模型。同样地,交叉验证(3折)和ROC AUC作为评分标准被用来评估模型的性能。 总结一下,两者的主要区别在于:
- n_estimators优化专注于随机森林分类器,而max_f优化专注于随机森林分类器的最大特征数。
- 两者都是通过网格搜索来寻找最佳的参数值,但n_estimators优化使用的是交叉验证(3折),而max_f优化使用的是ROC AUC作为评分标准。 虽然整体的效果可能不是最优的,auc值比较低,但是可以看到有优化提升。如果我们要比较不同模型的性能,那么原本是合适的。但我们想要找到随机森林模型的最佳参数,那么使用网格搜索是更好的选择。 最后,预测点赞的模型准确率为99.6。即使预测不点赞,模型准确率也高达99.3。这表明该模型可以有效地服务于业务优化等目的,通过对用户、作者和作品等主体的特征描述和数据分析方法的应用。如下图所示。 该模型不仅可用于提高作者的创作效率,如上所述。从数据分析中可以明显看出,那些拥有高浏览量、高点赞量和高观完量的作者,通常也会在配乐使用、作品发布数量以及旅行经历方面领先于其他作者。这表明,为了创作出广受好评的视频内容,作者需要积累丰富的创作经验和生活阅历。 这套模型的预测准确率高达99%,这证明了通过分析用户特征和作品特征,我们能够训练出一个用于预测用户是否会点赞的二分类模型。在用户对作品的浏览过程中,点赞行为是一个重要的指标,它反映了用户的喜好程度以及作品的质量。因此,这套模型不仅可以为自媒体公司提供内容优化和广告投放的策略,还可以帮助他们更好地理解用户需求,从而提升用户体验。