FAE

class PAMI.frequentPattern.topk.FAE.FAE(iFile, k, sep='\t')[source]

Bases: _frequentPatterns

About this algorithm

Description:

Top - K is and algorithm to discover top frequent patterns in a transactional database.

Reference:

Zhi-Hong Deng, Guo-Dong Fang: Mining Top-Rank-K Frequent Patterns: DOI: 10.1109/ICMLC.2007.4370261 · Source: IEEE Xplore https://ieeexplore.ieee.org/document/4370261

Parameters:
  • iFile (str or URL or dataFrame) – Name of the Input file to mine complete set of frequent patterns.

  • oFile (str) – Name of the output file to store complete set of frequent patterns.

  • k (int) – User specified count of top frequent patterns.

  • minimum (int) – Minimum number of frequent patterns to consider in analysis.

  • sep (str) – This variable is used to distinguish items from one another in a transaction. The default seperator is tab space. However, the users can override their default separator.

Attributes:
  • startTime (float) – To record the start time of the mining process.

  • endTime (float) – To record the completion time of the mining process.

  • finalPatterns (dict) – Storing the complete set of patterns in a dictionary variable.

  • memoryUSS (float) – To store the total amount of USS memory consumed by the program.

  • memoryRSS (float) – To store the total amount of RSS memory consumed by the program.

Execution methods

Terminal command

Format:

(.venv) $ python3 FAE.py <inputFile> <outputFile> <K>

Example Usage:

(.venv) $ python3 FAE.py sampleDB.txt patterns.txt 10.0

Note

k will be considered as count of top frequent patterns to consider in analysis.

Calling from a python program

import PAMI.frequentPattern.topK.FAE as alg

iFile = 'sampleDB.txt'

K = 2

obj = alg.FAE(iFile, K)

obj.mine()

topKFrequentPatterns = obj.getPatterns()

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

obj.save(oFile)

Df = obj.getPatternInDataFrame()

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)

Credits:

The complete program was written by P. Likhitha and revised by Tarun Sreepada under the supervision of Professor Rage Uday Kiran.

getMemoryRSS()[source]

Total amount of RSS memory consumed by the mining process will be retrieved from this function

Returns:

returning RSS memory consumed by the mining process

Return type:

float

getMemoryUSS()[source]

Total amount of USS memory consumed by the mining process will be retrieved from this function

Returns:

returning USS memory consumed by the mining process

Return type:

float

getPatterns()[source]

Function to send the set of frequent patterns after completion of the mining process

Returns:

returning frequent patterns

Return type:

dict

getPatternsAsDataFrame()[source]

Storing final frequent patterns in a dataframe

Returns:

returning frequent patterns in a dataframe

Return type:

pd.DataFrame

getRuntime()[source]

Calculating the total amount of runtime taken by the mining process

Returns:

returning total amount of runtime taken by the mining process

Return type:

float

mine()[source]

TopK Frequent pattern mining process will start from here

printResults()[source]

This function is used to print the results

save(outFile)[source]

Complete set of frequent patterns will be loaded in to an output file

Parameters:

outFile (csvfile) – name of the output file

startMine()[source]

TopK Frequent pattern mining process will start from here