R语言数据挖掘之关联规则

        1. 实验目的

          1. 掌握文件的读写

          2. 掌握R语言数据框操作

          3. 掌握R语言规则算法应用

        2. 实验内容

          加载数据集,使用电信数据集mushrooms.csv,使用规则算法识别有毒的蘑菇。

        3. 解题过程程序代码

      • 程序代码

      1.首先设定路径并将数据集导入到工作区间,注意将分类变量强制类型转换成因子类型,通过header将第一行的所有属性设为标题
      mydata<-read.csv("mushrooms.csv",stringsAsFactors= TRUE,header= T)


      2.使用summary查看数据特征,看看每一列数据的相同数值个数,保证分类变量的个数相近,才可以使用规则算法,否则不准确;
      summary(mydata)


      可以知道该数据集分为edible(可食的)和poisonous(有毒的),当中发现有一项属性是所有记录都属于该项的
      3.使用dim查看变量的维数,并将所有记录都属于某一项的数据赋值为空,即删除这一列。因为所有的因子都一样,并不能决定是否是有毒的,删除后再查看维数可看出少了一列;
      mydata$veil_type=NULL


      4.需要预测样本的属性结果是type,它有两个属性值分别为edible和poisonous


      5.加载caret包,生成训练集train1和测试集test1


      6.加载Rweka包,使用包中的变量OneR(),单规则算法;


      单规则算法结果:


      OneR是生成单一规则的算法。通过计算其他属性,OneR选择单一种规则发生的概率来确定分类,直接把其他属性的值都忽略了。
      采用80%的数据作为训练集,最终选择odor规则:
      当odor(气味)是almond、anise、none时,判断该蘑菇的type是edible(可食用)的蘑菇;
      当odor(气味)是creosote、fishy、foul、musty、pungent、spicy时,判断该蘑菇的type是poisonous(有毒)的蘑菇。
      其中,6500条记录中有6402条是通过规则判断正确的。
      7.剩余20%作为测试样本集的预测结果:


      通过该结果可看出预测结果中的type为edible的准确率达100%,而判断type为poisonous的有761条数据是正确的,有22条数据判断错误,准确率达97.2%
      8.使用RIPPER算法(重复增量修剪算法)产生规则;


      多规则算法结果:


      JRip 即 RIPPER 算法,是规则归纳学习从分类实例出发能够归纳出一般的概念描述。
      采用80%的数据作为训练样本集,最终可得共9条规则:
      规则1:当odor(气味)为foul时,蘑菇是poisonous(有毒的)。其中有2160条记录,每条记录都是正确的,无错误记录;
      规则2:gill_size(菌褶的大小)为narrow(狭窄的)及gill_color(菌褶的颜色)是buff(浅黄色)时,蘑菇是poisonous(有毒的)。其中有1152条记录,无错误记录;
      规则3:gill_size(菌褶的大小)为narrow(狭窄的)及odor(气味)是pungent(辛辣的)时,蘑菇是poisonous(有毒的)。其中有256条记录无错误记录;
      规则4:odor(气味)是creosote(碳酸)时,蘑菇是poisonous(有毒的)。其中有192条记录,无错误记录;
      规则5:spore_print_color(孢子颜色)是green时,蘑菇是poisonous(有毒的)。其中有72条记录,无错误记录;
      规则6:stalk_surface_below_ring(茎的下表面)是scaly(粗糙)和stalk_surface_above_ring(茎的上表面)是silky(光滑)时,蘑菇是poisonous(有毒的)。其中有68条记录,无错误记录;
      规则7:habitat(产地)是leaves(树叶)和cap_color(蘑菇帽颜色)是white时,蘑菇是poisonous(有毒的)。其中有8条记录,无错误记录;
      规则8:stalk_color_above_ring(上茎颜色)是yellow时,蘑菇是poisonous(有毒的)。其中有8条记录,无错误记录;
      规则9:其余的均为edible(可食用)的蘑菇。其中有4208条记录,无错误记录。
      9.剩余20%作为测试样本集的预测结果:


      通过该结果可看出预测结果中的type为edible有841条数据和poisonous有783条数据,准确率达100%。

      • 1
        点赞
      • 8
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      R语言是一种用于数据分析和数据可视化的强大工具,也被广泛应用于关联规则数据挖掘。下面是一个关联规则数据挖掘在市场篮子分析中的应用案例。 假设某超市想要了解不同商品之间的关联性,以便进行优化的货架布局和推广策略。他们收集了一段时间内每个顾客购买的商品清单数据。 首先,使用R语言中的数据预处理技术对数据进行清洗和准备。通过删除无效数据和处理重复项,确保数据的准确性和一致性。 然后,使用R语言关联规则挖掘的包,如arules,对数据进行分析。使用Apriori算法,可以找到物品之间的关联规则和频繁项集。 通过设定支持度和置信度阈值,可以确定只有在一定数量的交易中出现的频繁项集。例如,如果支持度阈值设定为0.05,表示只有在超过5%的交易中出现的项集才被认为是频繁的。 此外,通过设置置信度阈值,可以找到具有一定关联性的规则。置信度表示在一个规则中出现的商品组合与整体交易的关联程度。例如,如果置信度阈值设定为0.4,表示只有当规则中的商品组合在40%以上的交易中都出现时,该规则才被认为是强关联的。 最后,通过分析得到的关联规则,超市可以了解哪些商品经常一起被购买,进而进行优化的货架布局和推广策略。例如,如果关联规则显示购买面包的顾客还经常购买黄油,那么超市可以考虑将这两种商品放在相邻的货架上。 综上所述,关联规则数据挖掘在市场篮子分析中的应用案例中,通过R语言的分析工具,可以找到商品之间的关联规则,从而提供超市货架布局和推广策略的优化建议。

      “相关推荐”对你有帮助么?

      • 非常没帮助
      • 没帮助
      • 一般
      • 有帮助
      • 非常有帮助
      提交
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

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

      余额充值