/Machine-learning-for-photovoltaic-material-property-prediction

Multi-layer perceptron model for photo-voltaic material properties prediction.

Primary LanguagePythonMIT LicenseMIT

Machine learning for photovoltaic material properties predictions

Introduction

This repository contains a regression model based on the two-layer feedforward artificial neural network for predicting the power conversion efficiency (PCE). This work demonstrates the possibility to train a neural network using descriptors for predicting photovoltaic properties. The further improvement of the performance can be achieved using different neural network regularization methods such as a bayesian regularization (see BRANN architecture).

Datasets

This dataset (Harvard Photovoltaic Dataset) was compiled from 244 small molecules and polymers as electron donors and acceptors, and includes experimental properties collected from literature and data from quantum chemical calculations as well as Scharber model. The dataset was devided to a training set (80%) and a test set (20%). The values of PCE in this dataset was calculated by Sharber model.

Model

The neural network model consists of two fully-connected layers with ReLU activations and a regression head. The dimensionality of the layers is shown below:

As a loss function we use the mean squared error. The model has been trained using Adam optimizer. The model has been developed using Keras API implemented in Tensorflow.

Results of evaluation

The squared correlation coefficient for the test set equals 0.73. The example of usage and the evaluation of the trained model is implemented in the script model_test.py. To run this script, one has to install all requirements by, for instance, invoking the command: pip install -r requirements.txt.

Below is more information on the model performance on the train and test sets.

License

This project is licensed under the MIT License - see the LICENSE.md file for details