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
- 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})}$$
- 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}}|$$
- 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}}|$$
- 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
For more information
- You can see GitHub repository.
- Or you can use example notebook on Google Colab
- Or you can use example notebook on Kaggle
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38a9e38a746d88d9aa94d73ef9000d12fd818d78d4707ad39b2c479dce074cae |
|
MD5 | 06734f663395ef26c2d782759cf69b34 |
|
BLAKE2b-256 | 16fb17a297837d5a1dd2bca79993c7c70dc9394a0ec55b22f7399a3617d3b382 |
File details
Details for the file roc_auc_pairwise-0.0.1-cp311-cp311-manylinux_2_24_x86_64.whl
.
File metadata
- Download URL: roc_auc_pairwise-0.0.1-cp311-cp311-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e26f25d2cd14166cdd24c267a8344e4b2e75dcaa446dd09273c640a33765790 |
|
MD5 | 53b4306c6e7fa0f88f756aabef713b22 |
|
BLAKE2b-256 | 57edbcb3c6701871fc2ffa65dcf62436529177548692a3a108225d57d57465a0 |
File details
Details for the file roc_auc_pairwise-0.0.1-cp310-cp310-manylinux_2_24_x86_64.whl
.
File metadata
- Download URL: roc_auc_pairwise-0.0.1-cp310-cp310-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19bf7f777e6d5cbe4a24ccb913be4f708874d30076750cb076206111ad45947b |
|
MD5 | e3aa6395503cb23121684779df8ace07 |
|
BLAKE2b-256 | b9f0631054976d4576b832406f6a08a4181ded1ca79b9da0bf777f72afa37cdb |
File details
Details for the file roc_auc_pairwise-0.0.1-cp39-cp39-manylinux_2_24_x86_64.whl
.
File metadata
- Download URL: roc_auc_pairwise-0.0.1-cp39-cp39-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 1.3 MB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e33eec0b150a83a36291e4fb86e6a06ac2aa84c91e8884b09ec9cbca75faf967 |
|
MD5 | 69903a6463c483841985e0ffec8b4cb2 |
|
BLAKE2b-256 | 1c2774c423f5db351b8ef3b0ccfccf1f0c9710d68855bf0ae8b2e61a61887d11 |
File details
Details for the file roc_auc_pairwise-0.0.1-cp38-cp38-manylinux_2_24_x86_64.whl
.
File metadata
- Download URL: roc_auc_pairwise-0.0.1-cp38-cp38-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.8, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d928354b79de9ea8cb4f45b51a2c94ad8fa7356efcd2432745df18a738a8a2f8 |
|
MD5 | 4e6c2819c2520c3a6000cfd519a1169f |
|
BLAKE2b-256 | ff54cd4665557f8cd8d0af31ecfc43b013a5b2780a85b33e505fa7eb2ffa7597 |
File details
Details for the file roc_auc_pairwise-0.0.1-cp37-cp37m-manylinux_2_24_x86_64.whl
.
File metadata
- Download URL: roc_auc_pairwise-0.0.1-cp37-cp37m-manylinux_2_24_x86_64.whl
- Upload date:
- Size: 2.9 MB
- Tags: CPython 3.7m, manylinux: glibc 2.24+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7146324bb8c168ee8042de6b7621b8a1369164ea9cb55d0ba892caf72b701b1 |
|
MD5 | acd3f2ed0ae5da25f533ebb3911d2cf2 |
|
BLAKE2b-256 | 880365a54eaefca01bfdcede016091fbf6978edeefca34af2c0ed1f7f7fb819b |