Prediction of Electrical Conductivity¶

Overview¶

The Program is broken into several sections, which are each presented in their own notebook:

  1. Generating Data
  2. Visualizing Data
  3. Training Model
  4. Evaluating Model
  5. Predicting the Future
  6. Optimizing Model

    a. Scaler Impact for X- and Y- data

    b. Hyperparameter Tuning with the HParams Dashboard

    c. Optimizer Algorithms and Learning Rate

  1. Upload to Cloud

Introduction¶

Welcome to my Machine-Learning project to predict the electrical conductivity of Nanofillers Reinforced Polymer Nanocomposites.

The popular polymers are not normally conductive (except some conductive polymers). To make them conductive, the materials can be reinforced with conductive nanofillers. Common nanofillers are Single-wall or Multiple-wall Carbon Nanotube, Graphene. However, the electrical conductive does not increase linearly with the amount of mixed fillers. The traditional method to predict electrical conductivity is based on an exponential equation, or to build a model of random resistor networks to calculate the conductivity.

Recently, Artificial Intelligence is growing very fast and intensively applied in many fields. This project demonstrates how to apply Tensorflow to predict Electrical Conductivity based on a known data set.

The data used in this simulation is not actual data. Instead, the data is generated with noise by using the exponential equation with different parameters for different pairs of composites. However, some resources for experimental data will be cited as references.

Setup¶

Clone or download the repo¶

First get local copies of the program:

$ git clone https://github.com/linhhlp/electrical-conductivity-nanocomposite.git

Or download from: https://github.com/linhhlp/electrical-conductivity-nanocomposite/archive/main.zip

Install the dependencies¶

This program has been developed and tested on:

  • python 3.9.10
  • pandas 1.3.5
  • notebook 6.4.6
  • numpy 1.21.5
  • tensorflow 2.6.0
  • sklearn 1.0.2
  • matplotlib: 3.5.1
  • seaborn 0.11.2

The quickest, easiest way to install is to use Anaconda:

Installing with anaconda¶

Install anaconda

The quickest, easiest way to install dependencies is to use the command line to create an environment and install the packages:

$ conda env create
$ source activate new_env

Install the remaining dependencies with:

conda install tensorflow sklearn seaborn

Notes¶

Data¶

To use actual data, consider published journal papers with experimental data. Here are some citations.

  1. Some experimental data presented: https://aip.scitation.org/doi/10.1063/1.4818478
  2. Treated polymer: https://aip.scitation.org/doi/10.1063/1.4902175

In this program, the data is randomly generated following the exponential equation for demo purposes.

Sensitivity / High Variation¶

Actual electrical conductivity is in a high range of magnitude orders, from extremely low (barely conductive) to super high (very conductivity). Such as from 1e-3 to 1e3 S/m.

Log scale is often used to present electrical conductivity. Scaling data is very important to predict accurately at low magnitude orders.

The loss function needs to be chosen carefully to take care of this issue.

In [ ]: