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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.6mWindows x86-64

abess-0.3.6-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.6.tar.gz.

File metadata

  • Download URL: abess-0.3.6.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.6.tar.gz
Algorithm Hash digest
SHA256 425dd4d909f92cd6260c4d6a911804d298001abd6b8990b43b3b0b522df2881b
MD5 a69a248816024e95bd3cc3689fbc7133
BLAKE2b-256 0a1215413f462b9f2a19addd5285a8dba508cd8df30a0a0b0c9d80c04d65b8f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.6-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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ba4c9b666e5cdbfc1d7781b12210ba6086ebbfd77a44295b5e2aab2dd1ac0962
MD5 f878a0f9f424b88ba130e9105accb252
BLAKE2b-256 ab8e2d0f893620586045c002c25bbfc9479c876e13cb14f3a4b1e58bb35c6560

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.6-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.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 80024c4e75f0bffa50128de29d1957428505f7b76e354c8b1dfede3554465c0d
MD5 fc4d41df5728bf408e9b3e3552504019
BLAKE2b-256 ae5269f3b7705828a61c54725f875153a0499a3910b9810cb25eb4dfec33f407

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.6-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.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b97065166a835019fff49f7afc945a2514768215f03115ddb7e1085e281cefac
MD5 6cd72be1289944c2a373d8eca61b4452
BLAKE2b-256 e644098025c5d6552e43ee6b04e687c8c39d542376906501ad30b0f0f29dee0f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.6-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.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 57fbf1ff2c7080a37af3ea9c67583a0b38c6bfab1e117d51adc5d56a4c0dcc26
MD5 f7b672ec4c0c26160d08bdf6016745af
BLAKE2b-256 1b076bb2a3454c0433defc6954d8a7842bb33e65516458064db460c8d75efa22

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.6-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.6-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 abe46184d25517712fa1f2d0ee8ab805529cbad37aeef45fbbacabfeec5ec053
MD5 76c69bda44cf753d4816260c35e14363
BLAKE2b-256 7ca2b295c06b7eea6d2f06e896236c63b2b4de533c4304ce36ea6a39ee481cc4

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