materialyzeai/maml
Python for Materials Machine Learning, Materials Descriptors, Machine Learning Force Fields, Deep Learning, etc.
What it solves
It simplifies the application of machine learning to materials science by providing high-level interfaces for converting crystal and molecular structures into machine-learnable features and predicting material properties.
How it works
The package integrates existing tools like scikit-learn, TensorFlow, pymatgen, and matminer. It transforms materials data into specific descriptors (such as SOAP, Bispectrum coefficients, and Graph network features) and uses these features to train models via scikit-learn or Keras. It specifically supports the creation of surrogate models for potential energy surfaces and the use of Bayesian optimization for structural relaxation.
Who it’s for
Materials scientists and researchers who want to apply ML algorithms to predict material properties or model atomic environments without building the low-level data processing pipelines from scratch.
Highlights
- Feature Generation: Supports fine-grain local environment features including SOAP, Behler Parrinello symmetry functions, and Bispectrum coefficients.
- Potential Energy Surface (PES) Modeling: Provides tools for Neural Network Potentials (NNP), Gaussian approximation potentials (GAP), and Spectral neighbor analysis potentials (SNAP).
- Structural Relaxation: Includes the
bowsrmodule for rapid structural relaxation using Bayesian optimization. - X-ray Spectroscopy: Features the
rfxasmodule for predicting atomic local environments from X-ray absorption spectroscopy using random forests.