NiaARM.jl

Numerical Association Rule Mining in Julia
Author firefly-cpp
Popularity
0 Stars
Updated Last
8 Months Ago
Started In
May 2022

logo


NiaARM.jl - Numerical Association Rule Mining in Julia

About ๐Ÿ“‹

NiaARM.jl is a Julia framework for mining numerical association rules based on nature-inspired algorithms for optimization. ๐ŸŒฟ Inspired by the NiaARM Python package, this package brings the power of numerical association rule mining to the Julia ecosystem. The current NiaARM.jl version supports the loading and preprocessing of datasets automatically, searching the numerical association rules and providing an output of identified association rules. ๐Ÿ’ป๐Ÿ” Similar to the original NiaARM implementation, numerical association rule mining is defined as an optimization problem and solved using population-based nature-inspired algorithms implemented within this framework.

Detailed insights โœจ

The current version includes (but is not limited to) the following functions:

  • loading datasets in CSV format ๐Ÿ“‚
  • preprocessing of data ๐Ÿ”„
  • searching for association rules ๐Ÿ”
  • providing an output of mined association rules ๐Ÿ“
  • generating statistics about mined association rules ๐Ÿ“Š
  • providing the implementation of several state-of-the-art nature-inspired algorithms for optimization ๐Ÿงฌ

Installation ๐Ÿ“ฆ

pkg> add NiaARM

Usage ๐Ÿš€

Basic run example

using NiaARM, CSV, DataFrames

# read dataset from CSV file
transactions = CSV.read("dataset.csv", DataFrame)
# set stopping criterion
# there exist three stopping criteria: maxevals, maxiters, acceptable_fitness
criterion = StoppingCriterion(maxevals=5000)
# call function for rule mining
# the second parameter is the name of the optimization algorithm
# for now, Particle Swarm Optimization, Differential Evolution, and Random Search are implemented
rules = mine(transactions, de, criterion, seed=1234)

# print identified rules
for rule in rules
    println(rule)
end

Reference papers ๐Ÿ“„

Ideas are based on the following research papers:

[1] Stupan, ลฝ., & Fister Jr., I. (2022). NiaARM: A minimalistic framework for Numerical Association Rule Mining. Journal of Open Source Software, 7(77), 4448.

[2] I. Fister Jr., A. Iglesias, A. Gรกlvez, J. Del Ser, E. Osaba, I Fister. Differential evolution for association rule mining using categorical and numerical attributes In: Intelligent data engineering and automated learning - IDEAL 2018, pp. 79-88, 2018.

[3] I. Fister Jr., V. Podgorelec, I. Fister. Improved Nature-Inspired Algorithms for Numeric Association Rule Mining. In: Vasant P., Zelinka I., Weber GW. (eds) Intelligent Computing and Optimization. ICO 2020. Advances in Intelligent Systems and Computing, vol 1324. Springer, Cham.

[4] I. Fister Jr., I. Fister A brief overview of swarm intelligence-based algorithms for numerical association rule mining. arXiv preprint arXiv:2010.15524 (2020).

Related frameworks ๐Ÿ”—

[1] NiaARM: A minimalistic framework for Numerical Association Rule Mining

[2] uARMSolver: universal Association Rule Mining Solver

[3] niarules: Numerical Association Rule Mining using Population-Based Nature-Inspired Algorithms

License

This package is distributed under the MIT License. This license can be found online at http://www.opensource.org/licenses/MIT.

Disclaimer

This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!

Used By Packages