Skip to content

kiranvad/gpcv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gaussian Processes for Cyclic Voltammetry

This repositiroy contains the reproducible code for the paper "Active Knwoledge Extraction from Cyclic Voltammetry" Kiran Vaddi and Olga Wodo, Universty at Buffalo, NY. The repositiroy is arranged as follows:

gpcv : contains the functions required to perform various computations on the CV curves
ext : Contains dependency packages with appropriate licenses
helpers : Contains various helper functions used in the repositiroy
docs : Documents such as presentations, tutorials etc.

Along with the code, we provide pre-computed data for CV responses from EC mechanism kinetic zone diagram. This data is accesible in gpcv/data as .mat files.

There are two demos detailing the experiments results in the paper:

demos/demo_active_learning_cvcomb

Reproduces the active search framework to actively find S-shaped CV responses in a search space.

demos/demo_cvaas

Reproduces the active area search framework to actively generating a kinetic fingerprint of a EC mechanism.

Along with our BMS oracle, we implemented other comparitive oracles in gpcv/CatalyticLabelOracle. Here's a sample usage of the same for different methods:

load([pwd '\gpcv\data\gridkzd.mat'])
load([pwd '\gpcv\data\traindata_kzd.mat'])
ref_sshape = input_x(:,121);
i = 20
obj = CatalyticLabelOracle(input_x(:,i),xtr_kzd(:,2),xtr_kzd(:,1),ref_sshape);

Compute a Foot of the wave analysis score that computes if the curve is linear in the FOWA space using an R-square value

[fowa_label(i),fowa_score(i)] = obj.FOWAFit();

Compute a similairty search score that compare a given CV curve to the reference in ref_sshape using a n-dimensional distance.

[ss_label, ss_score]= obj.SimilaritySearch();

Compute the BMS score presented in the paper using:

[bms_label, bms_score]= obj.BayesianModelSelection();

Dependencies

This reporsitory depends on the following pacakges all of which have been included with their respectice licenses attached in the ext folder.

Experiments used in our paper depend on the following packages: