目录

  • 1 第一章 数据仓库概述
    • 1.1 授课安排
    • 1.2 数据仓库及其历史
      • 1.2.1 数据仓库的概念
        • 1.2.1.1 本节视频
      • 1.2.2 数据仓库特征
        • 1.2.2.1 本节视频
    • 1.3 数据仓库系统结构
      • 1.3.1 数据仓库系统的组成
        • 1.3.1.1 本节视频
      • 1.3.2 ETL
        • 1.3.2.1 本节视频
      • 1.3.3 数据仓库和数据集市的关系
      • 1.3.4 元数据及其管理
      • 1.3.5 数据集市和元数据管理视频
    • 1.4 数据仓库系统开发工具
    • 1.5 数据仓库与操作型数据库的关系
      • 1.5.1 本节视频内容
  • 2 第二章 数据仓库设计
    • 2.1 授课安排
    • 2.2 数据仓库设计概述
    • 2.3 数据仓库的规划和需求分析
    • 2.4 数据仓库的建模
    • 2.5 数据仓库的物理模型设计
    • 2.6 数据仓库的部署和维护
  • 3 第三章 OLAP技术
    • 3.1 授课安排
    • 3.2 OLAP概述
    • 3.3 OLAP的多维数据模型
    • 3.4 OLAP实现
  • 4 第四章 数据
    • 4.1 课程资料
  • 5 第五章 数据挖掘概述
    • 5.1 授课安排
    • 5.2 什么是数据挖掘?
    • 5.3 数据挖掘系统
    • 5.4 视频
    • 5.5 数据挖掘过程
  • 6 第六章 关联分析
    • 6.1 授课安排
    • 6.2 关联分析概念
    • 6.3 Apriori算法
    • 6.4 FP-growth树
    • 6.5 多层关联规则
    • 6.6 【扩充知识】机器学习——关联规则——支持度(support)、置信度(confidence)、提升度(Lift)
  • 7 第七章 序列模式挖掘
    • 7.1 序列模式挖掘概述
    • 7.2 AprioriAll算法
    • 7.3 AprioriSome算法
    • 7.4 FreeSpan算法
    • 7.5 PrefixSpan算法
  • 8 第八章 聚类分析
    • 8.1 聚类概述
  • 9 分类算法
    • 9.1 课件
  • 10 实验1 python基础
    • 10.1 讲解文本内容
    • 10.2 课程PDF
    • 10.3 实验代码
    • 10.4 实验报告封皮
  • 11 实验2-python
    • 11.1 讲解文本内容
    • 11.2 实验代码
    • 11.3 实验报告封面
  • 12 实验3--python
    • 12.1 讲解文本内容
    • 12.2 实验代码
    • 12.3 实验报告封面
  • 13 实验4--python
    • 13.1 讲解文本内容
    • 13.2 21.1实验代码
    • 13.3 实验内容2
    • 13.4 实验内容3
    • 13.5 实验报告封面
  • 14 实验5--python
    • 14.1 文本内容-NumPy模块
    • 14.2 第三方可视化数据分析图表
    • 14.3 数据
    • 14.4 思考题
    • 14.5 实验报告封面
  • 15 实验6--python
    • 15.1 实验 NumPy矩阵的基本操作
    • 15.2 实验 关联规则算法
    • 15.3 实验 商品零售购物篮分析
    • 15.4 实验报告封面
  • 16 实验7--python
    • 16.1 实验1 用关联规则分析方法推荐电影
    • 16.2 实验2 FP-growth算法
    • 16.3 实验3 教育平台的线上课程推荐策略
    • 16.4 实验报告封面
  • 17 实验8-python
    • 17.1 实验1 购物车分析
    • 17.2 实验2 基于关联规则的文本分析
  • 18 实验9--python
    • 18.1 实验1 聚类分析
    • 18.2 实验2 航空公司客户价值分析
    • 18.3 实验3 运输车辆安全驾驶行为分析
    • 18.4 实验报告封面
实验3 教育平台的线上课程推荐策略

所需代码及数据


随着“互联网+”时代的到来,我国开始大力支持线上教育的发展。为了将信息技术和教育教学相结合,国务院推进“互联网+教育”的教学新模式,鼓励各类主体发展线上教育。因此,各种网课、慕课和直播课等层出不穷,各种线上教育平台和学习应用也都纷纷涌现。

其中,线上教育平台作为当下一种新的学习模式和教育途径,在快速发展的同时也遇到了许多难题。例如,由于线上教育平台的课程数量不仅庞大,而且形式和内容的种类繁多,加之用户对课程分布的了解不足等,使得用户选课时比较被动,对平台的体验效果不佳,从而降低了用户和平台之间的黏性。为了提高线上教育平台与用户之间的黏性,扩增教育平台的收益,本章将通过构建Apriori模型获取课程之间的关联规则,并结合教育平台的运营情况为其提供有效的课程推荐策略。

学习目标

• 了解教育平台的线上课程推荐策略案例的背景、数据说明和目标分析。

• 掌握常用的数据探索方法,对数据进行描述性统计分析和分布分析。

• 掌握数据预处理的方法,对数据进行缺失值处理、重复值处理和异常值处理。

• 掌握分析平台运营的方法,计算平台用户的留存率、用户活跃时间和课程的受欢迎程度。

• 掌握构建Apriori模型的方法,分析课程之间的关联性并得出关联规则。

• 掌握制定课程推荐策略的方法,依据关联规则和相关业务知识制定推荐策略。

一、背景与目标

当前,线上教育平台是“互联网+教育”的重要发展领域。因此,如何通过教育平台的运营数据进行数据分析,为教育平台和用户提供精准的课程推荐服务便成为线上教育的热点问题。本节主要讲解教育平台的线上课程推荐策略的案例背景、数据说明及目标分析。

1、背景

近年来,随着互联网与通信技术的高速发展,学习资源的建设与共享呈现出新的发展趋势,使线上教育得到了快速地发展,尤其是在国务院推进的“互联网+教育”的教学新模式下,各种线上教育平台如雨后般的春笋不断涌现。且依托着互联网对线上教育平台发展的推动力量,线上教育平台呈现出良好的发展趋势。虽然当前线上教育平台的学习方式得到了人们的广泛认可,但是线上教育平台也具有较为明显的不足,具体如下。

1)线上教育的课程数量庞大,存在明显的信息过载问题。

2)用户在浏览、搜寻自己想要的课程时需要花费大量的时间。

这些问题若不及时解决,将会在一定程度上造成平台用户的不断流失,为平台带来经济损失。而通过数据挖掘中的推荐算法,构建课程推荐模型及推荐策略不仅能够极大程度地解决用户的流失和效益的损伤,而且能够为用户提供个性化的服务、帮助用户节省时间并且找到自己感兴趣的课程,从而改善用户的体验感、增加用户黏性,进而使用户与平台之间建立稳定的交互关系,实现客户链式反应增值。

2、数据说明

本章数据来源于某教育平台2018年9月7日—2020年6月18日的运营数据,包含用户信息表、学习详情表和登录详情表,各数据表的数据说明如表1、表2和表3所示。

表1 用户信息表的数据说明

表2 学习详情表的数据说明

表3 登录详情表的数据说明

3、目标分析

如何根据线上教育平台提供的数据,分析出平台的运营状况和课程之间的关联性进而制定课程推荐策略,为用户提供精准的课程推荐服务,提高平台的收益,是线上教育行业需要解决的重要问题。

本案例根据教育平台的线上课程推荐策略项目的业务需求,需要实现的目标如下。

1)通过计算平台的用户留存率及其活跃时间、课程的受欢迎程度来了解平台运营状况。

2)构建Apriori模型得出课程之间的关联规则,再结合相关业务知识为平台制定课程推荐策略。

