• 大小: 3KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Python
  • 标签: apriori  python  3  

资源简介

apriori 模块 python 3 使用方法: apriori=find_rule(data_1, support, confidence, ms='-->')

资源截图

代码片段和文件信息

# -*- 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 colu

评论

共有 条评论