ps_minimal_showcase

This repo contains a working example of the methodology I've proposed in my paper "Mining Potentially Explanatory Patterns via Partial Solutions".

https://github.com/giancarlo-catalano/ps_minimal_showcase

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.9%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

This repo contains a working example of the methodology I've proposed in my paper "Mining Potentially Explanatory Patterns via Partial Solutions".

Basic Info
  • Host: GitHub
  • Owner: Giancarlo-Catalano
  • Language: Python
  • Default Branch: master
  • Size: 8.45 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Citation

README.md

This repository is a working code example of the system being described in the paper "Mining Potentially Explanatory Patterns via Partial Solutions", which you can find here

The system defines the following components: * PS: a partial solution * (essentially a wrapper over a numpy array of integers, where * is represented by -1) * PSMiner: The algorithm which searches for nice PSs using a reference population * (used to obtain a PS Catalog, which is just a list of PSs) * PickAndMergeSampler: The algorithm which samples from the PS Catalog to obtain "full" solutions

For your convenience, there's also a lengthy list of Benchmark problems for you to try.

(To run this script, you'll need Python 3.10 or later, and to have the following installed: * numpy * scikit-learn * scipy (for the optional BivariateANOVALinkage.py)


In case you're struggling to understand the code, here are some descriptions of the classes: * PRef: The reference population, packaged into a convenient object which includes both the solutions and their fitnesses * FS / FullSolution: A wrapper for numpy arrays of integers * SearchSpace: Represents the combinatorial search space we are searching in * EvaluatedPS / EvaluatedFS: data structures used to include the fitness value with PSs/FSs * Metric: An object used to evaluate a PS, eg Simplicity, MeanFitness, Atomicity * There are a lot of them to be used, and note that you may replace Atomicity with Linkage etc..

Owner

  • Name: Giancarlo Catalano
  • Login: Giancarlo-Catalano
  • Kind: user
  • Location: Stirling
  • Company: University of Stirling

MPhil CS student at the University of Stirling, working on XAI.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Catalano
    given-names: Giancarlo
    orcid: https://orcid.org/0009-0000-6504-2541
title: "PS Assisted Explainability"
version: 1.0.0
identifiers:
  - type: doi
    value: 10.1145/3638530.3654318
date-released: 2024-04-05

GitHub Events

Total
Last Year