关联规则

  • 项目介绍
  • 项目开始

项目介绍

不同年级、性别和入学人数的学生参加了一项测试。为每个学生记录测试结果“成功”或“不成功”,并保存在“A1_success_data.csv”中。在这个任务中,您将使用关联规则来挖掘这四个属性(即年级、性别、入学人数和成功)之间的有趣关系。

  1. 通过应用不同的“支持”阈值和阈值,生成频繁项集并提取它们的关联规则并通过显示这些项集的支持度、置信度和提升值来检查它们。

  2. 获取右手边(rhs)唯一属性为“成功”的规则,以帮助预测学生是否能成功,是否通过此测试取决于他/她的年级、性别和/或入学情况。

  3. 将上一步中生成的规则可视化
    显示support, confidence和 lift之间的关系。
    利用基于 lift值排序的图形可视化。

项目开始

  1. 通过应用不同的“支持”阈值和阈值,生成频繁项集并提取它们的关联规则并通过显示这些项集的支持度、置信度和提升值来检查它们。

首先读取数据集。

library(arules)
library(arulesViz)task3<-read.csv("A1_success_data.csv")

设置support = 0.00。

用于生成频繁项集的Apriori算法。支持度的值在开始时设置为0,以获得先验结果的一般实现。上面显示的代码显示支持集的值为0,在频繁项集中,序列按支持度排序。在“rules”中,支持设置为0,排序遵循“lift”帮助,以便按lift比较每个规则。


在频繁项中,生成375个项集。由于support的值为0,因此此列表中包含一些support为0的项集。很明显,删除所有支持等于零的项集的阈值约为0.0004543(第109个项集,按支持排序)。下一次尝试修复支持值是0.0004以过滤无意义的数据。


过提取项目集关联规则,获取详细信息,上图截图显示支持度、信心度、提升度汇总。这些数据大多是没有意义的,因为支持阈值没有被保持。

设置support = 0.0004。

支持阈值设置为0.0004,删除itemsets support为0的项。

通过生成频繁项目集,当支持值为0.0004时,汇总显示的项目集数量减少为109。最小值和最大值对数据分析更可靠。


最后一个项目集(按支持程度排序)显示计数太少。数量较少的项目集在数据分析中偶有出现,且缺乏说服力。因此,我们通过调整支持值对数据进行进一步的处理(筛选)。我们将0.048设置为一个新的阈值,以删除计数数小于100的项目集。

调整阈值后,汇总数据将更加可信。当支持阈值为0时,最大升力为20.1927。这个最大值来自支持为0的项目集。通过这个阈值,升力的最大值是3.9855,无意义数据被删除。

设置 support= 0.048.


支持阈值设置为0.048,将删除所有小于100的count number.

当阈值设置为0.048时,保留的数据更具说服力和参考价值。
但这样的过滤可能会漏掉一些有价值的数据,换句话说,兴趣区域太小,导致信息分析不完整。阈值应根据所要分析的数据进行调整。

根据我们对感兴趣区域设置的阈值,可以得到最小升力为0.8857,小于1。最大升力为3.0102。这些数据都说明了规则提取的项目集之间的关联。 lifts和1之间的差异代表项目集中的关联,无论关联是正的还是负的。同时,计数数大的规则所得到的分析结论也更有说服力。

  1. 获取右手边(rhs)唯一属性为“成功”的规则,以帮助预测学生是否能成功,是否通过此测试取决于他/她的年级、性别和/或入学情况。


首先,我们将support设置为0.0004,以过滤掉support= 0和count=0的itemsets。其次,总结我们可以通过所有16组规则得到的项目集。接下来,我们根据每个项目集的计数以相反的顺序对它们进行排序和检查,并将右侧(rhs)设置为属性“Success”。