教育平台的线上课程推荐策略的总体流程如图1所示,主要步骤如下。

1)获取原始数据,即分别读取用户信息表、学习详情表和登录详情表的数据。

2)对原始数据进行数据探索,包括数据质量分析和课程单价分布分析。

3)对原始数据进行数据预处理,包括缺失值处理、重复值处理和异常值处理。

4)对预处理后的数据进行分析和建模,包括分析平台运营状况和构建Apriori模型得出课程之间的关联规则。

5)结合平台运营分析、模型构建结果和相关业务知识为教育平台制定课程推荐策略。

图1 教育平台的线上课程推荐策略总体流程

二、数据探索

为进一步查看数据中各属性所反映出的情况,本节将通过数据探索中的数据质量分析方法分析数据概况,通过分布分析方法分析各个课程价格区间的用户分布。

1、数据质量分析

数据质量分析是数据挖掘中数据探索过程的重要一环,本小节主要对数据进行描述性统计分析、缺失值和重复值等质量分析操作,以检查原始数据中是否存在脏数据。1.描述性统计分析

描述性统计分析是指运用制表、分类、图形以及计算概括性数据等方法,描述数据特征的各项活动。描述性统计分析主要包括数据的频数分析、集中趋势分析、离散程度分析等。

其中,集中趋势分析是用平均值、中位数和众数等来反映数据的一般水平;离散程度分析是用四分位数、方差和标准差来反映数据之间的差异程度。对用户信息表、学习详情表和登录详情表进行描述性统计分析中的集中趋势分析和离散程度分析,如代码清单1所示。

代码清单1 用户信息表、学习详情表和登录详情表的描述性统计分析

用户信息表、学习详情表和登录详情表各属性的描述性统计分析结果如表4、表5、表6所示。

表4 用户信息表描述性统计分析结果

表5 学习详情表描述性统计分析结果

表6 登录详情表描述性统计分析结果

由表4和表6可见,原始数据中暂无明显的异常现象;由表5-5可知,课程单价的标准差378.7和四分位数0的位距相差较大,说明课程单价属性的数据离散程度较高。此外,课程单价的均值还反映了学生所学课程的平均价格为191.81元。2.缺失值和重复值分析

原始数据可能会存在缺失、重复数据,极有可能影响到数据挖掘建模的执行效率,甚至可能导致挖掘结果的偏差。其中,数据重复会导致数据的方差变小,数据分布发生较大变化。数据缺失会导致样本变化减少,不仅会增加数据分析的难度,而且会导致数据分析的结果产生偏差。查看原始数据中的缺失值和重复值,如代码清单2所示。

代码清单2 查看原始数据中的缺失值和重复值

原始数据(用户信息表、学习详情表和登录详情表)中的缺失值和重复值结果,如表7和表8所示。

表7 用户信息表的缺失值和重复值结果

由表7、表8可知,登录详情表无缺失值和重复值,用户信息表和学习详情表的部分属性存在缺失值,且用户信息表中还存在少许重复值。由于缺失值和重复值的占比都较小,所以后续可考虑将缺失值和重复值进行直接删除处理。

表8 学习详情表和登录详情表的缺失值和重复值结果

此外,根据业务知识了解到,用户信息表中的用户账号属性是唯一值,若用户账号重复则说明该用户信息记录已重复。查看用户信息表中的用户账号属性重复情况,如代码清单3所示。

代码清单3 查看用户信息表中的用户账号属性重复情况

由代码清单5-3的运行结果可知用户信息表中的用户账号共重复74条。

2、课程单价分布分析

分布分析法是一种将搜集到的质量数据进行分组整理,绘制成频数分布柱状图,用以描述质量分布状态的一种分析方法。本小节将使用等宽法,将学习详情表的课程单价(元)属性划分成7个区间:0、(0, 200]、(200, 400]、(400, 600]、(600, 800]、(800, 1000]、1000以上。最后统计每个区间对应的用户人数,绘制柱状图进行可视化展示,如代码清单4所示。

