Code Monkey home page Code Monkey logo

dissociativece-simulation-machinelearning's Introduction

dissociativeCE-Simulation-MachineLearning

Simulation and machine learning of dissociative CE reaction. Simulation assumes 1-D simulation of reversible electron transfer on a spherical electorde coupled with dissociative preceding chemical reaction. A set of machine learning prorgams are offered to analyze the relationship between the rate constants and voltammograms. Good for analytical purpose.

The author used Python 3.7.3 in Anaconda environment. The C++ program requires C++ 11 for std::thread.

Machine Learning

Contains machine learning scripts using keras(deprecated) or tensorflow.keras. Machine learning packages like Numpy, Scikit-Learn and xgboost are required. Pandas, Matplotlib, Seaborn are required for data processing and visualization. Graphviz and ann_visualizer is used for visualization of neural networks. All three methods mentioned in paper are included in this folder, including:

Python Scripts for machine learning

  • Predict Constants.py Neural network for method A mentioned in paper. It can predict equilibrium constant and rate constant from voltammogram.
  • Predict Voltammogram.py Neural network for method B mentioned in paper. It can predict voltammogram given equilibrium constant, rate costant and scan rate.
  • Predict Flux and Half Peak Potential.py Neural network for Method C mentioned in paper. It can predict half peak potential and peak flux from equilibrium constants and rate constants.
  • Benchmarking Models.py Benchmarking neural network in Method A with naive linear regression, random forest regresor and xgboost regressor.
  • PyTorch Version Method A: The PyTorch version of method A for your personal preference

Python Scripts for visualization of machine learning results

  • Benchmarking Models.py Benchmarking model B with naive linear regression, XGB regressor and random forest.
  • ContourPlotData predict constants-Dimensionless.py Visualization of predicting constants
  • ContourPlotData predict half peak potential and flux - Dimensionless.py Visualization of predicting half peak potential and peak flux
  • Histogram predict voltammogram Dimensionless.py Visualization of predicting voltammograms

Folders

  • weights This folder contains weights of neural networks from the authors. The machine learning program will use existing weights in this folder if available. If not, will start training and weights will be saved in this folder
  • Training Data The folder training data is stored. This folder is intentionally left empty due to the large number (more than 10,000) of training voltammogram files used. The user can generate their own training data using the simulation programs.
  • Test Data The folder testing data is stored. This folder is intentionally left empty. The user should generate their own testing voltammograms.

features.csv The csv file containing features and targets of for machine learning using Method A and Method B, which is extraced from thousands of voltammograms in the Training Data folder.

Simulation, C++

Simulation program of dissociative CE reaction using C++. Good for users loving C++. Simulation of other electrochemical reactions including CE,EC,EC2 can be found here.

Simulation, Python

Simulation program of dissociative CE reaction using Python. Good for users loving Python. Ordinary packages like Numpy, Scipy, and Matplotlib are required.

Visualizing Voltammograms

A bunch of useful scripts for visualization of voltammogram files, plotting concentration profiels, plotting Tafel plots and analysis. Sample data is included for reference. helper.py is a helper scripts for data analysis and visualization, which includes scripts to locate voltammogram files, to parse files and formatter for matplotlib.

requirement.txt The python packages the author used in a Python 3.7.3 conda environment.


You may cite the paper as acknowledgement to the authors if you found this helpful.

Please cite: Anal. Chem. 2021, 93, 39, 13360โ€“13372

For general enquiry, please email Professor Richard Compton

dissociativece-simulation-machinelearning's People

Contributors

nmerovingian avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.