PAMI.extras.generateDatabase package

Submodules

PAMI.extras.generateDatabase.generateSpatioTemporalDatabase module

class PAMI.extras.generateDatabase.generateSpatioTemporalDatabase.spatioTemporalDatabaseGenerator(xmin: int, xmax: int, ymin: int, ymax: int, maxTimeStamp: int, numberOfItems: int, itemChanceLow: float, itemChanceHigh: float, timeStampChanceLow: float, timeStampChanceHigh: float)[source]

Bases: object

Description:

generateSpatioTemporalDatabase is a code used to convert the database into SpatioTemporal database.

Parameters:
  • xmin – int : To give minimum value for x

  • xmax – int : To give maximum value for x

  • ymin – int : To give minimum value for y

  • ymax – int : To give maximum value for y

  • maxTimeStamp – int : maximum Time Stamp for the database

  • numberOfItems – int : number of items in the database

  • itemChanceLow – int or float : least chance for item in the database

  • itemChanceHigh – int or float : highest chance for item in the database

  • timeStampChanceLow – int or float : lowest time stamp value

  • timeStampChanceHigh – int or float: highest time stamp value

Importing this algorithm into a python program

from PAMI.extras.generateDatabase import generateSpatioTemporalDatabase as db

obj = db.generateSpatioTemporalDatabase(0, 100, 0, 100, 10, 10, 0.5, 0.9, 0.5, 0.9)

obj.save(oFile)

obj.createPoint(0,100,0,100) # values can be according to the size of data

obj.saveAsFile("outputFileName") # To create a file
alreadyAdded = {}
coinFlip = [True, False]
createPoint(xmin: int, xmax: int, ymin: int, ymax: int) Tuple[int, int][source]
items = []
outFileName = ''
saveAsFile(outFileName='', sep='\t') None[source]
timestamp = []

PAMI.extras.generateDatabase.generateTemporalDatabase module

class PAMI.extras.generateDatabase.generateTemporalDatabase.generateTemporalDatabase(numOfTransactions: int, avgLenOfTransactions: int, numItems: int, outputFile: str, percentage: int = 50, sep: str = '\t', typeOfFile: str = 'Database')[source]

Bases: object

Description:

generateTemporalDatabase creates a temporal database and outputs a database or a frame depending on input

Attributes:
param numOfTransactions:

int number of transactions

param avgLenOfTransactions:

int average length of transactions

param numItems:

int number of items

param outputFile:

str output file name

param percentage:

int percentage of coinToss for TID of temporalDatabase

param sep:

str seperator for database output file

param typeOfFile:

str specify database or dataframe to get corresponding output

Methods:
getFileName():

returns filename

createTemporalFile():

creates temporal database file or dataframe

getDatabaseAsDataFrame:

returns dataframe

performCoinFlip():

Perform a coin flip with the given probability

tuning():

Tune the arrayLength to match avgLenOfTransactions

createTemporalFile():

create Temporal database or dataframe depending on input

Importing this algorithm into a python program

from PAMI.extras.generateDatabase import generateTemporalDatabase as db

numOfTransactions = 100
numItems = 15
avgTransactionLength = 6
outFileName = 'temporal_ot.txt'
sep = '     '
percent = 75
frameOrBase = "dataframe" # if you want to get dataframe as output
frameOrBase = "database" # if you want to get database/csv/file as output

temporalDB = db.generateTemporalDatabase(numOfTransactions, avgTransactionLength, numItems, outFileName, percent, sep, frameOrBase )
temporalDB.createTemporalFile()
print(temporalDB.getDatabaseAsDataFrame())
createTemporalFile() None[source]

create Temporal database or dataframe depending on input :return: None

getDatabaseAsDataFrame() DataFrame[source]

return dataframe :return: dataframe :rtype: pd.DataFrame

getFileName() str[source]

return filename :return: filename :rtype: str

performCoinFlip(probability: float) bool[source]

Perform a coin flip with the given probability. :param probability: probability to perform coin flip :type probability: float :return: True if coin flip is performed, False otherwise :rtype: bool

tuning(array, sumRes) list[source]

Tune the array so that the sum of the values is equal to sumRes

Parameters:
  • array (list) – list of values

  • sumRes (int) – target sum

Returns:

list of values with the sum equal to sumRes after tuning

Return type:

list

PAMI.extras.generateDatabase.generateTransactionalDatabase module

class PAMI.extras.generateDatabase.generateTransactionalDatabase.generateTransactionalDatabase(numLines, avgItemsPerLine, numItems)[source]

Bases: object

:Description Generate a transactional database with the given number of lines, average number of items per line, and total number of items

Attributes:

numLines: int
  • number of lines

avgItemsPerLine: int
  • average number of items per line

numItems: int
  • total number of items

Methods:
create:

Generate the transactional database

save:

Save the transactional database to a file

getTransactions:

Get the transactional database

create() None[source]

Generate the transactional database :return: None

generateArray(nums, avg, maxItems) list[source]

Generate a random array of length n whose values average to m

Parameters:
  • nums (list) – number of values

  • avg (float) – average value

  • maxItems (int) – maximum value

Returns:

random array

Return type:

list

getTransactions() DataFrame[source]

Get the transactional database

Returns:

the transactional database

Return type:

pd.DataFrame

save(filename) None[source]

Save the transactional database to a file

Parameters:

filename (str) – name of the file

Returns:

None

tuning(array, sumRes) list[source]

Tune the array so that the sum of the values is equal to sumRes

Parameters:
  • array (list) – list of values

  • sumRes (int) – the sum of the values in the array to be tuned

Returns:

list of values with the tuned values and the sum of the values in the array to be tuned and sumRes is equal to sumRes

Return type:

list

Module contents