代码清单4 统计各价格区间的用户人数并绘制柱状图

统计各价格区间的用户人数,并绘制各价格区间的用户人数柱状图,结果如图2所示。

图2 各价格区间的用户人数柱状图

由图5-2中可知,用户人数最多的价格区间是0元和(0, 200]元,用户人数最少的价格区间是(600, 800]元。

其中,(0, 200]元的课程是大多数人所能接受的经济范围,此外,一般情况下处于该类价格区间的课程性价比通常较高,因此该价格区间的用户人数较多属于正常的情况。而对于(600, 800]元的课程,平台可以对课程价格进行适当调整,或开启免费试听片段来吸引更多的用户,以提升平台的综合效益。

三、数据预处理

根据重复值、缺失值和异常值等数据探索的结果对用户信息表、学习详情表和登录详情表进行数据处理,具体内容如下。

1)缺失值处理,将缺失的内容进行删除。

用户信息表和学习详情表中部分属性存在缺失值,且缺失值占比较小,为避免影响后续分析的效果,故将缺失值进行删除,如代码清单5所示。

代码清单5 缺失值处理

2)重复值处理,将重复数据进行删除。

用户信息表中存在重复数据,为避免对后续的输出结果造成误差,此处将对重复值采取删除处理,如代码清单6所示。

代码清单6 重复值处理

3)异常值处理,将异常数值进行内容替换。

经人为观察,在用户信息表的最近访问时间属性中,发现其内容中有显示为“-”的值。出现该情况的原因,一方面可能是后台记录错误导致显示有问题,另一方面可能是用户在平台注册账号后一直未登录。

综上,本案例将最近访问时间属性中显示为“-”的值视为异常值。根据业务和实际情况考虑,本节将使用用户信息表中的注册时间属性,用对应的时间去替换最近访问时间属性显示为“-”的值,如代码清单7所示。

代码清单7 异常值处理

四、平台的运营状况分析

分析平台运营状况不仅可以了解当前用户对平台的使用情况,而且可以发现平台当前所存在的利弊现象,以便对平台进行运营策略的调整和完善,从而更好地为用户提供服务。本节将通过用户留存率、用户活跃时间和平台课程受欢迎程度3个方面分析平台的运营状况。

1、用户留存率

用户留存率是衡量用户黏性的重要指标,能够体现平台用户的质量和平台保留用户的能力。用户留存率是指在一定时间内,继续使用该产品的用户人数占同一时期平台新增用户人数的比例。它的计算公式如式所示。

在式中,N表示计算第N天的用户留存率。

Facebook中有一个著名的40-20-10法则,当新增用户的次日留存率为40%,第7日留存率为20%,第30日留存率为10%时,说明该平台和用户的黏性较高。这是因为,次日留存率可以反映用户对该平台的感兴趣程度;第7日留存率可以反映一个课时周期体验后用户的去留状况,能够留下来的用户很可能成为该平台的忠实用户;第30日留存率可以反映一次版本迭代后的整体体验留存,若第30日留存率低,则可以反映产品版本的迭代规划做得不够好,或者产品的内部架构需进行改善。

将处理后的用户信息表和登录详情表进行合并,并通过登录时间和注册时间计算出每日的日新增用户数、次日留存用户数、第7日留存用户数和第30日留存用户数,如代码清单8 所示。

代码清单8 统计新增用户及留存用户的数量

日新增用户数、次日留存用户数、第7日留存用户数和第30日留存用户数的部分结果如表9所示。

表9 新增用户及留存用户数量的部分结果数据

绘制每天的日新增用户数、次日留存用户数、第7日留存用户数和第30日留存用户数的折线图,如代码清单9所示。

代码清单9 绘制新增用户及留存用户数量折线图

日新增用户数、次日留存用户数、第7日留存用户数和第30日留存用户数的折线图绘制结果如图3所示。

从图3中的日新增用户数可以看出,从2018年9月到2020年1月的日新增用户人数普遍较低,而从2020年2月到2020年6月的日新增用户人数出现明显的人数差异,如2020年2月、3月、6月出现了明显的人数增长,可能是平台在该时间段开展了某些推广活动,从而使得平台人数剧增。

从图3的次日留存用户数、第7日留存用户数和第30日留存用户数折线图可以看出,次日新增用户数、次日留存用户数、第7日留存用户数和第30日留存用户数的折线图绘制结果如图3所示。

从图3中的日新增用户数可以看出,从2018年9月到2020年1月的日新增用户人数普遍较低,而从2020年2月到2020年6月的日新增用户人数出现明显的人数差异,如2020年2月、3月、6月出现了明显的人数增长,可能是平台在该时间段开展了某些推广活动,从而使得平台人数剧增。

从图3的次日留存用户数、第7日留存用户数和第30日留存用户数折线图可以看出,次日留存用户数、第7日留存用户数和第30日留存用户数与日新增用户数的变化趋势大体相同,只不过用户人数普遍较低,该情况可在一定程度上反映出用户与平台的黏性较低。

计算每日的次日留存率、第7日留存率和第30日留存率,如代码清单10所示。

图3 新增用户及留存用户数量折线图

代码清单10 计算次日、第7日、第30日留存率

每日的次日留存率、第7日留存率和第30日留存率的部分计算结果,如表10所示。

表10 用户留存率部分结果数据

绘制次日留存率、第7日留存率和第30日留存率的折线图,如代码清单11所示。

代码清单11 绘制次日、第7日、第30日留存率折线图

次日留存率、第7日留存率和第30日留存率的折线图绘制结果如图4所示。

图4 用户留存率折线图

图4 用户留存率折线图(续)

由图4可知,次日留存率、第7日留存率和第30日留存率的变化趋势大致相同。在2018年9月—2019年2月、2020年2月—2020年6月这两个时间段中,3类留存率都出现了明显的数据波动,时而剧增,时而剧减。而在2019年3月—2020年1月的时间段中,3类留存率折线相对平缓,其中,次日留存率在20%附近波动;第7日留存率在10%附近波动;第30日留存率在5%附近波动,且存在两次大波动,留存率值达至30%左右。

综上所述,该平台的用户留存率较低,说明平台存在课程内容质量不高以及平台的功能更新、内容更新和性能更新等做得不够完善等问题。

2、用户活跃时间

用户的登录时间即用户的活跃时间,本小节将用户活跃时间细划为两个内容:工作日和非工作日(以日期为基础)、时间段(以小时为基础),使得平台可以更为精准化地掌握用户在不同时间阶段的活跃状态信息。

对于工作日、非工作日和时间段的划分,只需依据登录时间属性即可得出划分结果。其中,时间段的划分是将24小时以2小时为间隔进行划分,即0:00—2:00、2:00—4:00、4:00—6:00、6:00—8:00、8:00—10:00、10:00—12:00、12:00—14:00、14:00—16:00、16:00—18:00、18:00—20:00、20:00—22:00、22:00—24:00。工作日、非工作日及时间段的划分,如代码清单12所示。

代码清单12 工作日、非工作日及时间段的划分

工作日、非工作日及时间段划分的部分结果,如表11所示。

表11 工作日、非工作日及时间段划分的部分结果数据

分别提取工作日中的小时时间段、非工作日中的小时时间段数据,统计各时间段对应的用户登录次数,并绘制工作日、非工作日所对应的各时间段用户登录次数柱状图,如代码清单13所示。

代码清单13 绘制工作日、非工作日所对应的各时间段用户登录次数柱状图

工作日、非工作日所对应的各时间段用户登录次数柱状图的绘制结果如图5-5所示。

图5 登录情况