根据结果,我们可以得出有12个项目集的右手边是“成功”,这些项目集可以帮助预测,如果一个学生能通过这个测试或不根据他/她的成绩,性别,和/或入学率。例如,对于第四个项目集,当grade=1、sex=female和success=yes时,数据集中总共有141个实例。置信度为0.9724613,这是非常高的,升力值为3.010243,这意味着等级=1、性别=女性和成功=真的发生频率比预期高出3倍以上。换言之,如果一年级有女生参加测试,我们几乎可以肯定她能顺利通过考试。

有6个项目集,它们的置信度为1,它们是第9、12、13、14、15和16个项目集,它们的lift值都大于3。根据这些项目集,我们可以得出,如果一年级或二年级的研究生要参加考试,她/他肯定成功。

#Support threshold = 0.00
itemsets<- apriori(task3, parameter=list(minlen=2, support=0.00, target="frequent itemsets"))
summary(itemsets)
inspect((sort(itemsets, by ="support")))itemsets<- apriori(task3, parameter=list(minlen=2, support=0.00, target="rules"))
summary(itemsets)
inspect((sort(itemsets, by ="support")))#Support threshold = 0.0004
itemsets<- apriori(task3, parameter=list(minlen=2, support=0.0004, target="frequent itemsets"))
summary(itemsets)
inspect((sort(itemsets, by ="support")))itemsets<- apriori(task3, parameter=list(minlen=2, support=0.00004, target="rule"))
summary(itemsets)
inspect((sort(itemsets, by ="support")))#Support threshold = 0.048
itemsets<- apriori(task3, parameter=list(minlen=2, support=0.048, target="frequent itemsets"))
summary(itemsets)
inspect((sort(itemsets, by ="support")))itemsets<- apriori(task3, parameter=list(minlen=2, support=0.048, target="rule"))
summary(itemsets)
inspect((sort(itemsets, by ="support")))
  1. 将上一步中生成的规则可视化
    显示support, confidence和 lift之间的关系并利用基于 lift值排序的图形可视化。

在生成16条支持度大于0.0004的规则后,我们按案例的提升值对所有案例进行排序。如下图所示,大多数规则的升力值令人印象深刻,这说明该模式(算法)生成的规则具有很强的基于给定值预测结果的能力。

通过自带算法生成的散点图,我们发现一个有趣的现象是,随着支持度值的增加,置信度和提升值都会降低。特别是前六种情况,它们的支持值都相对较小,不大于0.011,但它们的置信值为1.0,这意味着我们通常不会看到这些关系发生,但当它发生时,相同的前因总是导致相同的后因。因此,我们可以假设在这种情况下,低频关系(规则)比其他关系具有更高的精度。此外,置信度较高的规则往往具有较高的提升值,这意味着这些规则不仅具有较好的准确性,而且提高了结果的可靠性。

下图直接说明了所有16条规则。所有表示规则的节点,指向节点的箭头都是“lhs”,它们指向“Success=Yes”或“Success=No”。节点的大小说明了支持值,节点越大,支持值越高。每个节点的颜色表示每个规则的提升值,颜色越深,提升值越高。根据16条规则的图表,我们可以看到“入学=研究生”、“性别=女性”和“年级=2年级”与“成功=是”的关系相对较强。这意味着在特定的情况下,如果一个人有一个或多个这样的特征,结果很可能是“成功=是”。

