Skip to main content

skordinal

Unit tests Coverage Documentation PyPI Python Ruff License

skordinal is a scikit-learn compatible library for ordinal classification, the supervised task whose class labels have a natural order but no known distance between them, such as a rating from poor to excellent or a disease graded from I to IV. A nominal classifier ignores that order, so confusing poor with excellent costs it exactly as much as confusing poor with fair. The estimators here model the order instead, and the metrics score a prediction against it.

Every estimator follows the scikit-learn API, so it drops unchanged into a Pipeline, a GridSearchCV and the rest of the ecosystem. skordinal is developed by the AYRNA research group at the University of Córdoba and continues the work of ORCA and ORCA-python.

Installation

pip install skordinal

Binary wheels are published for Linux x86-64. On every other platform pip builds the three C extensions (REDSVM, SVOR, ORBoost) from source, which requires a C/C++ compiler. Progress bars during a benchmark run need one optional extra, pip install "skordinal[progress]".

What is inside

  • Classifiers: ten ordinal methods, from threshold models (POM, LogisticAT, LogisticIT) and neural networks (NNPOM, NNOP, ELMOP) to a kernel discriminant (KDLOR), support vector machines (SVOR, REDSVM) and boosting (ORBoost), plus three meta-estimators (OrdinalDecomposition, RegressorWrapper, CostSensitiveWrapper) that build an ordinal classifier out of any scikit-learn one.
  • Metrics: thirteen ways to judge an ordinal prediction, including distance to the true class (MAE, AMAE, MMAE), exact and off-by-one accuracy, per-class sensitivity, weighted kappa, rank correlation and the ranked probability score. All but the last are available as scikit-learn scorers through get_ordinal_scorer.
  • Datasets and experiments: five bundled ordinal benchmark datasets, a loader for your own CSV files with reproducible resamples, and a Benchmark that fits every combination of model, dataset and resample and writes the aggregated results to disk.

Documentation

The documentation is the place to start. The getting started guide installs the library and fits a first model, the gallery of examples works through the classifiers, the metrics and the benchmarking harness, and the API reference documents every class and function.

Contributing

Bug reports and pull requests are welcome on the issue tracker. Please open an issue before starting a large change so the work can be aligned with the project. For a development install:

git clone https://github.com/ayrna/skordinal.git
cd skordinal
pip install -e ".[dev,docs]"
pre-commit install
pytest

Citation

If you use skordinal in your research, please cite it as:

@misc{skordinal2026,
  title  = {{skordinal: A scikit-learn compatible Python package for ordinal classification}},
  author = {Sevilla Molina, {\'A}ngel and Guijo-Rubio, David and Vargas, V{\'i}ctor Manuel and Guti{\'e}rrez, Pedro A.},
  year   = {2026},
  url    = {https://github.com/ayrna/skordinal}
}

License

skordinal is distributed under the BSD 3-Clause License.

Metadata

Release files for skordinal 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for skordinal 0.2.0
File Size Uploaded Provenance
skordinal-0.2.0.tar.gz 238.4 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for skordinal 0.2.0
File
skordinal-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
skordinal-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
skordinal-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
skordinal-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
skordinal-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details

Total release size: 12.7 MB

Release files / skordinal-0.2.0.tar.gz

Download URL skordinal-0.2.0.tar.gz
Size 238.4 kB
Tags Source
SHA-256 checksum
How to use checksums
fa842532ae61418d6a2138987ebf354e1f09c0217564873b120a896289c8be20
BLAKE2b-256 checksum
How to use checksums
9241a2d4ebbbdb32e9c360a1a89c6cb8b5aa2e683248e0b50177c96cc233b14d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release files / skordinal-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL skordinal-0.2.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e77bd014d0688e75e2a0a75fee61a2cebe5cc697a2c4ee1cf2387983c561cc90
BLAKE2b-256 checksum
How to use checksums
a29b66432e28dff73ae0b7956db2aa6b852bc62ac19905c5e58c8b7949a61a92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release files / skordinal-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL skordinal-0.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
61dba379789a7feb76b125455d55ac607f9e333377e5184ab24ff6e6bdf7d5b9
BLAKE2b-256 checksum
How to use checksums
43496512ea99e3f366974912df4b6b2d7777d4d29ffc0c9c45fdfc858e07ed9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release files / skordinal-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL skordinal-0.2.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
057a02e287a942b02434a6b87a070954d2fdadcf9704230351d409a88e8b43ae
BLAKE2b-256 checksum
How to use checksums
7c543366529880f8fea9ac088daab6a947dfc084d22822d101b7efc0a2e675a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release files / skordinal-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL skordinal-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a067ca8ed49cdc97faa433a21edc72241a14b22c803cf9b1e49297c521b68b25
BLAKE2b-256 checksum
How to use checksums
938d7d94dd290112537182bed8dcac18398b89a48d897e6a19a1c7073388207e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Release files / skordinal-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL skordinal-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 2.5 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9c90f72fe36d4fc309df8d65b0011b6a5db9fce243ec9bfafc98a39c80271692
BLAKE2b-256 checksum
How to use checksums
3ba77465ed6afa86e5d0f50fc5f974f105c11546ddf4be5a75e1b2f5c8390a01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

Security for skordinal 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for skordinal-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page