由图5可知,在用户登录次数方面,工作日的人数相较于非工作日的人数多了2倍多。在登录时间段方面,工作日和非工作日的用户活跃时间的变化趋势大体相同,如在0:00—8:00时间段用户活跃度不高,而在8:00—24:00时间段用户活跃度出现明显的增长。

3、课程受欢迎程度

由帕累托法则可知,80%的利润常常来自于20%的畅销商品,而其他80%的商品只产生了20%的利润。课程受欢迎程度分析也是线上教育平台中不可或缺的一部分,它有助于课程优选。课程受欢迎程度计算公式如式所示。

在式中,ri为第i门课程的受欢迎程度,取值范围为[0, 1]。若接近0,则表示经离差标准化后的课程受欢迎程度较低;若接近1,则表示课程受欢迎程度较高。Qi为参与第i门课程的用户人数,Qmax和Qmin分别为最高课程参与人数和最低课程参与人数。通过公式计算每门课程的受欢迎程度,如代码清单14所示。此外,为了便于读者更好地观察每门课程的具体情况,代码中还提取了课程受欢迎程度所对应的课程单价和用户数量。

代码清单14 计算课程受欢迎程度

课程受欢迎程度的部分计算结果如表12所示。

表12 课程受欢迎程度的部分计算结果

为了更加直观地看出课程受欢迎程度的变化情况,此处将选取受欢迎程度排名前10的课程,并绘制柱状图,如代码清单15所示。

代码清单15 排名前10的课程受欢迎程度柱状图

排名前10的课程受欢迎程度柱状图的绘制结果如图6所示。

图6 课程受欢迎程度

由图6可知,课程76、课程31、课程17和课程191的受欢迎程度均在0.5以上,其中受欢迎程度的最大值和最小值相差0.6左右,表明两级分化较为明显。为此,平台可考虑将受欢迎程度较低的课程和受欢迎程度较高的课程进行捆绑销售,进而减少平台损失和用户流失。

五、Apriori模型的构建

Apriori算法是常用的关联规则算法之一,本节将通过Apriori算法构建课程推荐模型,得出课程之间的关联规则,从而为后续课程推荐策略的制定提供参考依据。

(一)Apriori算法

Apriori算法是挖掘频繁项集的算法之一,其主要思想是找出存在于事务数据集中的最大的频繁项集,再利用得到的最大频繁项集与预先设定的最小置信度阈值,生产出强关联规则。   

1、基本概念

使用Apriori算法实现关联分析,可用于发现大量数据中各组数据之间的联系,其主要任务便是生成频繁项集和关联规则。而在达成该目的之前,需先了解Apriori算法的基本概念及相应的计算方法,才能更好地运用Apriori算法达成所需目标。(1)支持度和置信度

项集A的支持度计数是事务数据集中包含项集A的事务个数,简称项集的频率或计数。

已知项集的支持度计数,则可以很容易地从所有事务计数、项集A、项集B和项集A∪B的支持度计数中推出规则A⇒B的支持度和置信度,如式(5-3)和式(5-4)所示。其中N表示总事务个数,s表示计数。

也就是说,一旦得到所有事务个数,A、B和A∪B的支持度计数,即可导出对应的关联规则A⇒B和B⇒A,并可检查该关联规则是否为强关联规则。

(2)最小支持度和最小置信度

最小支持度是用户或专家定义的衡量支持度的一个阈值,表示项目集在统计意义上的最低重要性;最小置信度是用户或专家定义的衡量置信度的一个阈值,表示关联规则的最低可靠性。同时满足最小支持度阈值和最小置信度阈值的规则称作强关联规则。

(3)项集和频繁项集

项集是项的集合,包含k个项的项集称为k项集,如集合{牛奶,麦片,糖}是一个3项集。如果项集I的相对支持度满足预定义的最小支持度阈值,那么I便是频繁项集。频繁k项集通常记作Lk。

2.算法实现

Apriori算法实现主要包含两个过程:找出所有的频繁项集、由频繁项集产生强关联规则。其中,各过程的介绍如下。

