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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.6mWindows x86-64

abess-0.3.5-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.5.tar.gz.

File metadata

  • Download URL: abess-0.3.5.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.5.tar.gz
Algorithm Hash digest
SHA256 37eb2b97867b2e3b1a80b9ad7e71b25b5e15ea0293b6583e9f633c9ac6168f44
MD5 6cc62f2ec803974e39e55359a2b63460
BLAKE2b-256 70841e421a5e2cbd11a1ca315392f961f4747542c6c3a98457a130620dc0abf8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.5-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.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5e48c6c3b5990d97bcb36ec42763e835e7e044f1b0a0874bc9c20a86cf206ab4
MD5 e6e4585082c96962da400e4d5a318996
BLAKE2b-256 ea559c45827f4f9abbf0009cee6220ef20e10241d08bfbcc237d13d39f41f54d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.5-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.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 54a3eeadabe2b5bf1096773db9d8b6c794b4914b9ac8c532c09d77f9a20ab057
MD5 5184872b67cd106567b4bade1c019bbc
BLAKE2b-256 8eaef97c502fcc0f04b77745e6e43f2bc08358fef5f7c0055bdb808c44b6bdc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.5-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.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 af587f3eee1f4f1f72654393dc68411d6d3a120cfb3c6906a6c19cc50edf0113
MD5 5eab15282dd19708fbac8790f302d2b0
BLAKE2b-256 5fed8bcf12bbfaebcd28db464dcbee6a89ad5550ac72ed557eca523b80a7b51c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.5-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.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 333b8b8830feaa46e72ae5a62ab8bf936926aaba434b31d01d5b358d541db927
MD5 480a17b794839a26915b975e0cabf0c2
BLAKE2b-256 7f2ddc087fa3ed7406364d9b8a53cd38d19492107357d3cf7fbfc3e7db3f397a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.3.5-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.5-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 2b0b6ca32d31f18e7ea64a7687335b5cc9bb7c593f85292bbddeab4ab05391ae
MD5 3ba230c823cc3325488f556dffa1a622
BLAKE2b-256 926b52c2fae12b26a7902b0fef9235deda3953133f3555e231a40f0209297f46

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