Skip to main content

A Python implementation of the Fisher Scoring algorithm for logistic regression, multinomial regression, and focal loss regression.

Project description

Fisher Scoring Logistic Regression Suite

Author: xRiskLab GitHub: xRiskLab
Beta Version: 0.1
2024 MIT License

Overview

This repository contains Python implementations of the Fisher Scoring algorithm for various logistic regression models:

  1. Fisher Scoring Logistic Regression: Standard logistic regression using Fisher scoring.
  2. Fisher Scoring Multinomial Regression: Multinomial logistic regression for multi-class classification.
  3. Fisher Scoring Focal Loss Regression: Logistic regression with focal loss for imbalanced classification problems.

The Fisher Scoring algorithm is an iterative optimization algorithm that updates model parameters using the observed or expected Fisher information matrix.

Models

Fisher Scoring Logistic Regression

The FisherScoringLogisticRegression class is a custom implementation of logistic regression using the Fisher scoring algorithm. It provides methods for fitting the model, making predictions, and computing model statistics, including standard errors, Wald statistic, p-values, and confidence intervals.

Parameters:

  • epsilon: Convergence threshold for the algorithm.
  • max_iter: Maximum number of iterations for the algorithm.
  • information: Type of information matrix to use ('expected' or 'observed').
  • use_bias: Include a bias term in the model.
  • significance: Significance level for computing confidence intervals.

Methods:

  • fit(X, y): Fit the model to the data.
  • predict(X): Predict target labels for input data.
  • predict_proba(X): Predict class probabilities for input data.
  • get_params(): Get model parameters.
  • set_params(**params): Set model parameters.
  • summary(): Get a summary of model parameters, standard errors, p-values, and confidence intervals.
  • display_summary(): Display a summary of model parameters, standard errors, p-values, and confidence intervals.

Fisher Scoring Multinomial Regression

The FisherScoringMultinomialRegression class implements the Fisher Scoring algorithm for multinomial logistic regression, suitable for multi-class classification tasks.

Parameters:

  • epsilon: Convergence threshold for the algorithm.
  • max_iter: Maximum number of iterations for the algorithm.
  • information: Type of information matrix to use ('expected' or 'observed').
  • use_bias: Include a bias term in the model.
  • verbose: Enable verbose output.

The algorithm is in a beta version and may require further testing and optimization.

Fisher Scoring Focal Loss Regression

The FisherScoringFocalRegression class implements the Fisher Scoring algorithm with focal loss, designed for imbalanced classification problems where the positive class is rare.

Parameters:

  • gamma: Focusing parameter for focal loss.
  • epsilon: Convergence threshold for the algorithm.
  • max_iter: Maximum number of iterations for the algorithm.
  • information: Type of information matrix to use ('expected' or 'observed').
  • use_bias: Include a bias term in the model.
  • verbose: Enable verbose output.

The algorithm is experimental and may require further testing and optimization.

Installation

To use the models, clone the repository and install the required dependencies.

git clone https://github.com/xRiskLab/fisher-scoring.git
cd fisher-scoring
pip install -r requirements.txt

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

fisher_scoring-0.1.1.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

fisher_scoring-0.1.1-py3-none-any.whl (13.0 kB view details)

Uploaded Python 3

File details

Details for the file fisher_scoring-0.1.1.tar.gz.

File metadata

  • Download URL: fisher_scoring-0.1.1.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Darwin/23.4.0

File hashes

Hashes for fisher_scoring-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f6756ba7af01a7ef7134485af060346c1c50aac227ebeaa21ee2e3faeb680582
MD5 beb7c7887380787df0796eeb4af776d2
BLAKE2b-256 3d366ebdc33087decb2aef68edfcff89c4d73d9d7c02ae97edf677c93e8a18ce

See more details on using hashes here.

Provenance

File details

Details for the file fisher_scoring-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fisher_scoring-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Darwin/23.4.0

File hashes

Hashes for fisher_scoring-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 06415819d8c533f1c712aae40ab68c7e3fb850173c5d3107eb6b47df05284a0a
MD5 efe708bae4d13724d91629e33be5fa31
BLAKE2b-256 70f5631f31d8970eef37f6ae392325dfe4f5fd779730b3dc4cabde78e7ff8aeb

See more details on using hashes here.

Provenance

Supported by

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