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.0.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.0-cp39-cp39-win_amd64.whl (427.0 kB view details)

Uploaded CPython 3.9Windows x86-64

abess-0.3.0-cp38-cp38-win_amd64.whl (426.9 kB view details)

Uploaded CPython 3.8Windows x86-64

abess-0.3.0-cp37-cp37m-win_amd64.whl (426.8 kB view details)

Uploaded CPython 3.7mWindows x86-64

abess-0.3.0-cp36-cp36m-win_amd64.whl (426.8 kB view details)

Uploaded CPython 3.6mWindows x86-64

abess-0.3.0-cp35-cp35m-win_amd64.whl (426.7 kB view details)

Uploaded CPython 3.5mWindows x86-64

File details

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

File metadata

  • Download URL: abess-0.3.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.11

File hashes

Hashes for abess-0.3.0.tar.gz
Algorithm Hash digest
SHA256 c73510967934116d66806e4e70d73a5260f1d021d60dcc83b39ec526492e5442
MD5 9136bc0b21c997096b665c5a85de5939
BLAKE2b-256 1b5fea3bdf35c41949745a8d70454cc98deb1c518a66ae37bfe61922ef30eb17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 427.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for abess-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4ce35d110807e1ca7a4bb062da6eb2e3bec0eb3c34c822ff2657a04d12d11c24
MD5 7ab87672892a8e0d406aefb52abd38fb
BLAKE2b-256 247930ae1922067826201c1c65acddf071a7de3fb717c588f3f4febf8e6e336f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 426.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for abess-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 05b42d657923eca10ad0b94a2dae7837988a541dd6767cc54b40e6cff5bf9889
MD5 9c27967d5a49859915152021eb6a69ff
BLAKE2b-256 8aa5af9d8a6ec50984725ccc9fd1bbe1792b3fe72d6f2d25400723619d120034

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 426.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.9

File hashes

Hashes for abess-0.3.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 297acbd3de3924c82727a1a6836a185af406102547893ae7be1c894afe92cd67
MD5 01e2524776cdcfc79fc449e702db8316
BLAKE2b-256 aeeacaf448f53225c373235f27dc31c384c5b10b5fcd59e0da5321dffe36c4e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 426.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.8

File hashes

Hashes for abess-0.3.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 09309094b8be071c1c66a22fbb24d4f6021c9a55651ba4fa7a65f831d05c9566
MD5 be9bf8b3516e17b692cead08badd4dde
BLAKE2b-256 3ff2b839396d1af2ced12f668874560a1c4a3c9e64cf50b24e649222235a55b9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for abess-0.3.0-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 3a1278d7e8da57bdfa71751ceaebefe1d676cbcea754adc6d0e9ffaaf2738f25
MD5 0017a9cbafb874b9454b811ae307fda7
BLAKE2b-256 c73d3c2b6b3f191e81ad88f7942dc26886dc6f1140cd95e2fd7d782fcab4f5c3

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