Dynamic Matrix Apriori Repository
Datasets
The datasets are taken from Frequent Itemset Mining Implementations Repository.
- D1 - T10I4D100K
- D2 - T40I10D100K
- D3 - retail
Testing Procedure
Both algorithms are implemented in Java (1.7) and test runs are performed on a computer with 2.20 GHz processor and 16 GB memory.
We have successfully run the programs on both Linux and Windows systems. We expect them to work on other systems where Java is available.
The Dynamic Matrix Apriori Algorithm is compared with the Matrix Apriori Algorithm when the database is updated.
Since Matrix Apriori does not have an update feature, it runs from the beginning on the updated database while Dynamic Matrix Apriori only runs on the
updates.
Addition Tests
In the addition tests, the dataset are splitted into two parts. The part with (100-x)% from the begining of the transactions forms the initial dataset
and the remaining part with x% of the transactions forms the updates.
- Example: When the split size is 5%:
- The inital dataset is 95% of the transactions.
Addition and Deletion Tests
In the addition and deletions tests, the part with (100-x)% from the begining of the transactions forms
the initial dataset and the remaining part with x% of the transactions forms the additions.
Then, the part with y% from the begining of the transactions forms the deletion part.
The x is set to 10, 10 and 2 for D1, D2 and D3 respectively during the tests.
- Example: When the deletion size is 15% for D1:
- The inital dataset is 90% of the transactions.
- The addition size is 10% of the transactions.
- The deletion size is 15% of the transactions.
The minimum support is set to 1%, 5% and 0,5% for D1, D2 and D3 respectively during the tests.
Executable Programs
Matrix Apriori Algorithm
Dynamic Matrix Apriori Algorithm
- Dynamic Matrix Apriori (Handles additions)
- Dynamic Matrix Apriori (Handles additions and deletions)
Execution of Matrix Apriori Algorithm
To run the program, use the jar file provided above with the following parameters.
- [FILENAME]: The path of the dataset file.
- [SUPPORT]: The minimum support value.
Example: java -jar MatrixApriori.jar C:\dataset.txt 990
Execution of Dynamic Matrix Apriori Algorithm for Additions
To run the program, use the jar file provided above with the following parameters.
- [INITIAL DATASET PATH]: The path of the initial dataset file.
- [SUPPORT]: The minimum support value.
- [ADDITION DATASET PATH]: The path of the addition dataset file.
- [SUPPORT AFTER ADDITIONS]: The minimum support value after additions.
Example: java -jar DMAAdditions.jar C:\initialdataset.txt 900 C:\additions.txt 1000
Execution of Dynamic Matrix Apriori Algorithm for Additions and Deletions
To run the program, use the jar file provided above with the following parameters.
- [INITIAL DATASET PATH]: The path of the initial dataset file.
- [SUPPORT]: The minimum support value.
- [ADDITION DATASET PATH]: The path of the addition dataset file.
- [SUPPORT AFTER ADDITIONS]: The minimum support value after additions.
- [DELETION DATASET PATH]: The path of the deletion dataset file.
- [SUPPORT AFTER DELETIONS]: The minimum support value after deletions.
Example: java -jar DMAAdditionsDeletions.jar C:\initialdataset.txt 900 C:\additions.txt 1000 C:\deletions.txt 950
Screenshots
Some sample screenshots on how our program was run on our machine and how the results match with the graphs that are included in the paper can be found in the screenshots folder.
Warnings
The dataset files should start with the phrase "BEGIN_DATA" and should end with the phrase "END_DATA".
To let most of the memory of the system be available to Java Virtual Machine, we have used -Xmx16384M switch.