=====================================================================
github 源码同步:https://github.com/Thinkgamer/Machine-Learning-With-Python
算法实现均采用python 如需转载请注明出处,谢谢
一:非二元属性的关联规则挖掘
TID | 年龄 |
文化程度
|
是否购买笔记本 |
100 | 49 |
研究生
|
否 |
200 | 29 |
研究生 |
是
|
300 | 35 |
研究生 |
是
|
400 | 26 |
本科
|
否 |
500 | 31 |
研究生 |
是
|
TID | 年龄0-20 |
年龄20-40
|
年龄40以上
|
文化程度-高中
|
文化程度-大学
|
文化程度-研究生
|
是否购买 |
100 | 否 |
否
|
是
|
否
|
否
|
是
|
否 |
200 | 否 |
是
|
否
|
否
|
否
|
是
|
是
|
300 | 否 |
是
|
否
|
否
|
否
|
是
|
是
|
400 | 否 |
是
|
否
|
否
|
是
|
否
|
否 |
500 | 否 |
是
|
否
|
否
|
否
|
是
|
是
|
二:关联规则的评价
支持度和置信度
项集支持度:一个项集出现的次数与数据集所有事物数的百分比称为项集的支持度
eg:support(A->B)=support_count(A并B) / N
项集置信度(confidence):数据集中同时包含A,B的百分比
eg:confidence(A->B) = support_count(A并B) / support_count(A)
打篮球 | 不打篮球 | ||
吃麦片 | 2000 | 1750 | 3750 |
不吃麦片 | 1000 |
250
|
1250
|
3000 |
2000
|
5000 |
相关性分析
辛普森悖论
物理学院的数据:
男生人数 | 女生人数 | 男:女 | |
P大 | 45 | 8 | 5.6:1 |
T大 | 101 |
51
|
2.0:1
|
男生人数 | 女生人数 | 男:女 | |
P大 | 50 | 201 | 0.25:1 |
T大 | 9 |
92
|
0.10:1
|
男生人数 | 女生人数 | 男:女 | |
P大 | 95 | 209 | 0.45:1 |
T大 | 110 |
143
|
0.77:1
|
图中,黑色的线代表 P 大数据,红色的线代表 T 大的数据。A p 点的横坐标为 P 大外院女生人数,纵坐标为 P 大外院男生人数;B p 点的横纵坐标则分别为 P 大总女生人数和总男生人数。A t 和 B t 点的意义与之相对应。
设坐标原点为 O,则 OA p 的斜率表示的就是 P 大外院的男女比例,A p B p 表示的是 P 大物院的男女比例,OB p 表示的则是 P 大总男女比例;T 大的各线段斜率意义与之对应。
如此一来,一切都变得清晰起来了。辛普森悖论反映在这张图上,就成了一个显然的事实:在 P 大的外院、物院两个向量的斜率分别大于 T 大的两个向量的斜率的条件下,总人数向量的斜率当然不一定哪个大呀!根据这个直观的理解,你也可以随意编造能产生辛普森悖论的数据了吧!
知道了辛普森悖论这一事实之后,我们以后对待统计数据就要更加小心了。在数学中,经常会出现这种出乎人们意料的惊人事实,所以还是一定要学好数学啊!