Classification of Nanoporous Semiconductor Materials using Supervised and Unsupervised Learning



Nanoporous semiconductors are used in a range of applications from sensing and gas separation, to photovoltaics, rechargeable batteries, energetic materials and micro electro mechanical systems. In most cases porosity occurs in conjunction with the competing process of amorphisation, creating a complicated material that responds differently to strain and density changes, depending on the composition. Although it is intuitively clear that crystalline and amorphous materials will form two distinct classes, labelling is difficult since the transition from crystalline to amorphous is not immediate and involves a variety of changes in the chemical bonding and lattice structure.  Unsupervised learning clustering could provide a labelling solution, but it is possible that sub-classes exist, based on the porosity, which impacts classification.  In this project you explore the use of clustering methods to separate crystalline from non-crystalline (defective, porous or amorphous) semiconductor materials composed of silicon, carbon and silicon carbide.  You then develop a classifier that can be used to assign unseen structures, based on experimentally relevant input parameters, that can be used to guide the development and manufacturing of these materials. The data set will be provided.


Develop a classifier for crystalline and non-crystalline (defective, porous or amorphous) semiconductor materials based on labels generated using unsupervised learning


Python programming and experience in data science and machine learning is essential (such as COMP3720, COMP4660, COMP4670, COMP6670, COMP8420).  Familiarity with platforms such as scikit-learn, Pytorch, Tensorflow and Keras is desirable.


This can be a 12cp or 24cp project.


machine learning, materials informatics, classification, clustering

Updated:  10 August 2021/Responsible Officer:  Head of School/Page Contact:  CECS Webmaster