LABS: Linear-time Adaptive Best-subset Selection
Project description
# scikit-labs: Linear-time Adaptive Best-subset Selection
![pypi](https://img.shields.io/pypi/v/scikit-labs?logo=Pypi) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/scikit-labs?logo=python) ![PyPI - Downloads](https://img.shields.io/pypi/dm/scikit-labs) ![GitHub Issues](https://img.shields.io/github/issues/abess-team/scikit-labs) ![GitHub License](https://img.shields.io/github/license/abess-team/scikit-labs)
## Overview
Best-subset selection plays a vital role in regression analysis, aiming to identify a parsimonious subset of variables that maximizes prediction accuracy within the resulting linear model. This process is important in various scientific fields, including physics, biology, and medicine, where extensive datasets are routinely generated. Nevertheless, the computational complexity of selecting the best subset from massive datasets presents a formidable challenge, given the problem’s well-known NP-hard nature.
To address this challenge, we introduce a new tuning-free iterative algorithm scikit-labs that capitalizes on a novel subset splicing procedure. Remarkably, under mild conditions, our algorithm demonstrates provable identification of the best subset while maintaining a linear time complexity, achieving optimality in computation and statistics simultaneously. The power of scikit-labs is numerically certified by extensive test cases.
## Quick Start
### Installation
Install the stable scikit-labs Python package from Pypi:
`bash pip install scikit-labs `
And then the package can be imported as:
`python import sklabs `
### Example
Best subset selection for linear regression on a simulated dataset in Python:
`python from sklabs.datasets import make_glm_data from sklabs.linear import LinearRegression sim_dat = make_glm_data(n = 350, p = 500, k = 6, family = "gaussian") model = LinearRegression() model.fit(sim_dat.x, sim_dat.y) `
## Open source software
scikit-labs is a free software and its source code are publicly available in Github. The core framework is programmed in C++, and user-friendly Python interfaces are offered. You can redistribute it and/or modify it under the terms of the GPL-v3 License. We welcome contributions for scikit-labs, especially stretching scikit-labs to the other best subset selection problems.
## Citation
## References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25fb064f88d8d77bcaf9a196b83e5593130590976e02a5858cef48381bbb2d9c |
|
MD5 | afff2d390dccbf536f85bbc0aa96cfae |
|
BLAKE2b-256 | c9714c48387018d701969df45530d3e5ef248304179811aee0609547eb0ac59a |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac6745d579d1ea2c513dfe6fe1bbb2585b5d3681fe76b6fa33f3d410efd859fe |
|
MD5 | 0291fe4ee3e33bec2e7ada159e0d9257 |
|
BLAKE2b-256 | 66f8af23e5816406e3026d0a48ccd6c614e85bc9574563ce1aa059573bd53296 |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e0d5cce1388d47e07e27f3678e397e335b41086282efdfd1c92536060c8725d |
|
MD5 | 99ca2fe1504334c050a839c196634950 |
|
BLAKE2b-256 | e1b80b0b19f3eca202988933530e0b4a3f9a581b058a00864e245c083cdfb616 |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a021825c63180ea0c7caeec3d9ed486bc6b85cd77189151739d72559489ecb44 |
|
MD5 | fae862e32cec9b50f45de7c5c2b322a3 |
|
BLAKE2b-256 | 2b4e509ad70378cbfdd379bf9337c3c6a0822a70320b22185c52830002ec6f1f |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c3c5980954aa0b3940f80bf076bc44be3dd330eb838db3f2c9440b831d8e973 |
|
MD5 | e3c62f2930c6ee53d0c2b4528f06069b |
|
BLAKE2b-256 | 743c2f8a28f9bc475544500e6e7e1b5d173fa17c670dfdf2f02813585849dd55 |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8551c0af7f7199e282493f63f07c0955f8ae09657055711d9b0e766f31d6012a |
|
MD5 | f7f6efa00404dcd87025056ad6688a1c |
|
BLAKE2b-256 | 1813ced739a504e67c892461d72d1dc804a49e0bc9fa31e1b4154fdad45e9cc0 |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed006086aa979b7da54ec2a2c43d8fdaf1e0e3edf46faa13fd16cf73153071d9 |
|
MD5 | 266e105b181061e85f0282c3a60af43c |
|
BLAKE2b-256 | e45d96c296f9583a0cb9e9636bacf33a1c1ad96ca2eed907585c99e1e8a93c70 |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dafd2e14e6d6e083c0817718078dc9d23a28903966944ab41b053917f1eab07 |
|
MD5 | d3d82bd038250a98da9e91cc5c9eb618 |
|
BLAKE2b-256 | d7628107ff9ab139734cbb0e3c106b5a5233df948d1f445170b2bde67e7408c4 |
Hashes for scikit_labs-0.0.1rc1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08b82ecf5b3b1c5fd3a9e2937c91c5836136576c378a051c0631bd64acd87115 |
|
MD5 | f59b43792a768245f3422fa228eb937c |
|
BLAKE2b-256 | 72c35c415b598d5824567ed80aa0d632bf275350415e8dc49cbbde855c2d6e22 |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e3260d522cfe9bd00909406cbd0477a66c630c027a96e517166b157241f52db |
|
MD5 | 27bf3a3279d1875e50d71d5d98cb4630 |
|
BLAKE2b-256 | 4f9bba23821957c3a9ec1cd1bba4c610841623e78fcec55e10df0cbfec7e0e15 |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d69e9f31d1cade0672dcd2cf5f63c7981b666a0fd14673023a17d9267f579667 |
|
MD5 | fee6032bb7c90823b9cd7d8824d6879a |
|
BLAKE2b-256 | 04467187f2f30959a4368f79fe3c0b466acf3546fa05c04d9ff98d35ed3aa74d |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f414a16a330d9ce37f82f6a15692278c42a9dcd122e2ca44d6e1d1b961007c7 |
|
MD5 | 1f7472374a589369efae324ad43e62a0 |
|
BLAKE2b-256 | 788440b92307e39c2ef3c0218404cd37f9042a357ae9a5ecb933a1907a227c08 |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4958a404bf02fdd72d764fa515097e7de0fe585511c61e26209b0796c435da32 |
|
MD5 | 9b73c3c9e382d6b3d71dca550bd8d98a |
|
BLAKE2b-256 | ab56495b38e4ee561875801035b771ecfc68938e47041d13175fa8c4e043d695 |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1016346f2d4dd858647be4b5e71b7e572d11307a00a1e028304ff5fc16873aab |
|
MD5 | f67323f0ec33c2348b1db48503f3cf94 |
|
BLAKE2b-256 | 897b0428e0d4bf37344d00413590b7ddb6315493e50341f5d65a83d389632e43 |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed2af41eba5191137145255960cf0e83741e8584faaf612a5ba1f04a89a88747 |
|
MD5 | b3b822b226bf462d5f3d9a31e3eb9eb4 |
|
BLAKE2b-256 | 556249af058ae07b1c22fffd225c29fb2f6fed2bb37916b661aa960c15e2e30e |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee68fbd8dfa25c4206bf818dcaec902bc9a3e62d7cf03b1ada5ed3e3448a9f01 |
|
MD5 | 1e976631e538fac7721a0f4a551129a2 |
|
BLAKE2b-256 | e02bc9d49b6b6b6b7ec0845e3caa655c654af7eaaab2574d586a6363efca3a07 |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53e9956d4f9467c7ff8a9586fafce75a7a63845fb55c339f5797cfcd7fd0381c |
|
MD5 | 10e6a6eeb111b3f0310777dcaeac850b |
|
BLAKE2b-256 | 5fea0154040e22077885d11e2ac438a0d51951f7f52d3d2c1cc1b5c38c92abb1 |
Hashes for scikit_labs-0.0.1rc1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5248ecc7c87978e3b23e93c5348cab64b9261b0a1c19de10155d1bee45ebd8c5 |
|
MD5 | 198826de6ef3cb338f1b0224adc08868 |
|
BLAKE2b-256 | 199f11031e4dd16085aa26f2d916ade43aa2aa2ff66471c1f047672532b791dd |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddd75a0d75b8c169c4ae6c812910070cd83c0baea2c7d7012f0c660e77274fe2 |
|
MD5 | ec4a94e39b4266f3846dacf9d43b6b1d |
|
BLAKE2b-256 | 38429747da9b7a5823e3ce534873c3bdd7ab486671a9be20cee4847564bb6355 |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0600b7da2d133e0741dc8cf147fc99129d2bd4c3d517b0fe198b351a50bc8d58 |
|
MD5 | a1d3533e3be5875ce97d201aae47eeaf |
|
BLAKE2b-256 | 51279893276aae852407fe4800f14bf948ce2ec9674a4551a9128c654a9a8ad3 |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5dba60d1228ef76140ee81d0b1aff349cbab91ba8b8f4684f1919093b2c9ca8 |
|
MD5 | adf500546617d506e2de4beac57a122f |
|
BLAKE2b-256 | 3b144300feb9fb191a9fc6d24c5d9166349b83e86e079aae27a5a88276d7bd86 |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11479e81e06a55a85e9c2620c1c698ff5512ac740b82091f8ac4f43c3df9784d |
|
MD5 | 6ab0de85dad4ed906c758cd1fbbf17f8 |
|
BLAKE2b-256 | f53e2ccdb9b3391842ad75870db5c7527d2f01cf23f12e176d947b4084a62f49 |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64491d1b4419cfb92bdf1d8abbb905cbacbc67f0ed02ee654b1989d2f822ba25 |
|
MD5 | d14441325468d8564d3c7bc5163a58e7 |
|
BLAKE2b-256 | 3d316119932f46dacd9fa1051f1d160eaeb1bead548c26ebe2cfab1f5ff4d5e5 |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7585553df696c37ea6be0db4ab24e3cd7a4051d8f3da42c65ce90c3590a4851a |
|
MD5 | 5ed6ed4dbb67651a77ba9c9f9ae51df6 |
|
BLAKE2b-256 | 118d9779fbb223d4ed46626fa0ec8cdb39c29f2736a9c345c33eaffdc4a038ab |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44aade3616e75e7a497b219c96a257ddfb8b9c48a0ee1a4c07dcb86f204136e8 |
|
MD5 | ea36e538a91fb1cb119b002c4464763f |
|
BLAKE2b-256 | 1a10fa32b06e9289d83aedd41e4faadf8485b208fc446c633e789226199dcf99 |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c93b52d0f8a0656ad8e4d6c65bf7b1f67106e6e0da335f8ccb0747e8f117f608 |
|
MD5 | f1eaed9eecc0b394edc5fd6b0c9c1d18 |
|
BLAKE2b-256 | 1ee63e25a944ac92fe247868f17ee3a3625cf0d2999d2e77a052b750afe522f0 |
Hashes for scikit_labs-0.0.1rc1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 135812375266ba9c239a8ddd9c440e5d22a2b7dd423ab9d061d27b8a8ab29371 |
|
MD5 | 2bb509fd4530f7ee6e0f4af5fddbb082 |
|
BLAKE2b-256 | 5d30201e4aaef676ecb2db1b28f86c66c2346ef8e65edaf8602c434cadd78a02 |
Hashes for scikit_labs-0.0.1rc1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55ca0ff92ad385a5991829fe2b166d47eafe9245afd139e9b1f83b142d507da9 |
|
MD5 | 28157070fdf88257db8955d9d3f39f75 |
|
BLAKE2b-256 | db7e46ad8f11abaa26a956be15273d394e72ea61af1f5484ccc7ed5db87a452a |
Hashes for scikit_labs-0.0.1rc1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69ab968fd37194155d9185bdbb5a0dae9c6d8a58ff0d47503fb7b0dbf158d82e |
|
MD5 | a969293c155ac16091fec501a85967e9 |
|
BLAKE2b-256 | 95ce12130aa4ba3559f84c6a44c880a8d3c0129b27cc71e10fcae25fec7a2376 |
Hashes for scikit_labs-0.0.1rc1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81d1b08f47ede81c90bb9aaa68b58a3975dcfbb5a90c2ab8cc4977a065cda26c |
|
MD5 | e5cd5ebe9bb0e5b9a23743cdbc02a13e |
|
BLAKE2b-256 | 7ddfc6c4560a37f1177663f66e15337612d105508e454e3913793a6bf3f97079 |
Hashes for scikit_labs-0.0.1rc1-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdd4c668fdc26409a637832ee8a204edc79b4807f5773bd18ffd87f2386ef72c |
|
MD5 | b90641b6ac236a256f27c4d0ea803fd6 |
|
BLAKE2b-256 | b624150788d06998432776699e97a508c665ef4841e5217770c1aee0ff303a0c |
Hashes for scikit_labs-0.0.1rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe5c205f4f22d1efb5fd3e46a317ab6622bdd36e08620cbc1b470cd866042d4f |
|
MD5 | 3b86a24290a2e1980503ce7d7355d56a |
|
BLAKE2b-256 | 3007da27a0eabf0bc83867498e5506e2132123e8b4fd6ef042a8ea23fac07fb2 |
Hashes for scikit_labs-0.0.1rc1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2e5de4ff750f70fc91cdf24468300272fdaa02d25bac568b7ad6dc8245ef124 |
|
MD5 | 526e77b404b4e5e49b2b75002603d373 |
|
BLAKE2b-256 | b86c71d7ac64d915827c52d676d2d9c58be0d1b584dd69cb59a1f9a0006547e7 |
Hashes for scikit_labs-0.0.1rc1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f39ee80d73301d260237dda5c8e71c6164d646c5a6e57c74fbb55fcba805afdc |
|
MD5 | 02e67f3c4f2e2874511594217dafdcfc |
|
BLAKE2b-256 | 9df611149042beead5fef581ed78864c5a22eaa17a1457c6f5fd75882e0b8674 |
Hashes for scikit_labs-0.0.1rc1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf330113aee2cf6b772712433c8370bed919f309bad9de08313b50bb3dbadeff |
|
MD5 | 106750a8067aa4952b95b8fed2ddb18c |
|
BLAKE2b-256 | f60a04b6ef0537ec507943dcd19420459801a3b3bb42835d60ef7321aa0177eb |
Hashes for scikit_labs-0.0.1rc1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c273d65ce44830b4bcb709ce28eb40c32fd74386949cf3887a29f93ba0989fc |
|
MD5 | e841eb12097d3041a872e5e36e504d37 |
|
BLAKE2b-256 | 71a18a18bbb1f4ad00c7bca088334b8adf6583282182ab94b3935a2874c9a396 |
Hashes for scikit_labs-0.0.1rc1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d1286d5f1e817a4fde6be692750599e0e626aed45f7e0d935c16c16927d4ef3 |
|
MD5 | eeb9221670a9fb756d4b60fc16f1fdc5 |
|
BLAKE2b-256 | e1b44d321a4da2c56431f551e46fa3d3b9734cc616eb300e30e1736d30dd3dcc |
Hashes for scikit_labs-0.0.1rc1-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd00880cedde14ea0797920d2022a171732458b7820a60306df2ef3f46a61f5a |
|
MD5 | 4c8e511697e933b80cb6326df21521ab |
|
BLAKE2b-256 | d50ea9bf6289d46b6ec5f98c9f9886cb8b90dc47d11a8d5c31ed94af0a575675 |
Hashes for scikit_labs-0.0.1rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 360777367f26701cdd0b2913d42f9db43a37d963d364f4a1614729cf80d39093 |
|
MD5 | 0c76df88d52bd607307ca628aa5235ee |
|
BLAKE2b-256 | eb9faa72433f574e6451f58148de90e28c06960bea4daa291b864ac9eedc459b |
Hashes for scikit_labs-0.0.1rc1-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 022aa314ea2959de3728f140da5909102bae9f231437c634937e7df42966db20 |
|
MD5 | 5cd2a6c7b6f1ce76bb86178727fa1d69 |
|
BLAKE2b-256 | f680c6e5fdf8650217a66b4cda8300df5b4ce3b35e1629ce04e2971c99c8e661 |
Hashes for scikit_labs-0.0.1rc1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f7d770ecfd67475628f3dcad9fb336a90c25455e4655c0be7eccd1ea527e95c |
|
MD5 | 95cf2068e1bb6bf37f47345d86e4f965 |
|
BLAKE2b-256 | b4d35c24f160bf58c28ef0085eeceeae327e3cd27f026e74b3912f8e5432a164 |