(1)找出所有的频繁项集

找出所有的频繁项集(支持度必须大于或等于给定的最小支持度阈值),在这个过程中连接步和剪枝步互相融合,最终得到最大频繁项集Lk。关于连接步和剪枝步的介绍如下。

①连接步

连接步的目的是找到K项集。对给定的最小支持度阈值,分别对1项候选集C1,剔除小于该阈值的项集得到1频繁项集L1;下一步由L1自身连接产生2项候选集C2,保留C2中满足约束条件的项集得到2频繁项集,记为L2;再由L2和L1连接产生3项候选集C3,保留C3中满足约束条件的项集得到3频繁项集,记为L3……如此循环下去,最终得到最大频繁项集Lk。

②剪枝步

剪枝步紧连接着连接步,在产生候选项Ck的过程中起到减小搜索空间的目的。由于Ck是Lk-1和L1连接产生的,根据Apriori算法的性质:频繁项集的所有非空子集也必须是频繁项集,所以不满足该性质的项集将不会存在于Ck中,该剔除项集的过程就是剪枝。

(2)由频繁项集产生强关联规则

由过程(1)可知,未超过预定的最小支持度阈值的项集已被剔除,如果剩下的规则又满足了预定的最小置信度阈值,那么就挖掘出了强关联规则。

综上,Apriori算法的构建流程如图7所示。

图7 Apriori算法的构建流程

(二)构建Apriori模型

在构建Apriori模型之前,需将每个用户的课程清单进行整理,以便更好地将数据应用于模型的构建中。在预处理后的学习详情表中,依据用户账号和课程编号属性,统计用户的课程清单,如代码清单16所示。

代码清单16 统计用户的课程清单

统计出的每位用户对应的用户课程清单的部分结果如表13所示。

表13 用户课程清单的部分结果

基于统计好的用户课程清单数据,构建Apriori模型的二元矩阵,如代码清单17所示。

代码清单17 构建Apriori模型的二元矩阵

Apriori模型的二元矩阵构建的部分结果如表14所示。

表14 Apriori模型的二元矩阵构建的部分结果

在表14中,每行代表一个用户,而每行中的数值0代表该用户没有添加此课程,数值1代表该用户已添加了此课程。

设置最小支持度和最小置信度,实现课程的关联分析。当前,最小支持度和最小置信度的设置并没有统一的标准,大部分是根据业务经验设置初始值,然后经过多次调整,获取与业务相符合的关联结果。经多次实验,此处将最小支持度设置为0.01,最小置信度设置为0.8。构建Apriori模型实现关联分析,如代码清单18所示。

代码清单18 构建Apriori模型实现关联分析

选取课程关联规则中支持度最高的前10条数据,结果如表15所示。

表15 支持度最高的前10条关联规则

在表15中,Ihs表示的是关联规则的前项,同时也是关联规则的课程关联条件;rhs表示的是关联规则的后项,同时也是关联规则的课程关联结果;support表示的是支持度;confidence表示的是置信度。根据表15中的输出结果,选取其中的两条内容进行解释和分析,具体如下。

序号为1,即{课程180}=>{课程191}的关联规则的支持度为13.9%,置信度为90.4%。说明用户同时添加课程180和课程191两门课的概率达90.4%,而这种情况的可能性为13.9%。

序号为5,即{课程26,课程31}=>{课程17}的关联规则的支持度为10.8%,置信度为97.9%。说明用户同时添加课程26、课程31和课程17三门课的概率达97.9%,而这种情况的可能性为10.8%。同理,其他关联规则的含义与序号1、序号5的解释相似。

(三)模型应用

为了扩增平台的收益,提高用户的体验程度,需要将Apriori模型得出的关联规则与课程受欢迎程度相结合,从而将模型结果对接实际业务,为后续课程推荐策略的制定提供参考依据。

