Skip to main content

abess Python Package

Project description

logopic

Python build status R build status codecov Documentation Status cran pypi pyversions License Codacy

Overview

abess (Adaptive BEst Subset Selection) library aims to solve general best subset selection, i.e., find a small subset of predictors such that the resulting model is expected to have the highest accuracy. The selection for best subset shows great value in scientific researches and practical application. For example, clinicians wants to know whether a patient is health or not based on the expression level of a few of important genes.

This library implements a generic algorithm framework to find the optimal solution in an extremely fast way [1]. This framework now supports the detection of best subset under: linear regression, (multi-class) classification, censored-response modeling [2], multi-response modeling (a.k.a. multi-tasks learning), etc. It also supports the variants of best subset selection like group best subset selection [3] and nuisance best subset selection [4]. Especially, the time complexity of (group) best subset selection for linear regression is certifiably polynomial [1] [3].

Quick start

Install the stable abess Python package from Pypi:

$ pip install abess

Best subset selection for linear regression on a simulated dataset in Python:

from abess.linear import abessLm
from abess.datasets import make_glm_data
sim_dat = make_glm_data(n = 300, p = 1000, k = 10, family = "gaussian")
model = abessLm()
model.fit(sim_dat.x, sim_dat.y)

See more examples analyzed with Python in the tutorials; the notebooks are available here.

Runtime Performance

To show the power of abess in computation, we assess its timings of the CPU execution (seconds) on synthetic datasets, and compare to state-of-the-art variable selection methods. The variable selection and estimation results are deferred to performance.

We compare abess Python package with scikit-learn on linear and logistic regression. Results are presented in the below figure, and can be reproduce by running the commands in shell:

$ python ./simulation/Python/timings.py

we obtain the runtime comparison picture:

pic1

abess reaches a high efficient performance especially in linear regression where it gives the fastest solution.

Open source software

abess is a free software and its source code are publicly available in Github. The core framework is programmed in C++, and user-friendly R and Python interfaces are offered. You can redistribute it and/or modify it under the terms of the GPL-v3 License. We welcome contributions for abess, especially stretching abess to the other best subset selection problems.

References

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

abess-0.3.1.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

abess-0.3.1-cp39-cp39-win_amd64.whl (435.7 kB view details)

Uploaded CPython 3.9Windows x86-64

abess-0.3.1-cp38-cp38-win_amd64.whl (435.0 kB view details)

Uploaded CPython 3.8Windows x86-64

abess-0.3.1-cp37-cp37m-win_amd64.whl (434.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

abess-0.3.1-cp36-cp36m-win_amd64.whl (434.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

abess-0.3.1-cp35-cp35m-win_amd64.whl (434.8 kB view details)

Uploaded CPython 3.5mWindows x86-64

File details

Details for the file abess-0.3.1.tar.gz.

File metadata

  • Download URL: abess-0.3.1.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for abess-0.3.1.tar.gz
Algorithm Hash digest
SHA256 8f92ae5abed05016c9ea2db4094d7f71a3928b8c2236c97436705df765aaa6c5
MD5 1a0d9c16555354e4e15d4d47138f1c3a
BLAKE2b-256 7213a4a1ff9ecf1620bea863fe9fde3236ea44c686f2dc81dbf45d637e374c1a

See more details on using hashes here.

File details

Details for the file abess-0.3.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: abess-0.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 435.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

File hashes

Hashes for abess-0.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5d4bed117e7b5450429514f7c38dea9756e0215130e18c791c3f5d4fe61fd0b9
MD5 5547a810f7922d9b2923e4ea4f542e8f
BLAKE2b-256 388ac9bf5c739990e9a3db9d3a19f33dcc375f1fed3f5b183e3ea484fff6a090

See more details on using hashes here.

File details

Details for the file abess-0.3.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: abess-0.3.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 435.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for abess-0.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5e391c9d34778c5e6f2a50e0f0556e6211680db14a6fa43359776404f6f9b2e0
MD5 326e5a85477fb36fe44a749fcc9938ff
BLAKE2b-256 8a2d961bcb522ed8338e2b4186a7da7f076682bbebeaf452aa55bd74fd89f61b

See more details on using hashes here.

File details

Details for the file abess-0.3.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: abess-0.3.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 434.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for abess-0.3.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e4b2231d0d8efcc3166d659e114f42ce42c009dc7700b55d52c639b2366b557d
MD5 d70ae90785e0296dc3e95bea68fd8570
BLAKE2b-256 81d3d5f9757f57a19395a392cb75a2c94ba2375a897641cc8a8a7ac962a1a144

See more details on using hashes here.

File details

Details for the file abess-0.3.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: abess-0.3.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 434.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for abess-0.3.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d32ea2aee4211d3cd6e2e9b94245aeff09cd2f8a9a7ae37ea5fd9d7191c45f95
MD5 72f3dbc694d1176bbcf38609ec91bdb8
BLAKE2b-256 8dfc03dd84b86885b224374234ff0df9cfe903b9cb9781d3966a722f865feb04

See more details on using hashes here.

File details

Details for the file abess-0.3.1-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: abess-0.3.1-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 434.8 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.2 requests/2.25.1 setuptools/28.8.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.5.4

File hashes

Hashes for abess-0.3.1-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 9ad8e9e1c8da2efe5740b38b39948c76811aa3640fcdd56e4c42e1f77abac79f
MD5 613b4c0fb903b89bee73e4a08a439231
BLAKE2b-256 e7a4b4ee1d8e55d7c6d3cefd6fa5cc36e0f933d12724eaa10468e1679121aacf

See more details on using hashes here.

Supported by

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