Skip to main content

No project description provided

Project description

RocAuc Pairwise Loss/Objective

This is gpu implementation of rocauc pairwise objectives for gradient boosting: $$L = \sum_{i, j} (\hat P_{ij}\log{P_{ij}} + (1 - \hat P_{ij})\log{(1 - P_{ij})}) |\Delta_{AUC_{ij}}|$$ This package could be used to solve classification problems with relative small numbers of objects, where you need to improve rocauc score.
Also there is cpu multithread implementation of this losses.

Losses that are implemented in this package

  1. Sigmoid pairwise loss. (GPU or CPU implementations) $$L = \sum_{i, j}\hat P_{ij}\log{P_{ij}} + (1 - \hat P_{ij})\log{(1 - P_{ij})}$$
  2. RocAuc Pairwise Loss with approximate auc computation. (GPU or CPU implementations) $$L = \sum_{i, j} (\hat P_{ij}\log{P_{ij}} + (1 - \hat P_{ij})\log{(1 - P_{ij})})|\Delta_{AUC^{approx}_{ij}}|$$
  3. RocAuc Pairwise Loss Exact (GPU or CPU implementations) with exact auc computation. This could be more compute intensive, but this loss might be helpfull for first boosting rounds (if you are using gradient boosting) $$L = \sum_{i, j} (\hat P_{ij}\log{P_{ij}} + (1 - \hat P_{ij})\log{(1 - P_{ij})})|\Delta_{AUC^{exact}_{ij}}|$$
  4. RocAuc Pairwise Loss Exact Smoothened (GPU or CPU implementations). This loss allows you to incorporate information about equal instances. Because $\Delta_{AUC_{ij}} = 0$ if $y_i = y_j$. So we just add small $\epsilon > 0$ in equation. $$L = \sum_{i, j} (\hat P_{ij}\log{P_{ij}} + (1 - \hat P_{ij})\log{(1 - P_{ij})})(\epsilon + |\Delta_{AUC^{exact}_{ij}}|)$$

Performance

Intel Core i5 10600KF (12 threads), Nvidia RTX 3060

Performance Report

For more information

References

[1] Sean J. Welleck, Efficient AUC Optimization for Information Ranking Applications, IBM USA (2016)
[2] Burges, C.J.: From ranknet to lambdarank to lambdamart: An overview. Learning (2010)
[3] Calders, T., Jaroszewicz, S.: Efficient auc optimization for classification. Knowledge Discovery in Databases. (2007)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roc_auc_pairwise-0.0.1.tar.gz (24.8 kB view details)

Uploaded Source

Built Distributions

roc_auc_pairwise-0.0.1-cp311-cp311-manylinux_2_24_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64

roc_auc_pairwise-0.0.1-cp310-cp310-manylinux_2_24_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64

roc_auc_pairwise-0.0.1-cp39-cp39-manylinux_2_24_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64

roc_auc_pairwise-0.0.1-cp38-cp38-manylinux_2_24_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64

roc_auc_pairwise-0.0.1-cp37-cp37m-manylinux_2_24_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64

File details

Details for the file roc_auc_pairwise-0.0.1.tar.gz.

File metadata

  • Download URL: roc_auc_pairwise-0.0.1.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for roc_auc_pairwise-0.0.1.tar.gz
Algorithm Hash digest
SHA256 38a9e38a746d88d9aa94d73ef9000d12fd818d78d4707ad39b2c479dce074cae
MD5 06734f663395ef26c2d782759cf69b34
BLAKE2b-256 16fb17a297837d5a1dd2bca79993c7c70dc9394a0ec55b22f7399a3617d3b382

See more details on using hashes here.

File details

Details for the file roc_auc_pairwise-0.0.1-cp311-cp311-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for roc_auc_pairwise-0.0.1-cp311-cp311-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 1e26f25d2cd14166cdd24c267a8344e4b2e75dcaa446dd09273c640a33765790
MD5 53b4306c6e7fa0f88f756aabef713b22
BLAKE2b-256 57edbcb3c6701871fc2ffa65dcf62436529177548692a3a108225d57d57465a0

See more details on using hashes here.

File details

Details for the file roc_auc_pairwise-0.0.1-cp310-cp310-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for roc_auc_pairwise-0.0.1-cp310-cp310-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 19bf7f777e6d5cbe4a24ccb913be4f708874d30076750cb076206111ad45947b
MD5 e3aa6395503cb23121684779df8ace07
BLAKE2b-256 b9f0631054976d4576b832406f6a08a4181ded1ca79b9da0bf777f72afa37cdb

See more details on using hashes here.

File details

Details for the file roc_auc_pairwise-0.0.1-cp39-cp39-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for roc_auc_pairwise-0.0.1-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 e33eec0b150a83a36291e4fb86e6a06ac2aa84c91e8884b09ec9cbca75faf967
MD5 69903a6463c483841985e0ffec8b4cb2
BLAKE2b-256 1c2774c423f5db351b8ef3b0ccfccf1f0c9710d68855bf0ae8b2e61a61887d11

See more details on using hashes here.

File details

Details for the file roc_auc_pairwise-0.0.1-cp38-cp38-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for roc_auc_pairwise-0.0.1-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 d928354b79de9ea8cb4f45b51a2c94ad8fa7356efcd2432745df18a738a8a2f8
MD5 4e6c2819c2520c3a6000cfd519a1169f
BLAKE2b-256 ff54cd4665557f8cd8d0af31ecfc43b013a5b2780a85b33e505fa7eb2ffa7597

See more details on using hashes here.

File details

Details for the file roc_auc_pairwise-0.0.1-cp37-cp37m-manylinux_2_24_x86_64.whl.

File metadata

File hashes

Hashes for roc_auc_pairwise-0.0.1-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 e7146324bb8c168ee8042de6b7621b8a1369164ea9cb55d0ba892caf72b701b1
MD5 acd3f2ed0ae5da25f533ebb3911d2cf2
BLAKE2b-256 880365a54eaefca01bfdcede016091fbf6978edeefca34af2c0ed1f7f7fb819b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page