python数据挖掘(1.亲和性分析)
数据源(python数据挖掘文件下的chapter1)
亲和性分析
亲和性分析根据样本之间的相似度,确定他们关系的亲疏。
下面我们说一个非常常见的应用场景,顾客在买一件商品时,商家可以趁机了解他们还想买什么,以便把多数顾客愿意同时购买的商品放到一起增加销量以提升销售额,当商家收集到足够多的数据时,可以进行亲和性分析,确定哪些商品放到一起出售效果最佳。
亲和性有多种测量方式,例如,两件商品同时出售的频率,购买A再购买B的比例,还有其他方法,我们在后续章节中介绍。
为了方便讲述,我们只考虑一次购买两种商品的情况,我们的商场中有5种商品分别是面包,牛奶,奶酪,苹果和香蕉。数据在文章开头的链接中可以下载到。我们看一下数据
第一行0,0,1,1,1 。0代表没有购买,1代表购买了,该顾客购买了奶酪,苹果和香蕉,并没有购买面包和牛奶。每个特征值只有2个可能的值,1或0,表示是否购买了该商品,并非购买的个数。
我们需要找出的是‘如果顾客购买了商品A,那么他可能愿意购买商品B’这样的规则,最简单的办法是找出数据中同时购买的两件商品,看一下多少人这么做了。
有很多种衡量方法,常用的是支持度和置信度。
支持度指的是给定规则下的次数。
置信度衡量给定规则应验的比例
下面我们通过一个简单的例子来说明一下支持度和置信度的计算。
我们现在想知道,如果顾客购买了苹果,他们也会购买香蕉的支持度和置信度。
In [1]: import numpy as np
In [2]: data_filename = 'Chapter1.txt'
In [3]: x = np.loadtxt(data_filename)
In [4]: print(x[:5])
[[0. 0. 1. 1. 1.]
[1. 1. 0. 1. 0.]
[1. 0. 1. 1. 0.]
[0. 0. 1. 1. 1.]
[0. 1. 0. 0. 1.]]
In [5]: n_samples, n_features = x.shape
.