Calibratiing model scores/probabilites with pyspark dataframes
Project description
Model calibration with pyspark
This package provides a Betacal class which allows the user to fit the default beta calibration model and predict calibrated scores
Setup
spark-calibration is uploaded to PyPi and can be installed with this command:
pip install spark-calibration
Usage
Training
train_df should be a pyspark dataframe with score and label columns
from spark_calibration import Betacal
from spark_calibration import display_classification_calib_metrics
from spark_calibration import plot_calibration_curve
bc = Betacal(parameters="abm")
# training
train_df = spark.read.parquet("s3://train/")
bc.fit(train_df)
# Get the logistic regression model and individual coefficients
print(bc.lr_model, a, b)
# a,b -> coefficients of lr model
# lr_model -> pyspark ml logistic regression model
Prediction
test_df is a pyspark dataframe with score as one of the columns. The predict function adds a new column prediction which has the calibrated score
test_df = spark.read.parquet("s3://test/")
test_df = bc.predict(test_df)
Pre post calibration metrics comparison
The test_df should have score, prediction & label columns.
The display_classification_calib_metrics functions displays brier_score_loss, log_loss, area_under_PR_curve and area_under_ROC_curve
display_classification_calib_metrics(test_df)
plot the calibration curve
Computes true, predicted probabilites (pre & post calibration) using quantile binning strategy with 50 bins and plots the calibration curve
plot_calibration_curve(test_df)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spark_calibration-1.0.3.tar.gz.
File metadata
- Download URL: spark_calibration-1.0.3.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a021d0f3256a9328a1f35d53c18941ba4b7c634cdd80691e402300873126cbbe
|
|
| MD5 |
b2622fa281a42b8f43e73f210bc13a0d
|
|
| BLAKE2b-256 |
d989880ad26798c72d650a47881ccaa3a6e2f65f6e8f645854ae258dc5701335
|
File details
Details for the file spark_calibration-1.0.3-py3-none-any.whl.
File metadata
- Download URL: spark_calibration-1.0.3-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cfa83410f4083553328e35a2dc8fabbf1580356b70a6915fbf745cd55db88ec
|
|
| MD5 |
ef60e3d76d581908e5b49b308a7d31d0
|
|
| BLAKE2b-256 |
6cf57996ea3fa0cd4cd6680456916b952ec54810207e7e203b9e1a4e88ed2eb8
|