需要关联规则数据准备帮助

piernikpiernik 成员职位:2贡献我
2018年12月编辑 帮助

你好,

我是RapidMiner的新手,需要一些帮助。我正在做篮子分析,发现了这个数据集

http://www.sci.csueastbay.edu/~esuess/classes/Statistics_6620/Presentations/ml13/groceries.csv

但我在数据准备方面遇到了困难。属性应该从所有可能的项目标题中构造,并且每个事务在右列中应该为true或false。例:我需要转换这个:

1 牛奶 糕点
2 牛奶 香肠

到这个:

牛奶 糕点 香肠
1 真正的 真正的
2 真正的 真正的

我将感激任何帮助。

问候

抢劫

答案

  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽

    @piernik

    您必须在.CSV文件中添加杂货列表的属性名称(我将其命名为“Att1”/参见附件)

    下面是数据准备的过程:

    <?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.1.003”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >




    <列出关键= "注释" >

    < / >列表

    <列出关键= " data_set_meta_data_information " >

    < / >列表
    < /操作符>





    < /操作符>

    <参数键= value =“replace_what。+ \ .Att1_ ($ | \ n)" / >
    < /操作符>





    > < /过程
    < /操作符>
    > < /过程

    我希望能有所帮助,

    问候,

    莱昂内尔

    groceries.csv 498.7 k
  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽

    你好,再一次@piernik

    下面是重命名属性的过程(例如:Att1_butter -> butter):

    <?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.1.003”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >




    <列出关键= "注释" >

    < / >列表

    <列出关键= " data_set_meta_data_information " >

    < / >列表
    < /操作符>





    < /操作符>


    < /操作符>






    > < /过程
    < /操作符>
    > < /过程

    问候,

    莱昂内尔

  • piernikpiernik 成员职位:2贡献我

    嗨,莱昂内尔,

    非常感谢您的解决方案。您重命名column的想法非常聪明!我不认识这个接线员。

    如果只有一个属性,解决方案就能很好地工作。源.csv文件包含多个事务行。我注意到RapidMiner只处理第一个。例如,一些事务可能看起来像这样:

    1.牛奶,鸡蛋,香肠

    2.黄油

    3.鸡蛋,糖,蛋糕,水

    当我读取csv文件时,RapidMiner只看到第一个属性:

    1.牛奶

    2.黄油

    3.蛋

    但这不是问题。我已经将文件重新格式化为适当的逗号分隔,并添加了列标题'PurchaseLine01'…(见附件)现在RapidMiner看到所有的属性。

    问题是如何为所有PurchaseLines中的每个项目创建一个列。因此,对于示例,下面有三个交易,其中一些客户购买了两个,三个或四个产品:乐鱼官网手机版下载

    PurchaseLine01 PurchaseLine02 PurchaseLine03 PurchaseLine04
    牛奶 香肠
    黄油
    蛋糕

    输出应该是:

    牛奶 香肠 黄油 蛋糕
    1 真正的 真正的 真正的
    2 真正的 真正的
    3. 真正的 真正的 真正的 真正的

    我觉得可能是这样的:

    1.创建一个列表,列出所有交易和购买线中所有不同的项目

    2.使用上面的列表,为每个产品创建一个列

    3.根据在给定事务中购买的物品映射TRUE/FALSE

    我希望这是有意义的。

    非常感谢

    抢劫

    groceries.csv 764.2 k
  • lionelderkrikorlionelderkrikor 主持人,RapidMiner认证分析师,会员职位:1195年独角兽

    @piernik

    不幸的是,我未能使用RapidMiner的本地操作符实现数据集的转换。

    所以,我使用了一个Python脚本:

    Data_Preparation.png

    要执行此过程,您必须在计算机上安装Python环境并安装

    执行Python接线员(来自市场)。

    过程:

    <?xml version="1.0" encoding="UTF-8"?> <过程version = " 8.1.003”>
    > <上下文
    <输入/ >
    <输出/ >
    <宏/ >
    > < /上下文

    <过程扩展= " true " >




    <列出关键= "注释" >

    < / >列表
    <列出关键= " data_set_meta_data_information " >




    < / >列表
    < /操作符>


    < /操作符>





    > < /过程
    < /操作符>
    > < /过程

    我希望能有所帮助,

    问候,

    莱昂内尔

    NB:我坚信这个数据集转换是可能的RapidMiner(没有脚本),所以如果有人有一个想法,我会很好奇知道它。

  • 383742481383742481 成员职位:1贡献我
    你现在能解决这个问题吗?请告诉我该怎么做?谢谢你
登录注册置评。