Skip to content

Commit 33efb94

Browse files
authored
Merge branch 'firefly-cpp:main' into feature/scatter-plot-grouped-matrix-plot-viz
2 parents 65928a4 + 8f690df commit 33efb94

17 files changed

+1079
-681
lines changed

.all-contributorsrc

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
{
2+
"files": [
3+
"README.md"
4+
],
5+
"imageSize": 100,
6+
"commit": false,
7+
"commitType": "docs",
8+
"commitConvention": "angular",
9+
"contributors": [
10+
{
11+
"login": "zStupan",
12+
"name": "zStupan",
13+
"avatar_url": "https://avatars.githubusercontent.com/u/48752988?v=4",
14+
"profile": "https://github.com/zStupan",
15+
"contributions": [
16+
"code",
17+
"bug",
18+
"doc",
19+
"content",
20+
"ideas",
21+
"example"
22+
]
23+
},
24+
{
25+
"login": "firefly-cpp",
26+
"name": "Iztok Fister Jr.",
27+
"avatar_url": "https://avatars.githubusercontent.com/u/1633361?v=4",
28+
"profile": "http://www.iztok.xyz",
29+
"contributions": [
30+
"code",
31+
"bug",
32+
"mentoring",
33+
"maintenance",
34+
"ideas"
35+
]
36+
},
37+
{
38+
"login": "erkankarabulut",
39+
"name": "Erkan Karabulut",
40+
"avatar_url": "https://avatars.githubusercontent.com/u/15374776?v=4",
41+
"profile": "https://erkankarabulut.github.io",
42+
"contributions": [
43+
"code",
44+
"bug"
45+
]
46+
},
47+
{
48+
"login": "lahovniktadej",
49+
"name": "Tadej Lahovnik",
50+
"avatar_url": "https://avatars.githubusercontent.com/u/57890734?v=4",
51+
"profile": "https://github.com/lahovniktadej",
52+
"contributions": [
53+
"doc"
54+
]
55+
},
56+
{
57+
"login": "musicinmybrain",
58+
"name": "Ben Beasley",
59+
"avatar_url": "https://avatars.githubusercontent.com/u/6898909?v=4",
60+
"profile": "https://github.com/musicinmybrain",
61+
"contributions": [
62+
"doc"
63+
]
64+
},
65+
{
66+
"login": "rhododendrom",
67+
"name": "Dusan Fister",
68+
"avatar_url": "https://avatars.githubusercontent.com/u/3198785?v=4",
69+
"profile": "http://www.dusanfister.com",
70+
"contributions": [
71+
"design"
72+
]
73+
}
74+
],
75+
"contributorsPerLine": 7,
76+
"skipCi": true,
77+
"repoType": "github",
78+
"repoHost": "https://github.com",
79+
"projectName": "NiaARM",
80+
"projectOwner": "firefly-cpp"
81+
}

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,67 @@
11
# Changelog
22