数据科学与大数据分析之项目3-关联规则相关推荐

  1. 数据科学与大数据分析之项目4-主题建模

    Topic Modeling 项目介绍 项目开始 Reference 项目介绍 使用python在Reuters-21578语料库上进行LDA主题建模. The NLTK in Python come ...

  2. 数据科学与大数据分析之项目6-CNN模型图像分类

    用预先训练好的CNN模型进行图像分类 项目介绍 项目开始 项目介绍 本项目使用Caltech256来作为训练和测试集. 解压缩该文件,您将看到257个文件夹.每个文件夹对应一个类.使用预先训练的Inc ...

  3. 数据科学与大数据分析之项目5-情感分析

    情感分析Sentiment Analysis 项目介绍 项目开始 项目介绍 在Twitter上选择一个你感兴趣的话题,比如一部电影,一个名人,或者任何流行语.收集至少200条与此主题相关的tweet. ...

  4. 《数据科学与大数据分析——数据的发现 分析 可视化与表示》一2.3 第2阶段:数据准备...

    本节书摘来自异步社区<数据科学与大数据分析--数据的发现 分析 可视化与表示>一书中的第2章,第2.3节,作者[美]EMC Education Services(EMC教育服务团队),更多 ...

  5. 数据科学与大数据分析项目练习-3将Apriori算法应用于R中提供的“Groceries”数据集

    R语言Apriori算法 项目要求: Project Start **规则生成和可视化** 我们需要安装arules and arulesViz包. 项目要求: 生成频繁项目集满足下面条件: – Th ...

  6. 数据科学、大数据和数据分析之间的区别?

    随着技术的进步,数据也在快速增长.最近几年创造的数据比整个人类历史上创造的数据还要多. 你知道到2020年,每秒钟大约会产生1.7兆的新信息吗? 请记住,大数据并非一时兴起,而是一场已经开始的革命,毫 ...

  7. 数据科学 vs. 大数据 vs. 数据分析:定义,内涵,应用,所需技能

    什么是数据科学? 什么是大数据? 什么是数据分析? 数据科学的应用 大数据的应用 数据分析的应用 成为数据科学家所需的技能 成为大数据专家所需的技能 成为数据分析师所需的技能 薪资趋势 结论 数据无处 ...

  8. 数据科学与大数据排名思考题_排名前5位的数据科学课程

    数据科学与大数据排名思考题 目录 (Table of Contents) Introduction介绍 Udemy乌迪米 Machine Learning A-Z™: Hands-On Python ...

  9. 数据科学与大数据技术的案例_作为数据科学家解决问题的案例研究

    数据科学与大数据技术的案例 There are two myths about how data scientists solve problems: one is that the problem ...

最新文章

  1. Fabric--简单的资产Chaincode
  2. linkedin总共能加30000个好友
  3. 没有事业的女朋友(一个老总的感言)
  4. 数据映射--平衡二叉有序树
  5. Log4J入门教程(一) 入门例程
  6. 基本机器学习面试问题 --- 理论/算法2
  7. codesys com库_CoDeSys官方系统库在线下载,替换国内下载服务器教程
  8. 【带权并查集 —— 是否说谎】Parity game【POJ 1733】
  9. centos8安装中文字体库
  10. 步进电机驱动选择 的参考
  11. html使用iframe包含pdf文件,react项目利用iframe显示pdf文件并打印
  12. 80211协议beacon帧字段解析一
  13. 实对称矩阵的若干性质与详细证明
  14. 股指的趋势持续研究(Hurst指数)
  15. 计算广告笔记05-搜索广告与竞价广告
  16. Ubuntu 16.04 小键盘数字键盘开机自动启动
  17. 【听书笔记-0515】-《清单革命》
  18. 量子计算与量子软件(一)
  19. ElasticSearch查询地图信息(geo-point类型)
  20. 数据库安全性控制(授权:授予与收回)

热门文章

  1. Data ONTAP Storage Management--Qtree
  2. 如何给台式计算机风扇加油,如何给电风扇加油呢?教你一些技巧
  3. 在线分享 Hosts 规则工具:Remote Hosts Server
  4. R语言鸢尾花iris数据集的层次聚类分析
  5. 如何解决镜像过大的问题
  6. 在微信公众号中如何添加【自定义菜单】,原创图文教程
  7. 网吧倒闭了,100台电脑回收25万多元,谁说电脑店难经营?
  8. Android Fonts
  9. JavaScript最常用的55个经典技巧
  10. 5.1环绕声是什么意思