A Voronoi cell interface-based parameter sensitivity analysis technique. Reference implementation for the paper Voronoi Cell Interface-Based Parameter Sensitivity Analysis for Labeled Samples.
Tested with Python 3.12.3.
- Setup virtual environment with Python:
python -m venv .venv
- Activate the environment, then install the requirements via:
pip install -r requirements.txt
- Run
python ./main.py
to run the main example.
Some of the figures contained in the Jupyter Notebooks were used to generate the CCY BY 4.0 licensed figures in https://doi.org/10.1111/cgf.70122.
The figures here are the raw .png
figures.
The published figures are mostly vector graphics and were slightly modified compared to the figures rendered in the Jupyter notebooks.
- Author: Ruben Bauer
- Source: https://doi.org/10.1111/cgf.70122
- License: CCY BY 4.0
The figures of the main paper are:
- examples/notebooks/plot_examples/two_d_clipping_and_distribution.ipynb used to generate Figure 2, 4
- examples/notebooks/plot_examples/three_dimensional_case.ipynb used to generate Figure 3
- examples/notebooks/plot_examples/two_d_major_transition_directions.ipynb used to generate Figure 5
- examples/notebooks/single_dataset_convenience_plots/iris_conv_plot.ipynb used to generate Figure 6, 7, 8, 9, 10, 12
- examples/notebooks/plot_examples/space_dividing_line.ipynb used to generate Figure 11
- examples/notebooks/single_dataset_convenience_plots/semiconductor_conv_plot.ipynb used to generate Figure 14
- examples/notebooks/single_dataset_convenience_plots/droplet_impact_conv_plot.ipynb used to generate Figure 15, 16
For the supplemental material:
- examples/notebooks/plot_examples/normal_vectors_angle_vis.ipynb used to generate Figure 1
- examples/notebooks/plot_examples/plane_plane_distance.ipynb used to generate Figure 2
- examples/notebooks/plot_examples/runtime_experiments_2.ipynb used to generate Figure 3, 4
- examples/notebooks/plot_examples/bandwidth_experiments.ipynb used to generate Figure 5 - 15
This package uses a fork of the pyclustering library with a customized cluster update method. Do not use that version for regular k-Means but refer to the original pyclustering implementation instead.
- To run the Python files example in the ./examples/ directory, go to the directory via
cd examples
and then runpython ./the_example_to_run.py
- To run the Jupyter Notebooks in the ./examples/notebooks/ directory, select the virtual environment as Python Interpreter first, then run them.
@article{https://doi.org/10.1111/cgf.70122,
author = {Bauer, R. and Evers, M. and Ngo, Q. Q. and Reina, G. and Frey, S. and Sedlmair, M.},
title = {Voronoi Cell Interface-Based Parameter Sensitivity Analysis for Labeled Samples},
journal = {Computer Graphics Forum},
pages = {e70122},
keywords = {CCS Concepts, • Human-centered computing → Information visualization, Visual analytics},
doi = {https://doi.org/10.1111/cgf.70122},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/cgf.70122},
eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1111/cgf.70122},
}