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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.5mWindows x86-64

File details

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

File metadata

  • Download URL: abess-0.0.4.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.0.4.tar.gz
Algorithm Hash digest
SHA256 7c75fc7ccd248d2e13e980c22ffb86171a7ef1d259f28e6f86ba76194d402acd
MD5 cacfbc2a4304c2ed98f78f63b50aa07f
BLAKE2b-256 6e3a88ad061594c987d0e3bf64c47849aaf53e01a8fbc3106886e8e110775fd0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.0.4-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.0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6fa565ce3271750c87699a28d07e334c31419e49436e49e4c358ff0a32b6f86f
MD5 a2baa47ab278fab88c692d1da156b929
BLAKE2b-256 76350d8b388c56b9a1ed61fcb9e380eca9dfa9874e1636d9f00d5bd3ff9ec93a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.0.4-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.0.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6ca462121efbe067355e303521832133111aacf9218bd876419e0d283d827d1f
MD5 07fb571ecd9545bbdc4a4e7d649ed10f
BLAKE2b-256 f6635a852f3abeaf87420e40e91d15c18cd11e908c3ed37b8d4b7d31817c38dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.0.4-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.0.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e56f177e513fd974511dbb380ef58079875fb6f1fc62350cdd226893366b713a
MD5 58490e6a7f3050ebab3bef69228170ee
BLAKE2b-256 9545fc3f165306a517353df87efcbeaf21e80bcd0d9466acc07bd5f42ac25fad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.0.4-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.0.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 eb877d6e72b2e427587f1641d4037628c20bbbe7a81bab72b3124a6dd6ebdf28
MD5 2e3a62a62efe440c60b1ecbb1e1db126
BLAKE2b-256 f466f69380f22b7d34ca91ef3795fc385db2d511a5da43fb95dc6d60db9774e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: abess-0.0.4-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.0.4-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 7382261186913c38cf98486b793a570e6c30977cf21d4bdb9ac303899ffbaa56
MD5 c9951c7e21068b2771dd5e6bfa255b5a
BLAKE2b-256 bc2bdbae5ca7f62a21a4687c33f68e2846b47caf8fc1ee5dd9d170f61677e7e9

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