Skip to content

Metrics and visualizations for model performance in data-driven materials discovery.

License

Notifications You must be signed in to change notification settings

sailfish009/pymatviz

 
 

Repository files navigation

pymatviz

A toolkit for visualizations in materials informatics. Works with pymatgen.

Tests pre-commit.ci status This project supports Python 3.8+ PyPI PyPI Downloads

Installation

pip install pymatviz

Elements

See pymatviz/elements.py.

ptable_heatmap(compositions) ptable_heatmap(compositions, log=True)
ptable_heatmap ptable_heatmap_log
ptable_heatmap_ratio(comps_a, comps_b) ptable_heatmap_ratio(comps_b, comps_a, log=True)
ptable_heatmap_ratio ptable_heatmap_ratio_inverse
hist_elemental_prevalence(compositions) hist_elemental_prevalence(compositions, log=True, bar_values='count')
hist_elemental_prevalence hist_elemental_prevalence_log_count

Sunburst

See pymatviz/sunburst.py.

spacegroup_sunburst([65, 134, 225, ...]) spacegroup_sunburst([65, 134, 225, ...], show_values="percent")
spacegroup_sunburst spacegroup_sunburst_percent

Structure

See pymatviz/struct_vis.py.

plot_structure_2d(pmg_struct) plot_structure_2d(pmg_struct, show_unit_cell=False, site_labels=False)
struct-2d-mp-19017-disordered struct-2d-mp-12712

mp-structures-2d

Histograms

See pymatviz/histograms.py.

spacegroup_hist([65, 134, 225, ...]) spacegroup_hist([65, 134, 225, ...], show_counts=False)
spacegroup_hist spacegroup_hist_no_counts
residual_hist(y_true, y_pred) true_pred_hist(y_true, y_pred, y_std)
residual_hist true_pred_hist

Parity Plots

See pymatviz/parity.py.

density_scatter(xs, ys, ...) density_scatter_with_hist(xs, ys, ...)
density_scatter density_scatter_with_hist
density_hexbin(xs, ys, ...) density_hexbin_with_hist(xs, ys, ...)
density_hexbin density_hexbin_with_hist
scatter_with_err_bar(xs, ys, yerr, ...) residual_vs_actual(y_true, y_pred, ...)
scatter_with_err_bar residual_vs_actual

Uncertainty Calibration

See pymatviz/quantile.py.

qq_gaussian(y_true, y_pred, y_std) qq_gaussian(y_true, y_pred, y_std: dict)
normal_prob_plot normal_prob_plot_multiple

Ranking

See pymatviz/ranking.py.

err_decay(y_true, y_pred, y_std) err_decay(y_true, y_pred, y_std: dict)
err_decay err_decay_multiple

Cumulative Error and Residual

See pymatviz/cumulative.py.

cum_err(preds, targets) cum_res(preds, targets)
cumulative_error cumulative_residual

Classification Metrics

See pymatviz/relevance.py.

roc_curve(targets, proba_pos) precision_recall_curve(targets, proba_pos)
roc_curve precision_recall_curve

Correlation

See pymatviz/correlation.py.

marchenko_pastur(corr_mat, gamma=ncols/nrows) marchenko_pastur(corr_mat_significant_eval, gamma=ncols/nrows)
marchenko_pastur marchenko_pastur_significant_eval

Migrating from ml-matrics to pymatviz

This library was renamed from ml-matrics to pymatviz between versions 0.3.0 and 0.4.0. To update existing Python files that import ml-matrics in place, run the following commands. On Linux:

find . -name '*.py' | xargs sed -i 's/^from ml_matrics import/from pymatviz import/g'
find . -name '*.py' | xargs sed -i 's/^from ml_matrics./from pymatviz./g'
find . -name '*.py' | xargs sed -i 's/^import ml_matrics/import pymatviz/g'

On Mac, replace sed -i with sed -i "".

Glossary

  1. Residual y_res = y_true - y_pred: The difference between ground truth target and model prediction.
  2. Error y_err = abs(y_true - y_pred): Absolute error between target and model prediction.
  3. Uncertainty y_std: The model's estimate for its error, i.e. how much the model thinks its prediction can be trusted. (std for standard deviation.)

About

Metrics and visualizations for model performance in data-driven materials discovery.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 68.5%
  • Python 31.5%