目录

一、关联分析

1.构建过程

1.1导入数据

1.2检查缺失值,异常值

1.3 约减数据集中属性

2.对结果的评述

2.1 FP-Growth的支持度(Support)参数为0.95情况

2.2 不同min support对关联规则结果的影响

2.3 不同min confidence对结果的影响

3.促销政策

二、分类预测

1.对Titannic Unlabeld进行预测

1.1构建过程

1.2 预测结果

1.3 构建决策树过程的发现

2.五折交叉检验

2.1 引入Cross Validation算子

2.2 将number of folds改为5

2.3 进入子流程进行配置

2.4 结果

3.改变criterion参数


用到的算子有read csv,select attribute,fp-growth,create association rules;set role,decision tree,apply model,cross validation

Exteter是一家综合类百货公司。其销售的商品种类包括:服装、家具用品、健康相关产品、汽车、个人电子产品、电脑、花园相关产品、新奇礼品和珠宝等九大类。为了降低广告促销的成本,公司希望通过挖掘顾客购买记录数据,实现当顾客购买某一件产品时,将“诱饵”商品推荐给顾客,尽可能促使顾客的购买。

公司现有4998条用户购买历史记录(见“数据集-作业1-CatalogCrossSell.xls”),每条记录包含以下字段:

(1)Customer Number:编号,每个顾客有一个唯一的编号用以识别用户;

(2)Clothing Division:0/1, 顾客是否购买了服装。0为未购买,1为购买;

(3)Housewares Division:0/1,顾客是否购买了家具用品。0为未购买,1为购买;

(4)Health Products Division:0/1,顾客是否购买了与健康相关的商品。0为未购买,1为购买;

(5) Automotive Division:0/1,顾客是否购买了汽车。0为未购买,1为购买;

(6)Personal Electronics Division:0/1顾客是否购买了个人电子产品。0为未购买,1为购买;

(7)Computers Division:0/1,顾客是否购买了电脑。0为未购买,1为购买;

(8)Garden Division:0/1,顾客是否购买了有关花园的产品。0为未购买,1为购买;

(9)Novelty Gift Division:0/1,顾客是否购买了新奇礼品。0为未购买,1为购买;

(10)Jewelry Division:0/1, 顾客是否购买了珠宝商品。0为未购买,1为购买。

一、关联分析

1.构建过程

1.1导入数据

  选择方法1将数据导入,如图

ncnn InnerProduct算子 rapidminer算子_servlet

1.2检查缺失值,异常值

引入Numerical to Binominal算子

将除了Customer Number之外的变量放到右边,如图

  

ncnn InnerProduct算子 rapidminer算子_大数据_02

这些变量都要0/1变为flase/true

ncnn InnerProduct算子 rapidminer算子_servlet_03

1.3 约减数据集中属性

  引入Select Attributes算子,

将除了Customer Number之外的变量放到右边(保留了顾客对不同商品的购买情况),如图

ncnn InnerProduct算子 rapidminer算子_数据挖掘_04

1.4 FP-Growth找到频繁项集

 引入FP-Growth算子

ncnn InnerProduct算子 rapidminer算子_servlet_05

设置min support为0.95

如下图,我们可以看到在size2,3中有很多

ncnn InnerProduct算子 rapidminer算子_servlet_06

例如,家具用品的购买就和个人电子产品、珠宝商品、花园产品、新奇产品可能存在关联

Size3表示一项的购买可能与其他两项有关,这里就不一一解释。

1.5 产生关联规则

引入Create Association Rules算子

ncnn InnerProduct算子 rapidminer算子_数据挖掘_07

FP-Growth的支持度(Support)参数为0.95情况下,如下图

ncnn InnerProduct算子 rapidminer算子_大数据_08

FP-Growth的支持度(Support)参数为0.85情况下,如下图

ncnn InnerProduct算子 rapidminer算子_java_09

FP-Growth的支持度(Support)参数为0.75情况下,如下图

ncnn InnerProduct算子 rapidminer算子_ncnn InnerProduct算子_10

FP-Growth的支持度(Support)参数为0.5情况下,如下图

ncnn InnerProduct算子 rapidminer算子_数据挖掘_11

2.对结果的评述

2.1 FP-Growth的支持度(Support)参数为0.95情况

ncnn InnerProduct算子 rapidminer算子_ncnn InnerProduct算子_12

购买了个人电子产品可以推出买了健康相关产品

