https://github.com/aclai-lab/modalassociationrules.jl
Modal association rules mining in Julia!
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.4%) to scientific vocabulary
Keywords from Contributors
Repository
Modal association rules mining in Julia!
Basic Info
- Host: GitHub
- Owner: aclai-lab
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://aclai-lab.github.io/ModalAssociationRules.jl/
- Size: 7.22 MB
Statistics
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 7
- Releases: 1
Metadata Files
README.md
ModalAssociationRules.jl
Association rules in Julia!
Usage
Creation of a Miner object.
```julia using ModalAssociationRules using SoleData
load a sample dataset (NATOPS)
and transform it into a scalar logiset.
Xdf, y = loadNATOPS() X = scalarlogiset(X_df[1:30, :])
focus on just the first three variables;
define a collection of Items, that is,
an alphabet of propositional letters (propositions)
and modal literals.
p = Atom(ScalarCondition(VariableMin(1), >, -0.5)) q = Atom(ScalarCondition(VariableMin(2), <=, -2.2)) r = Atom(ScalarCondition(VariableMin(3), >, -3.6))
lp = box(IAL)(p) lq = diamond(IAL)(q) lr = box(IA_L)(r)
items = Vector{Item}([p, q, r, lp, lq, lr])
define which measures to use to establish the interestingness
of both itemsets (groups of items) and association rules;
also define a minimum threshold that must be surpassed both
locally, inside an instance, and globally across all instances.
0.1 is the local minsup, while 0.2 is the global minsup.
itemsetmeasures = [(gsupport, 0.1, 0.2)]
0.3 is the local minconfidence, while 0.5 is the global one.
arulemeasures = [(gconfidence, 0.3, 0.5)]
choose an association rule mining algorithm, like fpgrowth;
we can finally define a Miner machine.
miner = Miner(X, fpgrowth, items, itemsetmeasures, arulemeasures) ```
Miner execution and results retrieval.
julia
mine!(miner)
mined_itemsets = freqitems(miner)
mined_arules = arules(miner)
We can create more complex Miner objects by specifying three kinds of policies, which define the properties that must be satisfied by X's worlds, the Itemsets collected during the mining, and the final ARules.
```julia miner = Miner( X fpgrowth, items, itemsetmeasures, arulemeasures,
# we specify a condition that the worlds of the logiset X must honor
worldfilter=SoleLogics.FunctionalWorldFilter(
x -> length(x) <= 10, Interval{Int}
),
# an itemset is considered meaningful if it also honors specific condiitons
itemset_policies=[islimited_length_itemset(; maxlength=5)],
# similarly, for the association rules extracted
arule_policies=[
islimited_length_arule(; antecedent_maxlength=5),
isanchored_arule(; npropositions=1),
isheterogeneous_arule(; antecedent_nrepetitions=1, consequent_nrepetitions=0),
],
) ```
Compilation (development dependencies)
This package heavily depends on the Sole ecosystem.
To compile this package while referencing the dev branches of the other necessary Sole packages, clone and instantiate them in a common folder, following the steps below.
git clone https://github.com/aclai-lab/SoleBase.jl.git
git clone https://github.com/aclai-lab/MultiData.jl.git
git clone https://github.com/aclai-lab/SoleLogics.jl.git
git clone https://github.com/aclai-lab/SoleData.jl.git
git clone https://github.com/aclai-lab/SoleModels.jl.git
git clone https://github.com/aclai-lab/ModalAssociationRules.jl.git
For each folder, checkout on dev branch and open the Julia REPL to install the dependencies associated:
SoleBase -> ]instantiate
MultiData -> ]dev SoleBase
SoleLogics -> ]dev SoleBase
SoleData -> ]dev SoleBase SoleLogics MultiData
SoleModels -> ]dev SoleBase MultiData SoleLogics SoleData
ModalAssociationRules -> ]dev SoleBase MultiData SoleLogics SoleData SoleModels
When not specified (every time but in SoleBase), also execute ]instantiate.
Owner
- Name: Applied Computational Logic and Artificial Intelligence Laboratory
- Login: aclai-lab
- Kind: organization
- Email: aclai@unife.it
- Location: Italy
- Website: aclai.unife.it
- Repositories: 14
- Profile: https://github.com/aclai-lab
Applied Computational Logic and Artificial Intelligence (ACLAI) Laboratory of the Department of Mathematics and Computer Science, University of Ferrara
GitHub Events
Total
- Create event: 80
- Release event: 1
- Issues event: 28
- Watch event: 3
- Delete event: 100
- Issue comment event: 24
- Push event: 486
- Pull request event: 195
Last Year
- Create event: 80
- Release event: 1
- Issues event: 28
- Watch event: 3
- Delete event: 100
- Issue comment event: 24
- Push event: 486
- Pull request event: 195
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| mauro-milella | m****o@l****t | 590 |
| CompatHelper Julia | c****y@j****g | 21 |
| giopaglia | 2****a | 12 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 18
- Total pull requests: 211
- Average time to close issues: 7 days
- Average time to close pull requests: about 2 months
- Total issue authors: 2
- Total pull request authors: 2
- Average comments per issue: 0.83
- Average comments per pull request: 0.05
- Merged pull requests: 73
- Bot issues: 0
- Bot pull requests: 175
Past Year
- Issues: 17
- Pull requests: 166
- Average time to close issues: 7 days
- Average time to close pull requests: 8 days
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.88
- Average comments per pull request: 0.05
- Merged pull requests: 68
- Bot issues: 0
- Bot pull requests: 136
Top Authors
Issue Authors
- mauro-milella (17)
- giopaglia (1)
Pull Request Authors
- github-actions[bot] (180)
- mauro-milella (41)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite