Skip to content

Commit aba523b

Browse files
committed
Added visualization example
1 parent d8e5134 commit aba523b

File tree

5 files changed

+44
-5
lines changed

5 files changed

+44
-5
lines changed

.github/images/hill_slopes.png

-119 KB
Loading

README.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,18 +138,22 @@ problem.rules.to_csv('output.csv')
138138

139139
### Visualization
140140

141-
The framework currently supports the hill slopes visualization method presented in [4].
141+
The framework currently supports the hill slopes visualization method presented in [4]. More visualization methods are planned
142+
to be implemented in future releases.
142143

143144
```python
144145
from matplotlib import pyplot as plt
146+
from niaarm import Dataset, RuleList, get_rules
145147
from niaarm.visualize import hill_slopes
146148

147-
# load data...
148-
# mine rules...
149-
150-
hill_slopes(rule, dataset.transactions)
149+
dataset = Dataset('datasets/Abalone.csv')
150+
metrics = ('support', 'confidence')
151+
rules, _ = get_rules(dataset, 'DifferentialEvolution', metrics, max_evals=1000, seed=1234)
152+
some_rule = rules[150]
153+
hill_slopes(some_rule, dataset.transactions)
151154
plt.show()
152155
```
156+
153157
<p>
154158
<img alt="logo" src="https://raw.githubusercontent.com/firefly-cpp/NiaARM/main/.github/images/hill_slopes.png">
155159
</p>

docs/_static/hill_slopes.png

68.6 KB
Loading

docs/getting_started.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,30 @@ The same example as above, using :class:`~niaarm.mine.get_rules`:
193193
Run Time: 6.9498 seconds
194194
Rules exported to output.csv
195195
196+
Visualization
197+
~~~~~~~~~~~~~
198+
199+
The :mod:`~niaarm.visualize` module provides functions for plotting association rules.
200+
The only visualization method currently implemented is the :func:`~niaarm.visualize.hill_slopes` method,
201+
presented in `this paper <https://link.springer.com/chapter/10.1007/978-3-030-62362-3_10>`_.
202+
203+
.. code:: python
204+
205+
from matplotlib import pyplot as plt
206+
from niaarm import Dataset, RuleList, get_rules
207+
from niaarm.visualize import hill_slopes
208+
209+
dataset = Dataset('datasets/Abalone.csv')
210+
metrics = ('support', 'confidence')
211+
rules, _ = get_rules(dataset, 'DifferentialEvolution', metrics, max_evals=1000, seed=1234)
212+
some_rule = rules[150]
213+
hill_slopes(some_rule, dataset.transactions)
214+
plt.show()
215+
216+
**Output:**
217+
218+
.. image:: _static/hill_slopes.png
219+
196220
Interest Measures
197221
-----------------
198222

examples/visualization.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from matplotlib import pyplot as plt
2+
from niaarm import Dataset, RuleList, get_rules
3+
from niaarm.visualize import hill_slopes
4+
5+
dataset = Dataset('datasets/Abalone.csv')
6+
metrics = ('support', 'confidence')
7+
rules, _ = get_rules(dataset, 'DifferentialEvolution', metrics, max_evals=1000, seed=1234)
8+
some_rule = rules[150]
9+
print(some_rule)
10+
fig, ax = hill_slopes(some_rule, dataset.transactions)
11+
plt.show()

0 commit comments

Comments
 (0)