这是一个简单的模块,它接受交易输入并提供它的 UP-Tree、HeaderTable 和交易字典
项目描述
UP Tree(实用模式树)
这是一个简单的模块,它接受交易输入并提供它的 UP-Tree、HeaderTable 和交易以及它们的项目实用程序。UP-Tree 的每个节点 N 有六个条目: N.item 是 N 的项目名称;N.count 是 N 的节点效用;N.num 为 N 的支持数;N.parent表示N的父节点;N.nextNode 是一个节点链接,它可以指向一个与 N.item 具有相同项目名称的节点;N.children 是一个字典,它包含项名称作为键和节点作为所有父节点为 N 的节点的值。 Header 表是一种用于方便遍历 UP-Tree 的结构。标题表条目包含项目名称、估计效用值和链接。该链接指向 UP-Tree 中与条目具有相同项目名称的第一个节点。
Github:https ://github.com/miths/UPTree
如何使用
-
将 src 文件夹的内容复制到您的项目文件夹中。
-
运行初始化.py 文件
UPTree.py 包含所有使用的函数,init .py 包含可以执行代码的主要函数。
用途和功能
upTree, headerTable, transanctions= UPTree(
交易文件路径,
利润文件路径)
upTree.disp()
# 打印 UP-Tree
例如:
upTree, headerTable, transactions = UPTree('D:\user\data_proj_1.txt', 'D:\user\profit1.txt')
输入格式:
需要两个文本文件。一个用于交易(项目和数量),另一个用于利润(每个项目)。
例如:
格式:
item1 item2 item3 item4 :数量(item1) 数量(item2) 数量(item3) 数量(item4)
..
..
..
格式:
利润(项目1)
利润(项目2)
利润(item3)
利润(项目4)
..
注意:所有项目名称都应该是数字。利润可以是浮点数或整数。所有项目的利润值都应该是正数。所有数量值都应大于 0。所有项目在每笔交易中都必须具有有效数量。所有项目都必须具有利润价值。
输出:
函数返回
- 向上树
- 标题表
- 交易
向上树
可以通过以下方式打印:upTree.disp()
UP-Tree 的每个节点显示以下信息:<item><item utility><number of occures in database>
表头表
可以通过以下方式打印:print(headerTable)
headerTable 是一个字典。key: item, value: [事务加权效用,item的头节点(Node.nextNode指向同一个item的其他节点)]
交易
可以通过以下方式打印:print(transactions)
交易是根据每个项目的交易加权效用降序排列的字典
键:交易号,值:字典(项目:项目实用程序)
一些有用的定义
交易加权效用
定义
例如对于这种情况
物品实用程序
定义
交易 T 中物品 I 的绝对效用表示为 IU(I)= 数量(I) * 利润(I)