Skip to content
/ keyfi Public

keyfi is a python package for key feature identification via dimensionality reduction, unsupervised clustering, and feature correlation in high-dimensional datasets

License

Notifications You must be signed in to change notification settings

marrov/keyfi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

keyfi logo

keyfi

keyfi is a python package for key feature identification via dimensionality reduction, unsupervised clustering, and feature correlation in high-dimensional datasets. Although the methodology of keyfi is widely applicable, it has been implemented to analyze the data generated by high-fidelity CFD simulations of turbulent and reacting flow.

Background

The keyfi project aims to create a way of visualizing high-dimensional CFD data. In turbulent reacting flow simulations, the large number of intrinsic variables (three spatial coordinates and velocity components, temperature, pressure, chemical species...) and derived variables (i.e. equivalence ratio) make understanding the data and their relationship complex. This complexity can be seen from images like the one presented below, extracted from a 3D LES simulation.

Instantaneous view of the turbulent mixing and chemistry interaction in a jet in counterflow reactor for the oxidation of NOx by O3

State-of-the-art neighbour-graph-type dimensionality reduction techniques, along with unsupervised clustering and feature correlation methods allow the uncovering of relevant relationships that drive the underlying physics.

Installation

These instructions will get you a copy of the project up and running on your local machine for usage, development and testing purposes. Please note that only Linux environments have been tested in the current implementation but the code should work independently of the OS.

Open a terminal window and clone this repository by writing:

git clone https://github.com/marrov/keyfi

In order to use keyfi several Python 3 packages are required. Creating a brand new Conda environment for this is recommended. This can be done easily with the provided environment.yml file as follows:

conda env create -f environment.yml
conda activate keyfi

After executing these commands a new Conda environment named keyfi will be created with all necessary packages. The environment is self-contained so as to not influence other local python installations and avoid conflicts with previously installed packages.

Now you can install the keyfi package into this newly created environment that contains all requirements by moving into the main folder and using the pip install command as follows:

pip install -e .

You can test out your installation by running the example as outlined in the next section.

To deactivate this environment simply type:

conda deactivate

Tutorials

In the tutorials folder you will find several Jupyter notebooks that will walk you through the usage of keyfi. You will find tutorials for:

Authors

About

keyfi is a python package for key feature identification via dimensionality reduction, unsupervised clustering, and feature correlation in high-dimensional datasets

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published