购买了家具用品可以推出买了健康相关产品

购买了珠宝产品可以推出买了健康相关产品

购买了花园相关产品可以推出买了健康相关产品

购买了新奇产品产品可以推出买了健康相关产品

还有可能由购买了两样物品推出购买了另外的一项产品

购买了个人电子设备和家具可以推出购买了健康有关产品

购买了个人电子产品和珠宝可以推出购买了健康有关产品

2.2 不同min support对关联规则结果的影响

下图依次为min support为0.95,0.85,0.75

ncnn InnerProduct算子 rapidminer算子_ncnn InnerProduct算子_13

ncnn InnerProduct算子 rapidminer算子_servlet_14

ncnn InnerProduct算子 rapidminer算子_大数据_15

首先,随着支持度的下降,我们可以看到相关联的变量越来越多。但是到了后面的的置信度(support)越来越低,即两个购买行为之间不是太过关联。

  同时,我们可以看到,所有的购买行为都是预测会购买健康类的产品,但是由于健康类的产品可以认为是人们日常生活中必须的产品,所以参考意义不大。

2.3 不同min confidence对结果的影响

在之前min confidence为0.8的情况下都是预测健康类,现在我们将min confidence放宽到0.5

ncnn InnerProduct算子 rapidminer算子_java_16

结果为

ncnn InnerProduct算子 rapidminer算子_java_17

产生了更为多样的预测结果(家具类的购买推出电子产品的购买)

3.促销政策

由之前的关联规则结果,我们可以知道,健康类的产品和其他不同的产品购买相关性很多。可以认为健康类产品是一种必需品,因此可以在商场显眼的位置摆放健康类产品,或者是在顾客结账的地方摆放。还可以将健康类产品和其他的产品捆绑销售。

   根据修改min confidence之后的结果,我们知道家具类的购买和电子产品的购买相关联。我们可以在商场的家具购买区判别设置电子产品体验区。

二、分类预测

1.对Titannic Unlabeld进行预测

1.1构建过程

我们对训练数据进行观察,发现没有唯一ID的一列,我们通过Generate ID算子来构建id属性一列

ncnn InnerProduct算子 rapidminer算子_大数据_18

ncnn InnerProduct算子 rapidminer算子_servlet_19

加入Set Role算子

ncnn InnerProduct算子 rapidminer算子_大数据_20

加入Decision Tree和Apply Model算子

ncnn InnerProduct算子 rapidminer算子_servlet_21

ncnn InnerProduct算子 rapidminer算子_java_22

ncnn InnerProduct算子 rapidminer算子_servlet_23

1.2 预测结果

ncnn InnerProduct算子 rapidminer算子_java_24

Yes表示存活

1.3 构建决策树过程的发现

ncnn InnerProduct算子 rapidminer算子_数据挖掘_25

票价大于35.562,且为女性的容易存活

ncnn InnerProduct算子 rapidminer算子_servlet_26

有父母或者小孩的不容易存活

ncnn InnerProduct算子 rapidminer算子_servlet_27

小于18岁的容易存活

ncnn InnerProduct算子 rapidminer算子_大数据_28

票价小于26.144的男性不容易存活

2.五折交叉检验

2.1 引入Cross Validation算子

ncnn InnerProduct算子 rapidminer算子_servlet_29

2.2 将number of folds改为5

ncnn InnerProduct算子 rapidminer算子_ncnn InnerProduct算子_30

2.3 进入子流程进行配置

如图

ncnn InnerProduct算子 rapidminer算子_数据挖掘_31

2.4 结果

ncnn InnerProduct算子 rapidminer算子_java_32

如图,我们可以看到,对于Yes的预测,准确率有71.06%。

对于No的预测,准确率有85.89%。

accuracy: 80.24% +/- 3.41% (micro average: 80.24%)

3.改变criterion参数

将参数修改为gini_index

ncnn InnerProduct算子 rapidminer算子_ncnn InnerProduct算子_33

根据检验表,我们可以看到准确率相较于gini_ratio有下降

ncnn InnerProduct算子 rapidminer算子_ncnn InnerProduct算子_34

根据决策树,我们树的广度提高了,深度减少了

将参数改为accuracy

ncnn InnerProduct算子 rapidminer算子_servlet_35

对于Yes的预测准确率下降

对于No的预测准确率上升

ncnn InnerProduct算子 rapidminer算子_数据挖掘_36

决策树层层递进,一目了然。