COREMat Framework
COREMat (COmputable REgression for Materials) is a Python framework for automated machine learning on tabular materials-science datasets — alloy research, materials-property prediction, and similar regression workloads. It automates the full workflow behind a single configuration: data ingestion, preprocessing, nested-CV training with hyperparameter optimisation, iterative feature selection, SHAP-based explainability, OOF/Hold-out evaluation, and interactive HTML reporting. The model registry ships 36 models (gradient boosting, kernel methods, linear models, neural nets, foundation models) behind a unified ModelSpec interface.
What You Get
Every trained model gets a self-contained, interactive HTML report — open it in a browser, no server or notebook required — and coremat eval or coremat report compare adds a comparison report over all models of a run. Excerpt of what's inside:
| Section | What it shows |
|---|---|
| Comparison Leaderboard | Comparison report: all models in a run ranked by weighted Skill Score (OOF, switchable to Hold-out Test) |
| Round Performance Comparison | Metrics of every round, re-weightable in the browser; the delivered round marked |
| Feature Selection | Honest OOF curve per round, selection score, hold-out, and the delivered round |
| Selection Frequency | In how many outer folds each feature survives — how stable the selection is |
| Actual vs. Predicted | Square scatter with color-by-feature and linear/log axis toggle |
| Residuals & Error Distribution | Residuals-vs-Predicted scatter, ECDF/histogram error analysis |
| SHAP / Feature Importance | Per-round SHAP summary plots and contribution bars |
| Reproduction | Estimator, features, transforms, split recipe, code snippet and model parameters |
Every report is built post-hoc from persisted per-round predictions — re-opening a report never re-runs a model.
Installation
Requirements: Python >= 3.12, < 3.13
From PyPI (recommended):
uv add coremat # in a uv project
# or:
pip install coremat
From GitLab (latest main):
uv pip install git+https://gitlab.uni-rostock.de/cs1302/coremat.git@main
Developers (editable install with the dev tools):
git clone https://gitlab.uni-rostock.de/cs1302/coremat.git
cd coremat
uv sync # creates .venv from uv.lock
uv run coremat build-data # example datasets into data/
TabPFN Authentication
TabPFN models require a free PriorLabs account. Set up once after installation:
coremat auth tabpfn
Getting Started
The documentation (mkdocs) is the single source of truth for usage — it covers the full quick-start walkthrough, sample data generation, and the resulting artifact layout. Start at docs/index.md or the Walkthrough — the end-to-end tour in Python, each step with a copy-paste YAML equivalent.
Documentation
| Document | Description |
|---|---|
| docs/index.md | Quick-start walkthrough and installation |
| docs/cli_guide.md | Full CLI reference — all commands, options, and examples |
| docs/api.md | Public API reference — exported symbols and usage |
| docs/reference/models/index.md | All 36 registered models with preprocessing policies |
| docs/architecture.md | Layer model, module responsibilities, dependency graph |
| docs/development.md | Dev setup, reproducibility guide, contribution notes |
| docs/reference/metrics/ | Metric definitions — formula, worked example, and when to use each |
| docs/verbose_levels.md | Logging verbosity levels and output examples |
The documentation is published on Read the Docs.
To preview it locally: uv run mkdocs serve (details in
docs/development.md).
Citing COREMat
If you use COREMat in your research, please cite it. Machine-readable citation
metadata is provided in CITATION.cff at the root of this
repository.
Acknowledgements
This project was developed using an agentic AI-assisted workflow with Claude Code by Anthropic.
Metadata
Release files for coremat 0.23.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| coremat-0.23.0.tar.gz | 4.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| coremat-0.23.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 MB
Release files / coremat-0.23.0.tar.gz
| Download URL | coremat-0.23.0.tar.gz |
|---|---|
| Size | 4.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c130aab9bdc61928eda6d1fef1edb96d0377d9e3fbfe91b094d68352b76d3117
|
|
BLAKE2b-256 checksum How to use checksums |
918834790944af88a0f13536bc80c3f2c53789494d970bb750d7065fc7b2eec2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / coremat-0.23.0-py3-none-any.whl
| Download URL | coremat-0.23.0-py3-none-any.whl |
|---|---|
| Size | 2.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b6ea24888fc72a47be3410f1467d21a5f1717f0270d917794211f740b2f3a39d
|
|
BLAKE2b-256 checksum How to use checksums |
994ace2de31f5ed41a91028746fb4b96c4a8ccacad0589a4ed473a55eba35101
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|