A classifier that endeavors to solve the saddle point problem for AUC maximization.
Project description
SPPAM
An AUC optimizing binomial classifier.
Contact
Rolf Carlson hrolfrc@gmail.com
Install
Use pip to install sppam.
pip install sppam
Introduction
This is a python implementation of a classifier that approximates the solution to the saddle point problem for AUC maximization. [1]
SPPAM provides classification and prediction for two classes, the binomial case. Small to medium problems are supported. This is research code and a work in progress.
SPPAM is designed for use with scikit-learn pipelines and composite estimators.
Example
from sppam import SPPAM
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
Make a classification problem
seed = 42
X, y = make_classification(
n_samples=30,
n_features=5,
n_informative=2,
n_redundant=2,
n_classes=2,
random_state=seed
)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=seed)
Train the classifier
cls = SPPAM().fit(X_train, y_train)
Get the score on unseen data
cls.score(X_test, y_test)
1.0
References
[1] Natole Jr, Michael & Ying, Yiming & Lyu, Siwei. (2019). Stochastic AUC Optimization Algorithms With Linear Convergence. Frontiers in Applied Mathematics and Statistics. 5. 10.3389/fams.2019.00030.
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.