Skip to content

Conversation

@vrabiczan
Copy link

@vrabiczan vrabiczan commented Feb 5, 2025

The sankey_diagram() function generates a Sankey diagram to visualize association rules based on a specified interestingness measure. The function selects the most relevant rules using a knapsack-based selection algorithm, ensuring that only a subset (maximum M) of the most significant rules is displayed. This function effectively highlights strong relationships in association rule mining, filtering out less relevant rules for clarity and better interpretation. Tests have been added and examples that show the visualization.

Key Features:

  • Searching for the most similar rules
  • User defined parameters
  • Implements visualization using Plotly

The visualization results have been compared to those from networkD3 using the R programming language (arulesViz doesn't implement the Sankey diagram). The visualizations are similar with both approaches.

Sankey diagram using NiaARM:
niaarm_sankey

Sankey diagram using networkD3:
networkD3_sankey

References used to make the Sankey diagram:

  • I. Fister, I. Fister, D. Fister, V. Podgorelec, I. Fister, in S. Salcedo-Sanz, „A comprehensive review of visualization methods for association rule mining: Taxonomy, challenges, open problems and future ideas“, Expert Syst. Appl., let. 233, 2023, doi: 10.1016/j.eswa.2023.120901.
  • I. Fister in I. Fister, „Association Rules over Time“, 2022, str. 1–16. doi: 10.1007/978-981-16-3128-3_1.

@vrabiczan vrabiczan closed this Feb 24, 2025
@vrabiczan vrabiczan reopened this Feb 24, 2025
@firefly-cpp firefly-cpp merged commit 8868354 into firefly-cpp:main Feb 26, 2025
12 checks passed
@vrabiczan vrabiczan deleted the Sankey-diagram branch March 1, 2025 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants