PAMI.relativeHighUtilityPattern.basic 包

子模块

PAMI.relativeHighUtilityPattern.basic.RHUIM 模块

class PAMI.relativeHighUtilityPattern.basic.RHUIM.RHUIM(iFile: str, minUtil: int, minUR: float, sep: str = '\t')[来源]

基础:_utilityPatterns

Description:

RHUIM算法帮助我们从事务数据库中挖掘相对高效用项集。

Reference:

R. U. Kiran, P. Pallikila, J. M. Luna, P. Fournier-Viger, M. Toyoda 和 P. K. Reddy, “使用零不变度量在非常大的交易数据库中挖掘相对高效用项集,”

2021年IEEE国际大数据会议(Big Data),美国佛罗里达州奥兰多,2021年,第252-262页, doi: 10.1109/BigData52589.2021.9672064。

Parameters:
  • iFile – str : 输入文件的名称,用于挖掘相对高效用模式的完整集合

  • oFile – str : 用于存储完整相对高效用模式集的输出文件名

  • minSup – float 或 int 或 str : minSup 度量约束了数据库中模式必须出现的最小交易数量 示例:minSup=10 将被视为整数,而 minSup=10.0 将被视为浮点数

  • sep – str : 此变量用于在事务中区分不同的项目。默认的分隔符是制表符。但是,用户可以覆盖他们的默认分隔符。

  • minUtil – int : 最小效用阈值。

Attributes:
iFilefile

用于挖掘完整模式集的输入文件名

oFilefile

输出文件的名称,用于存储完整的模式集

memoryRSSfloat

存储程序消耗的RSS内存总量

startTimefloat

记录采矿过程的开始时间

endTimefloat

记录挖掘过程的完成时间

minUtilint

用户给定的minUtil值

minURfloat

用户给定的minUR值

relativeHighUtilityItemSetsmap

相对高效用项集的集合

candidateCountint

候选人数量

utilityBinArrayLUlist

用于保存数据库中项目本地效用值的映射

utilityBinArraySUlist

一个用于保存项目子树效用值的映射是数据库

oldNamesToNewNameslist

一个包含旧名称和项目新名称作为键值对的映射

newNamesToOldNameslist

一个包含新名称和旧名称的映射,其中项目的新旧名称作为键值对

maxMemoryfloat

此程序运行所使用的最大内存

patternCountint

RHUI的数量

itemsToKeeplist

仅保留有前景的项目,即可以扩展其他项目以形成RHUI的项目

itemsToExplorelist

需要探索的项目列表

Methods:
mine()

挖掘过程将从此处开始

getPatterns()

将使用此函数检索完整的模式集

save(oFile)

完整的模式集将被加载到一个输出文件中

getPatternsAsDataFrame()

完整的模式集将被加载到数据框中

getMemoryUSS()

从该函数中获取的挖矿过程消耗的USS内存总量

getMemoryRSS()

将从该函数中检索出挖矿过程消耗的RSS内存总量

getRuntime()

从该函数中获取的挖掘过程所花费的总运行时间

backTrackingRHUIM(transactionsOfP, itemsToKeep, itemsToExplore, prefixLength)

一种递归挖掘RHUIs的方法

useUtilityBinArraysToCalculateUpperBounds(transactionsPe, j, itemsToKeep)

一种计算可以扩展itemSet P和e的所有项的子树效用和局部效用的方法

output(tempPosition, utility)

一种根据用户选择将相对高效用项集输出到文件或内存的方法

is_equal(transaction1, transaction2)

一种检查两个交易是否相同的方法

useUtilityBinArrayToCalculateSubtreeUtilityFirstTime(dataset)

一种计算单个项目的子树效用值的方法

sortDatabase(self, transactions)

一种排序交易的方法

sort_transaction(self, trans1, trans2)

一种排序交易的方法

useUtilityBinArrayToCalculateLocalUtilityFirstTime(self, dataset)

一种计算单个项目集本地效用值的方法

在终端上执行代码的方法

Format:

(.venv) $ python3 RHUIM.py <inputFile> <outputFile> <minUtil> <sep>

Example usage:

(.venv) $ python3 RHUIM.py sampleTDB.txt output.txt 35 20


        .. note:: minSup will be considered in times of minSup and count of database transactions

将此算法导入到Python程序中

from PAMI.relativeHighUtilityPattern.basic import RHUIM as alg

obj=alg.RHUIM("input.txt", 35, 20)

obj.mine()

frequentPatterns = obj.getPatterns()

print("Total number of Frequent Patterns:", len(frequentPatterns))

obj.savePatterns(oFile)

Df = obj.getPatternsAsDataFrame()

memUSS = obj.getmemoryUSS()

print("Total Memory in USS:", memUSS)

memRSS = obj.getMemoryRSS()

print("Total Memory in RSS", memRSS)

run = obj.getRuntime()

print("Total ExecutionTime in seconds:", run)

致谢:

完整的程序由Pradeep Pallikila在Rage Uday Kiran教授的指导下编写。

getMemoryRSS() float[来源]

将从该函数中检索出挖矿过程消耗的RSS内存总量

Returns:

返回挖掘过程消耗的RSS内存

Return type:

浮点数

getMemoryUSS() float[来源]

从该函数中获取的挖矿过程消耗的USS内存总量

Returns:

返回采矿过程消耗的USS内存

Return type:

浮点数

getPatterns() dict[来源]

在挖掘过程完成后发送模式集合的函数

Returns:

返回模式

Return type:

字典

getPatternsAsDataFrame() DataFrame[来源]

将最终模式存储在数据框中

Returns:

返回数据框中的模式

Return type:

pd.DataFrame

getRuntime() float[来源]

计算采矿过程所花费的总运行时间

Returns:

返回采矿过程所花费的总运行时间

Return type:

浮点数

mine() None[来源]

挖掘过程将从这个函数开始 :return: 无

printResults() None[来源]

此函数用于打印结果 :return: 无

save(outFile: str) None[来源]

完整的频繁模式集将被加载到输出文件中

Parameters:

outFile (file) – 输出文件的名称

Returns:

sortDatabase(transactions: list) None[来源]

一种排序交易的方法

Attributes:

Parameters:

transactions (list) – 项目的交易

Returns:

已排序的交易。

Return type:

交易或列表

sort_transaction(trans1: _Transaction, trans2: _Transaction) int[来源]

一种排序交易的方法

Attributes:

Parameters:

trans1 (Transaction) – 第一笔交易。

:param trans2: 第二个交易。 :type trans2: 交易 :return: 排序后的交易。 :rtype: 交易

startMine() None[来源]

挖掘过程的代码将从该函数开始

PAMI.relativeHighUtilityPattern.basic.abstract 模块

模块内容