/perovskite-ML

Code for machine learning model prediction of perovskite film and device service lifetimes, and data acquisition scripts and protocols for generation of training datasets

Primary LanguageJupyter Notebook

perovskite-ML

Code for machine learning model prediction of perovskite film and device service lifetimes, and data acquisition scripts and protocols for generation of training datasets

The scripts in this repository are broken into four main categories:

Data Acquisition: the instrument control scripts used to generate photoconductivity and transmittance measurements for film experiments or device parameter measurements for devices, and photoluminescence video data and optionally dark field or bright field microscope images for both film and device measurements(Python script)

Output: - Photoluminescence videos (TIF and TXT metadata files) - Electronic measurement data (photoonductivity/transmittance - CSV) - Dark field/bright field images (optional - TIF) - Experiment Metadata (JSON) - Sample Metadata (JSON)

Data Analysis ("Analysis Pipeline"): analysis script that reads in the raw data, performs statistical calculations, and returns timeseries of the relevant quantities (for instance, average PLQY, diffusion lengths calculated from DC or AC measurements, transmittance) (Python script)

Output: - Timeseries of calculated quantities ("analyzed_data.csv") - Videos constructed from image data (MP4) - Plots of timeseries (PNG)

Feature Construction: for a pre-specified set of timeseries data generated by the analysis pipeline, calculate features used as inputs to predictive machine learning models (Jupyter Notebook)

Output: - Features corresponding to each degradation experiment (CSV)

Machine Learning Model: reads in featurized dataset and makes predictions of film or device service lifetimes and visualizations thereof (Jupyter notebook)

Output: - None saved to local directory, but data visualizations are generated within the notebooks