根据表15的关联规则可知,用户在添加Ihs课程的同时,也极可能添加rhs课程。因此,当用户在平台添加某门课程时,可根据表15所得出的课程关联规则获取到用户所添加的该门课程所涉及的其他信息。例如,当用户添加课程130时,根据Apriori模型所得出的课程关联规则,提取出所有关于用户添加课程130时的所有关课程联规则信息,如代码清单19所示。

代码清单19 提取课程130的所有课程关联规则

提取课程130的所有课程关联规则的结果,如表16所示。

表16 提取课程130的所有课程关联规则结果

由表16可知,当用户添加课程130时,根据关联规则可以得出该用户还可能会添加课程17和课程31。

虽然根据关联规则得出用户还可能会添加的课程,但是因需要考虑到增加平台的收益和提高用户和平台的黏性,因此还需要综合考虑关联规则、课程价格和课程受欢迎程度,最后才能更好地为用户推荐课程,同时提高平台的运营效益,如代码清单20所示。

代码清单20 整理课程130的课程关联规则、价格和受欢迎程度

整理出的课程130的课程关联规则、价格和受欢迎程度的结果如表17所示。

表17 整理出的课程130的课程关联规则、价格和受欢迎程度的结果

由表17中可知,课程17的支持度、置信度和受欢迎程度都比课程13高,平台可优先将课程17推荐给用户,从而提高用户的体验程度,为平台获得更高的收益。

六、制定课程推荐策略

通过平台的运营状况分析已经了解到该平台的用户留存率、用户的活跃时间和平台课程的受欢迎程度,通过Apriori算法构建的课程推荐模型也得到课程之间的关联规则,因此,结合平台的业务需求为平台制定的推荐策略如下。

1)建立课程受欢迎程度排行榜。根据课程受欢迎程度在平台建立课程受欢迎程度排行榜,让用户通过排行榜可以快速了解各课程受欢迎程度排名,提升用户在平台中的参与感。

2)设置弹窗推荐页面。当用户添加某门课程后,平台可以弹窗推荐其他课程的页面。例如,“您可能还喜欢的课程”或“添加此课程的用户也添加了”等。而推荐页面所显示的课程是根据Apriori模型所得出的关联规则,并结合课程价格和课程受欢迎程度进行综合推荐的课程。

3)邀请名师开启直播课程。通过分析用户在平台的活跃时间,掌握用户的活跃时间段,从而在活跃时间段中开启名师直播课程,吸引新老用户。例如,在10:00—12:00、14:00—16:00和20:00—22:00用户比较活跃的时间段中开启直播课程。一方面直播课程可以活跃课堂氛围,另一方面用户可以在线上与老师进行互动,丰富平台的个性化,提高用户的体验程度。

4)开展促销活动。例如,开展折扣、积分、抽奖、节日、优惠券和限时等活动。可选取课程单价较高且受欢迎程度较低的课程进行折扣促销,带动平台课程的整体活跃性,或选择在节假日开展抽奖、积分兑换和课程限时抢购等活动来推广热销课程,刺激、吸引更多的用户。

5)设置消息推送。例如,设置短信消息推送、邮件信息推送和徽章通知等,向用户推荐新出课程、直播课堂和督促学习等消息。

6)设置唤醒机制。例如网页内唤醒移动应用,即当用户浏览、查看平台的课程相关信息时,浏览器弹窗提醒“单击进入平台可以查看更多”。此时用户单击提示弹窗即可直接进入平台中查看相应的课程信息,从而减少用户的操作复杂性,增强用户对平台的好感度。

七、小结

本章的主要目的是为教育平台线上课程提供推荐策略,进而提升平台的收益、用户的黏性。首先,通过数据探索、数据预处理对数据进行清洗,提升数据质量;其次,分析平台的运营状况,主要包括用户留存率、用户活跃时间和课程受欢迎程度等分析;通过Apriori算法构建课程智能推荐模型,并得出课程关联规则结果;最后,根据平台运营状况和课程关联规则结果,结合线上课程的实际业务制定课程推荐策略。