3+
## [0.3.9](https://github.com/firefly-cpp/NiaARM/tree/0.3.9) (2024-04-12)
4+
5+
[Full Changelog](https://github.com/firefly-cpp/NiaARM/compare/0.3.8...0.3.9)
6+
7+
**Fixed bugs:**
8+
9+
- Bug Report: RuntimeWarning: invalid value encountered in scalar divide [\#112](https://github.com/firefly-cpp/NiaARM/issues/112)
10+
11+
**Merged pull requests:**
12+
13+
- Bump idna from 3.4 to 3.7 in /docs [\#126](https://github.com/firefly-cpp/NiaARM/pull/126) ([dependabot[bot]](https://github.com/apps/dependabot))
14+
- Bump idna from 3.4 to 3.7 [\#125](https://github.com/firefly-cpp/NiaARM/pull/125) ([dependabot[bot]](https://github.com/apps/dependabot))
15+
- Bump pillow from 10.2.0 to 10.3.0 in /docs [\#124](https://github.com/firefly-cpp/NiaARM/pull/124) ([dependabot[bot]](https://github.com/apps/dependabot))
16+
- Bump pillow from 10.2.0 to 10.3.0 [\#123](https://github.com/firefly-cpp/NiaARM/pull/123) ([dependabot[bot]](https://github.com/apps/dependabot))
17+
- Dependency version [\#122](https://github.com/firefly-cpp/NiaARM/pull/122) ([lahovniktadej](https://github.com/lahovniktadej))
18+
- docs: add rhododendrom as a contributor for design [\#120](https://github.com/firefly-cpp/NiaARM/pull/120) ([allcontributors[bot]](https://github.com/apps/allcontributors))
19+
- docs: add musicinmybrain as a contributor for doc [\#119](https://github.com/firefly-cpp/NiaARM/pull/119) ([allcontributors[bot]](https://github.com/apps/allcontributors))
20+
- docs: add lahovniktadej as a contributor for doc [\#118](https://github.com/firefly-cpp/NiaARM/pull/118) ([allcontributors[bot]](https://github.com/apps/allcontributors))
21+
- docs: add erkankarabulut as a contributor for code, and bug [\#117](https://github.com/firefly-cpp/NiaARM/pull/117) ([allcontributors[bot]](https://github.com/apps/allcontributors))
22+
- docs: add firefly-cpp as a contributor for code, bug, and 3 more [\#116](https://github.com/firefly-cpp/NiaARM/pull/116) ([allcontributors[bot]](https://github.com/apps/allcontributors))
23+
- docs: add zStupan as a contributor for code, bug, and 4 more [\#115](https://github.com/firefly-cpp/NiaARM/pull/115) ([allcontributors[bot]](https://github.com/apps/allcontributors))
24+
- Add Leverage Rule Quality Criterion [\#114](https://github.com/firefly-cpp/NiaARM/pull/114) ([erkankarabulut](https://github.com/erkankarabulut))
25+
26+
## [0.3.8](https://github.com/firefly-cpp/NiaARM/tree/0.3.8) (2024-03-13)
27+
28+
[Full Changelog](https://github.com/firefly-cpp/NiaARM/compare/0.3.7...0.3.8)
29+
30+
**Merged pull requests:**
31+
32+
- Fix division by zero error during acc calculation [\#113](https://github.com/firefly-cpp/NiaARM/pull/113) ([erkankarabulut](https://github.com/erkankarabulut))
33+
34+
## [0.3.7](https://github.com/firefly-cpp/NiaARM/tree/0.3.7) (2024-02-10)
35+
36+
[Full Changelog](https://github.com/firefly-cpp/NiaARM/compare/0.3.6...0.3.7)
37+
38+
**Implemented enhancements:**
39+
40+
- Do not save "similar rules" [\#103](https://github.com/firefly-cpp/NiaARM/issues/103)
41+
42+
**Closed issues:**
43+
44+
- Large datasets [\#93](https://github.com/firefly-cpp/NiaARM/issues/93)
45+
46+
**Merged pull requests:**
47+
48+
- Do not save similar rules [\#109](https://github.com/firefly-cpp/NiaARM/pull/109) ([zStupan](https://github.com/zStupan))
49+
- Bump jinja2 from 3.1.2 to 3.1.3 [\#108](https://github.com/firefly-cpp/NiaARM/pull/108) ([dependabot[bot]](https://github.com/apps/dependabot))
50+
- Bump pillow from 10.1.0 to 10.2.0 [\#107](https://github.com/firefly-cpp/NiaARM/pull/107) ([dependabot[bot]](https://github.com/apps/dependabot))
51+
- README enhancement [\#106](https://github.com/firefly-cpp/NiaARM/pull/106) ([lahovniktadej](https://github.com/lahovniktadej))
52+
53+
## [0.3.6](https://github.com/firefly-cpp/NiaARM/tree/0.3.6) (2024-01-26)
54+
55+
[Full Changelog](https://github.com/firefly-cpp/NiaARM/compare/0.3.5...0.3.6)
56+
57+
**Closed issues:**
58+
59+
- Zhang's metric [\#104](https://github.com/firefly-cpp/NiaARM/issues/104)
60+
61+
**Merged pull requests:**
62+
63+
- Implemented Zhang's Metric [\#105](https://github.com/firefly-cpp/NiaARM/pull/105) ([zStupan](https://github.com/zStupan))
64+
365
## [0.3.5](https://github.com/firefly-cpp/NiaARM/tree/0.3.5) (2023-11-01)
466

567
[Full Changelog](https://github.com/firefly-cpp/NiaARM/compare/0.3.4...0.3.5)

CONTRIBUTING.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,25 @@ All the project's dependencies should be installed and the project ready for fur
3535

3636
| Package | Version | Platform |
3737
|---------|:-------:|:--------:|
38-
| niapy | ^2.0.1 | All |
39-
| pandas | ^1.3.5 | All |
40-
| numpy | ^1.21.5 | All |
38+
| niapy | ^2.0.5 | All |
39+
| numpy | ^1.26.1 | All |
40+
| pandas | ^2.1.1 | All |
41+
| nltk | ^3.8.1 | All |
42+
| tomli | ^2.0.1 | All |
4143

4244
#### Development dependencies
4345

44-
| Package | Version | Platform |
45-
|---------|:-------:|:--------:|
46-
| pytest | ^7.0.1 | Any |
46+
| Package | Version | Platform |
47+
|------------------|:-------:|:--------:|
48+
| pytest | ^7.4.2 | Any |
49+
| pytest-cov | ^4.1.0 | Any |
50+
| pytest.randomly | ^3.15.0 | Any |
4751

4852
#### Extras
4953

5054
| Package | Version | Platform |
5155
|----------------------|:-------:|:--------:|
52-
| sphinx | ^4.4.0 | Any |
56+
| sphinx | ^7.2.6 | Any |
5357
| sphinx-rtd-theme | ^1.0.0 | Any |
5458
| sphinxcontrib-bibtex | ^2.4.1 | Any |
5559

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2021-2023 Žiga Stupan and Iztok Fister Jr.
3+
Copyright (c) 2021-2024 Žiga Stupan and Iztok Fister Jr.
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 50 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22
<img alt="logo" width="300" src="https://raw.githubusercontent.com/firefly-cpp/NiaARM/main/.github/images/logo.png">
33
</p>
44

5-
---
6-
75
# NiaARM - A minimalistic framework for Numerical Association Rule Mining
86

9-
---
107
[![PyPI Version](https://img.shields.io/pypi/v/niaarm.svg)](https://pypi.python.org/pypi/niaarm)
118
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/niaarm.svg)
129
![PyPI - Downloads](https://img.shields.io/pypi/dm/niaarm.svg)
@@ -18,25 +15,26 @@
1815
[![AUR package](https://img.shields.io/aur/version/python-niaarm?color=blue&label=Arch%20Linux&logo=arch-linux)](https://aur.archlinux.org/packages/python-niaarm)
1916
[![Packaging status](https://repology.org/badge/tiny-repos/python:niaarm.svg)](https://repology.org/project/python:niaarm/versions)
2017
[![DOI](https://joss.theoj.org/papers/10.21105/joss.04448/status.svg)](https://doi.org/10.21105/joss.04448)
18+
[![All Contributors](https://img.shields.io/badge/all_contributors-1-orange.svg?style=flat-square)](#contributors-)
2119

22-
23-
NiaARM is a framework for Association Rule Mining based on nature-inspired algorithms for optimization. The framework is written fully in Python and runs on all platforms. NiaARM allows users to preprocess the data in a transaction database automatically, to search for association rules and provide a pretty output of the rules found. This framework also supports integral and real-valued types of attributes besides the categorical ones. Mining the association rules is defined as an optimization problem, and solved using the nature-inspired algorithms that come from the related framework called [NiaPy](https://github.com/NiaOrg/NiaPy).
24-
25-
* **Documentation:** https://niaarm.readthedocs.io/en/latest/
20+
* **Documentation:** https://niaarm.readthedocs.io/en/latest
2621
* **Tested OS:** Windows, Ubuntu, Fedora, Alpine, Arch, macOS. **However, that does not mean it does not work on others**
2722

28-
## Detailed insights
23+
## About 📋
24+
NiaARM is a framework for Association Rule Mining based on nature-inspired algorithms for optimization. 🌿 The framework is written fully in Python and runs on all platforms. NiaARM allows users to preprocess the data in a transaction database automatically, to search for association rules and provide a pretty output of the rules found. 📊 This framework also supports integral and real-valued types of attributes besides the categorical ones. Mining the association rules is defined as an optimization problem, and solved using the nature-inspired algorithms that come from the related framework called [NiaPy](https://github.com/NiaOrg/NiaPy). 🔗
25+
26+
## Detailed insights 🔍
2927
The current version includes (but is not limited to) the following functions:
3028

31-
- loading datasets in CSV format,
32-
- preprocessing of data,
33-
- searching for association rules,
34-
- providing output of mined association rules,
35-
- generating statistics about mined association rules,
36-
- visualization of association rules,
37-
- association rule text mining (experimental).
29+
- loading datasets in CSV format 📁
30+
- preprocessing of data 🧹
31+
- searching for association rules 🔎
32+
- providing output of mined association rules 📋
33+
- generating statistics about mined association rules 📊
34+
- visualization of association rules 📈
35+
- association rule text mining (experimental) 📄
3836

39-
## Installation
37+
## Installation 📦
4038

4139
### pip
4240

@@ -70,7 +68,7 @@ To install NiaARM on NixOS, please use:
7068
nix-env -iA nixos.python311Packages.niaarm
7169
```
7270

73-
## Usage
71+
## Usage 🚀
7472

7573
### Loading data
7674

@@ -89,7 +87,7 @@ data = Dataset(df)
8987
print(data) # printing the dataset will generate a feature report
9088
```
9189

92-
#### Option 2: From CSV file directly
90+
#### Option 2: Directly from a CSV file
9391

9492
```python
9593
from niaarm import Dataset
@@ -279,7 +277,7 @@ options:
279277
```
280278
Note: The CLI script can also run as a python module (`python -m niaarm ...`)
281279

282-
## Reference Papers:
280+
## Reference Papers 📚
283281

284282
Ideas are based on the following research papers:
285283

@@ -299,6 +297,12 @@ Ideas are based on the following research papers:
299297

300298
[6] I. Fister, I. Fister Jr., D. Novak and D. Verber, [Data squashing as preprocessing in association rule mining](https://iztok-jr-fister.eu/static/publications/300.pdf), 2022 IEEE Symposium Series on Computational Intelligence (SSCI), Singapore, Singapore, 2022, pp. 1720-1725, doi: [10.1109/SSCI51031.2022.10022240](https://doi.org/10.1109/SSCI51031.2022.10022240).
301299

300+
## See also
301+
302+
[1] [NiaARM.jl: Numerical Association Rule Mining in Julia](https://github.com/firefly-cpp/NiaARM.jl)
303+
304+
[2] [arm-preprocessing: Implementation of several preprocessing techniques for Association Rule Mining (ARM)](https://github.com/firefly-cpp/arm-preprocessing)
305+
302306
## License
303307

304308
This package is distributed under the MIT License. This license can be found online at <http://www.opensource.org/licenses/MIT>.
@@ -310,3 +314,30 @@ This framework is provided as-is, and there are no guarantees that it fits your
310314
## Cite us
311315

312316
Stupan, Ž., & Fister Jr., I. (2022). [NiaARM: A minimalistic framework for Numerical Association Rule Mining](https://www.theoj.org/joss-papers/joss.04448/10.21105.joss.04448.pdf). Journal of Open Source Software, 7(77), 4448.
317+
318+
## Contributors ✨
319+
320+
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
321+
322+
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
323+
<!-- prettier-ignore-start -->
324+
<!-- markdownlint-disable -->
325+
<table>
326+
<tbody>
327+
<tr>
328+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/zStupan"><img src="https://avatars.githubusercontent.com/u/48752988?v=4?s=100" width="100px;" alt="zStupan"/><br /><sub><b>zStupan</b></sub></a><br /><a href="https://github.com/firefly-cpp/NiaARM/commits?author=zStupan" title="Code">💻</a> <a href="https://github.com/firefly-cpp/NiaARM/issues?q=author%3AzStupan" title="Bug reports">🐛</a> <a href="https://github.com/firefly-cpp/NiaARM/commits?author=zStupan" title="Documentation">📖</a> <a href="#content-zStupan" title="Content">🖋</a> <a href="#ideas-zStupan" title="Ideas, Planning, & Feedback">🤔</a> <a href="#example-zStupan" title="Examples">💡</a></td>
329+
<td align="center" valign="top" width="14.28%"><a href="http://www.iztok.xyz"><img src="https://avatars.githubusercontent.com/u/1633361?v=4?s=100" width="100px;" alt="Iztok Fister Jr."/><br /><sub><b>Iztok Fister Jr.</b></sub></a><br /><a href="https://github.com/firefly-cpp/NiaARM/commits?author=firefly-cpp" title="Code">💻</a> <a href="https://github.com/firefly-cpp/NiaARM/issues?q=author%3Afirefly-cpp" title="Bug reports">🐛</a> <a href="#mentoring-firefly-cpp" title="Mentoring">🧑‍🏫</a> <a href="#maintenance-firefly-cpp" title="Maintenance">🚧</a> <a href="#ideas-firefly-cpp" title="Ideas, Planning, & Feedback">🤔</a></td>
330+
<td align="center" valign="top" width="14.28%"><a href="https://erkankarabulut.github.io"><img src="https://avatars.githubusercontent.com/u/15374776?v=4?s=100" width="100px;" alt="Erkan Karabulut"/><br /><sub><b>Erkan Karabulut</b></sub></a><br /><a href="https://github.com/firefly-cpp/NiaARM/commits?author=erkankarabulut" title="Code">💻</a> <a href="https://github.com/firefly-cpp/NiaARM/issues?q=author%3Aerkankarabulut" title="Bug reports">🐛</a></td>
331+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lahovniktadej"><img src="https://avatars.githubusercontent.com/u/57890734?v=4?s=100" width="100px;" alt="Tadej Lahovnik"/><br /><sub><b>Tadej Lahovnik</b></sub></a><br /><a href="https://github.com/firefly-cpp/NiaARM/commits?author=lahovniktadej" title="Documentation">📖</a></td>
332+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/musicinmybrain"><img src="https://avatars.githubusercontent.com/u/6898909?v=4?s=100" width="100px;" alt="Ben Beasley"/><br /><sub><b>Ben Beasley</b></sub></a><br /><a href="https://github.com/firefly-cpp/NiaARM/commits?author=musicinmybrain" title="Documentation">📖</a></td>
333+
<td align="center" valign="top" width="14.28%"><a href="http://www.dusanfister.com"><img src="https://avatars.githubusercontent.com/u/3198785?v=4?s=100" width="100px;" alt="Dusan Fister"/><br /><sub><b>Dusan Fister</b></sub></a><br /><a href="#design-rhododendrom" title="Design">🎨</a></td>
334+
</tr>
335+
</tbody>
336+
</table>
337+
338+
<!-- markdownlint-restore -->
339+
<!-- prettier-ignore-end -->
340+
341+
<!-- ALL-CONTRIBUTORS-LIST:END -->
342+
343+
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

docs/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
# -- Project information -----------------------------------------------------
1919

2020
project = "NiaARM"
21-
copyright = "2022-2023, Žiga Stupan, Iztok Fister Jr."
21+
copyright = "2022-2024, Žiga Stupan, Iztok Fister Jr."
2222
author = "Žiga Stupan, Iztok Fister Jr."
2323

2424
# The full version, including alpha/beta/rc tags
25-
release = "0.3.5"
25+
release = "0.3.9"
2626

2727

2828
# -- General configuration ---------------------------------------------------

docs/getting_started.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ The framework currently implements the following interest measures (metrics):
334334
- Comprehensibility
335335
- Netconf [#fn]_
336336
- Yule's Q [#fn]_
337+
- Zhang's Metric [#fn]_
337338

338339
More information about these interest measures can be found in the API reference
339340
of the :class:`~niaarm.rule.Rule` class.

docs/installation.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@ Dependencies
3434
+================+==============+============+
3535
| niapy | ^2.0.5 | All |
3636
+----------------+--------------+------------+
37-
| pandas | ^2.1.1 | All |
38-
+----------------+--------------+------------+
3937
| numpy | ^1.26.1 | All |
4038
+----------------+--------------+------------+
39+
| pandas | ^2.1.1 | All |
40+
+----------------+--------------+------------+
4141
| nltk | ^3.8.1 | All |
4242
+----------------+--------------+------------+
43+
| tomli | ^2.0.1 | All |
44+
+----------------+--------------+------------+
4345

4446
Development Dependencies
4547
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -58,9 +60,9 @@ Test Dependencies
5860
+====================+===========+============+
5961
| pytest | ^7.4.2 | Any |
6062
+--------------------+-----------+------------+
61-
| pytest-cov | ^7.4.2 | Any |
63+
| pytest-cov | ^4.1.0 | Any |
6264
+--------------------+-----------+------------+
63-
| pytest-randomly | ^7.4.2 | Any |
65+
| pytest-randomly | ^3.15.0 | Any |
6466
+--------------------+-----------+------------+
6567

6668
Documentation dependencies

0 commit comments

Comments
 (0)