Skip to main content

abess Python Package

Project description

logopic

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

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.4.tar.gz (1.6 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.4-cp39-cp39-win_amd64.whl (435.7 kB view details)

Uploaded CPython 3.9Windows x86-64

abess-0.3.4-cp38-cp38-win_amd64.whl (435.1 kB view details)

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.7mWindows x86-64

abess-0.3.4-cp36-cp36m-win_amd64.whl (434.9 kB view details)

Uploaded CPython 3.6mWindows x86-64

abess-0.3.4-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.4.tar.gz.

File metadata

  • Download URL: abess-0.3.4.tar.gz
  • Upload date:
  • Size: 1.6 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.4.tar.gz
Algorithm Hash digest
SHA256 05bfdc30672cce058892d73bc18ef5c4e4784e3c011d3d0abff3eed4079a1ffa
MD5 eef6511959d0271ab2c409fa70cedbd1
BLAKE2b-256 569b46436d52f2cc66959aa6346a95afc0e5e67e8505325c21fb35d61c1d1bbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.4-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.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 184ccb48ed383a5c0013b83ad093629539e1e3cdc5143ebe231369e62618ee9e
MD5 5c8e22576771ee65aa3d9f8778f7e5b3
BLAKE2b-256 b12ba595b132f6187e9619a594f13fad933dda39b92f8c3cd887eedd25c22756

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 435.1 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.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 10212532b7f01f9a058908d48c57887a4d64bde82fc623edbf2ad8c92ed7cf2d
MD5 3acddbc195aff6fbbfcf2f2bb3762302
BLAKE2b-256 b7662f87a43c2e6e22ca8b5746ae52178912f5c69a80909cef2317c3e3c447eb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.4-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.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 7fca97b73bab9f3cac4d1f7937efc1415ea19d5ad9e2534d3bc0b4418e5aab4f
MD5 2b77ea1ac97c43c503440718361353e3
BLAKE2b-256 8cfe6ef33d2a3ef0f07c4c072d966dd25cadb3c8d5c9fc55964a2438ed1a105b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.4-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 434.9 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.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 3737729f14e1324cd4e40185f733f16b4d37a8ce414802f24f715ed2af282dfa
MD5 f1b465a8355247b819702d8d66e07408
BLAKE2b-256 3137d95c0415aa24b4fa0b7c0bb8c48f49d784703c22e0699a2ab8561651200f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.4-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.4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 35c0f7d4003d2bffca30b010d6f9f7d52ebe008c8fce57f37b05f5db655b42b1
MD5 060b4d577a5e25f8d2a046548737843b
BLAKE2b-256 d16bf715bb4f3c666a9a8f3612ba29ae3e774a979ee457fe33bae2e2e3c26327

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