python数据分析

python数据分析(8)——挖掘建模(3)关联规则 1, 常用关联规则算法 2, Apriori算法 2,1 关联规则和频繁项集 2

本文包含相关资料包-----> 点击直达获取<-------

python数据分析(8)——挖掘建模(3)关联规则

1. 常用关联规则算法

2. Apriori算法

2.1 关联规则和频繁项集

2.1.1 关联规则的一般形式

2.1.2 最小支持度和最小置信度

最小支持度是用户或专家定义的衡量支持度的一个阈值,表示项目集在统计意义上的最低重要性;最小置信度是用户或专家定义的衡量置信度的一个阈值,表示关联规则的可靠性。同时满足最小支持度阈值和最小置信度阈值的规则称作强规则。

2.1.3 项集

项集是项的集合。项集的出现频率是所有包含项集的事务计数,又称作绝对支持度或支持度计数。如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集。

2.1.4 支持度计数

```python

- - coding: utf-8 - -

from future import print_function import pandas as pd

自定义连接函数,用于实现L_{k-1}到C_k的连接

def connect_string(x, ms): x = list(map(lambda i:sorted(i.split(ms)), x)) l = len(x[0]) r = [] for i in range(len(x)): for j in range(i,len(x)): if x[i][:l-1] == x[j][:l-1] and x[i][l-1] != x[j][l-1]: r.append(x[i][:l-1]+sorted([x[j][l-1],x[i][l-1]])) return r

寻找关联规则的函数

def find_rule(d, support, confidence, ms = u'--'): result = pd.DataFrame(index=['support', 'confidence']) #定义输出结果

support_series = 1.0*d.sum()/len(d) #支持度序列 column = list(support_series[support_series > support].index) #初步根据支持度筛选 k = 0

while len(column) > 1: k = k+1 print(u'\n正在进行第%s次搜索...' %k) column = connect_string(column, ms) print(u'数目:%s...' %len(column)) sf = lambda i: d[i].prod(axis=1, numeric_only = True) #新一批支持度的计算函数

#创建连接数据,这一步耗时、耗内存最严重。当数据集较大时,可以考虑并行运算优化。
d_2 = pd.DataFrame(list(map(sf,column)), index = [ms.join(i) for i in column]).T

support_series_2 = 1.0*d_2[[ms.join(i) for i in column]].sum()/len(d) #计算连接后的支持度
column = list(support_series_2[support_series_2 > support].index) #新一轮支持度筛选
support_series = support_series.append(support_series_2)
column2 = []

for i in column: #遍历可能的推理,如{A,B,C}究竟是A+B-->C还是B+C-->A还是C+A-->B?
  i = i.split(ms)
  for j in range(len(i)):
    column2.append(i[:j]+i[j+1:]+i[j:j+1])

cofidence_series = pd.Series(index=[ms.join(i) for i in column2]) #定义置信度序列

for i in column2: #计算置信度序列
  cofidence_series[ms.join(i)] = support_series[ms.join(sorted(i))]/support_series[ms.join(i[:len(i)-1])]

for i in cofidence_series[cofidence_series > confidence].index: #置信度筛选
  result[i] = 0.0
  result[i]['confidence'] = cofidence_series[i]
  result[i]['support'] = support_series[ms.join(sorted(i.split(ms)))]

result = result.T.sort_values(['confidence','support'], ascending = False) #结果整理,输出 print(u'\n结果为:') print(result)

return result ```

参考文献

  • 网站运营分析系统设计与实现(电子科技大学·蒋黎)
  • 分布式多数据源电商数据融合分析系统(北京邮电大学·张骏)
  • 数据分析流程编排系统设计与实现(大连理工大学·闫欣)
  • 基于Django的模型参数分析系统的设计与实现(南京大学·府洁)
  • 网络流量统计分析系统(吉林大学·石景龙)
  • 基于业务插件化的电商大数据采集系统(浙江工业大学·李天琦)
  • 基于轻量级J2EE的证券数据分析系统研究与设计(浙江大学·唐业祎)
  • 基于图数据库的上市公司知识图谱构建与智能问答系统研究(首都经济贸易大学·王雨宁)
  • 数据统计分析应用软件的研究与实现(西安工程大学·贺艳琴)
  • 基于Web使用挖掘的在线报名推荐系统的研究与实现(电子科技大学·王玥)
  • 标准化报表的数据分析在电信财务收入系统中的应用(电子科技大学·金鑫)
  • 生物农药智能推荐系统的设计与实现(电子科技大学·彭亚飞)
  • 电子商务网站的数据分析系统研究与开发(北方工业大学·韩杰)
  • 基于Hadoop的电商数据分析系统的设计与实现(广西师范大学·孙明铎)
  • 基于轻量级J2EE的证券数据分析系统研究与设计(浙江大学·唐业祎)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码码头 ,原文地址:https://bishedaima.com/yuanma/35399.html

相关推荐

  • 基于Python的中文自动分词实验

    中文自动分词实验 实验内容 使用任意分词方法进行分词 实验要求和目的 使用任意分词方法实现汉语自动分词; 给出至少 1000 个句子的分词结果(以附件形式); 计算出分词结果的正确率
    2024年05月14日
    3 1 1
  • JavaWeb实现足球队管理系统

    JavaWeb 毕业设计项目-足球队管理系统(一)系统结构图 + 用例图 系统功能结果图: 管理员(球队经理)用例图: 教练组用例图: 球员组用例图: JavaWeb 毕业设计项目-足球队管理系统(二)成品展示 + 业务介绍 1
    2024年05月14日
    4 1 2
  • 基于JSP和Oracle的网上招聘系统的设计与实现

    基于JSP和Oracle的网上招聘系统的设计与实现 摘 要 随着时代的发展,中国的互联网技术愈加成熟,已经有越来越多的社会群体开始学会使用互联网技术
    2024年05月14日
    11 1 1
  • 教学辅助平台

    这是一个🔥🔥基于SpringBoot框架的教学辅助平台设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    1 1 1
  • 基于java开发教室预约Web

    Class Int—教室资源管理系统 一,需求介绍 1,1 项目前景 近年来,随着高校不断的扩招,在校师生人数不断增加,各级高校都迫切需要提高工作质量和工作效率
    2024年05月14日
    1 1 1
  • Java+SSM学生公寓宿舍寝室管理系统

    这是一个🔥🔥SSM学生公寓宿舍寝室管理系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 学生公寓管理系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业基于SSM框架与mysql技术
    2024年05月23日
    6 1 2
  • 基于springcloud实现的医院信息系统

    项目简介 HIS英文全称 hospital information system(医院信息系统),系统主要功能按照数据流量,流向及处理过程分为临床诊疗,药品管理
    2024年05月14日
    1 1 1
  • 城镇保障性住房管理系统

    这是一个🔥🔥基于SpringBoot框架的城镇保障性住房管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于SSM框架的个人博客系统(源码+论文)

    这是一个🔥🔥基于SSM框架的个人博客系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 个人博客系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业使用spring+springmvc+mybatis实现一个个人博客系统
    2024年05月23日
    10 1 3
  • 基于 JavaWeb 的学院党费缴费系统

    基于 JavaWeb 的学院党费缴费系统 第 1 章绪论 1,1 项目背景 当今互联网发展及其迅速,互联网的便利性已经遍及到各行各业,惠及到每一个人
    2024年05月14日
    29 1 3

发表回复

登录后才能评论