## GB-FS
**gbfs** is a comprehensive repository dedicated to advancing Graph-Based Feature Selection methodologies in machine learning. Our project houses two significant contributions to the field: GB-AFS and GB-BC-FS, each developed to address the intricate challenges of feature selection with graph-based solutions.
[![Downloads](https://static.pepy.tech/badge/gbfs)](https://pepy.tech/project/gbfs) [![Downloads](https://static.pepy.tech/badge/gbfs/month)](https://pepy.tech/project/gbfs)
[![ci Status](https://github.com/davidlevinwork/gbfs/actions/workflows/ci.yml/badge.svg)](https://github.com/davidlevinwork/gbfs/actions/workflows/ci.yml)
[![Tests Status](https://github.com/davidlevinwork/gbfs/actions/workflows/tests.yml/badge.svg)](https://github.com/davidlevinwork/gbfs/actions/workflows/tests.yml)
## Table of contents
- [Our Contributions](#our-contributions)
- [Installation](#installation)
- [Usage](#usage)
- [GB-AFS](#GB-AFS)
- [Initialization](#Initialization)
- [Feature-Selection](#Feature-Selection)
- [Visualization](#visualization)
- [GB-BC-FS](#GB-BC-FS)
- [Status](#status)
- [Documentation](#documentation)
- [Contribution](#contribution)
- [Citation](#citation)
## Our Contributions
- **GB-AFS (Graph-Based Automatic Feature Selection)**: A method that automates the process of feature selection for multi-class classification tasks, ensuring the minimal yet most effective set of features is utilized for model training.
- **GB-BC-FS (Graph-Based Budget-Constrained Feature Selection)**: Currently in development, this method seeks to enhance feature selection by integrating budget constraints, ensuring the cost of each feature is considered.
## Installation
`gbfs` has been tested with Python 3.10.
**pip**
```bash
$ pip install gbfs
```
**Clone from GitHub**
```bash
$ git clone https://github.com/davidlevinwork/gbfs.git && cd gbfs
$ poetry install
$ poetry shell
```
## Usage
### GB-AFS
#### Initialization
To begin working with GB-AFS, the first step is to initialize the GB-AFS object:
``` py bash
from gbfs import GBAFS
gbafs = GBAFS(
dataset_path="path/to/your/dataset.csv",
separability_metric="your_separability_metric",
dim_reducer_model="your_dimensionality_reduction_method",
label_column="class",
)
```
#### Feature-Selection
After initializing the GB-AFS object, you can move forward with the process of selecting features:
``` py bash
selected_features = gbafs.select_features()
print("Selected Feature Indices:", selected_features)
```
#### Visualization
GB-AFS also incorporates a technique for visualizing the chosen features within the feature space, offering insights into their distribution and how distinct they are:
``` py bash
gbafs.plot_feature_space()
```
### GB-BC-FS
#### Status
Currently in development.
## Documentation
For more information on available commands and usage, refer to the [documentation](https://davidlevinwork.github.io/gbfs/).
## Contribution
Contributions to `gbfs` are welcome! If you encounter any issues or have suggestions for improvements, please open an issue.
## Citation
Raw data
{
"_id": null,
"home_page": "https://github.com/davidlevinwork/gbfs/",
"name": "gbfs",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "feature-selection, automatic-feature-selection, clustering, dimensionality-reduction",
"author": "David Levin",
"author_email": "davidlevin40@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/55/99/ccbdcfcd472fa9349ed2e19bc7e81bd2e5eca6ec178c6bebd8b97b9fe6e1/gbfs-0.2.1.tar.gz",
"platform": null,
"description": "## GB-FS\n\n**gbfs** is a comprehensive repository dedicated to advancing Graph-Based Feature Selection methodologies in machine learning. Our project houses two significant contributions to the field: GB-AFS and GB-BC-FS, each developed to address the intricate challenges of feature selection with graph-based solutions.\n\n[![Downloads](https://static.pepy.tech/badge/gbfs)](https://pepy.tech/project/gbfs) [![Downloads](https://static.pepy.tech/badge/gbfs/month)](https://pepy.tech/project/gbfs)\n[![ci Status](https://github.com/davidlevinwork/gbfs/actions/workflows/ci.yml/badge.svg)](https://github.com/davidlevinwork/gbfs/actions/workflows/ci.yml)\n[![Tests Status](https://github.com/davidlevinwork/gbfs/actions/workflows/tests.yml/badge.svg)](https://github.com/davidlevinwork/gbfs/actions/workflows/tests.yml)\n\n\n## Table of contents\n- [Our Contributions](#our-contributions)\n- [Installation](#installation)\n- [Usage](#usage)\n - [GB-AFS](#GB-AFS)\n - [Initialization](#Initialization)\n - [Feature-Selection](#Feature-Selection)\n - [Visualization](#visualization)\n - [GB-BC-FS](#GB-BC-FS)\n - [Status](#status)\n- [Documentation](#documentation)\n- [Contribution](#contribution)\n- [Citation](#citation)\n\n## Our Contributions\n\n- **GB-AFS (Graph-Based Automatic Feature Selection)**: A method that automates the process of feature selection for multi-class classification tasks, ensuring the minimal yet most effective set of features is utilized for model training.\n \n- **GB-BC-FS (Graph-Based Budget-Constrained Feature Selection)**: Currently in development, this method seeks to enhance feature selection by integrating budget constraints, ensuring the cost of each feature is considered.\n\n## Installation\n\n`gbfs` has been tested with Python 3.10.\n\n**pip**\n```bash\n$ pip install gbfs \n```\n\n**Clone from GitHub**\n```bash\n$ git clone https://github.com/davidlevinwork/gbfs.git && cd gbfs\n$ poetry install\n$ poetry shell\n```\n\n## Usage\n\n### GB-AFS\n\n#### Initialization\n\nTo begin working with GB-AFS, the first step is to initialize the GB-AFS object:\n\n``` py bash\nfrom gbfs import GBAFS\n\ngbafs = GBAFS(\n dataset_path=\"path/to/your/dataset.csv\",\n separability_metric=\"your_separability_metric\",\n dim_reducer_model=\"your_dimensionality_reduction_method\",\n label_column=\"class\",\n)\n```\n\n#### Feature-Selection\nAfter initializing the GB-AFS object, you can move forward with the process of selecting features:\n\n``` py bash\nselected_features = gbafs.select_features()\n\nprint(\"Selected Feature Indices:\", selected_features)\n```\n\n#### Visualization\nGB-AFS also incorporates a technique for visualizing the chosen features within the feature space, offering insights into their distribution and how distinct they are:\n\n``` py bash\ngbafs.plot_feature_space()\n```\n\n### GB-BC-FS\n\n#### Status\nCurrently in development.\n\n## Documentation\nFor more information on available commands and usage, refer to the [documentation](https://davidlevinwork.github.io/gbfs/).\n\n## Contribution\nContributions to `gbfs` are welcome! If you encounter any issues or have suggestions for improvements, please open an issue.\n\n## Citation",
"bugtrack_url": null,
"license": "MIT",
"summary": "Graph-Based Feature-Selection Algorithms",
"version": "0.2.1",
"project_urls": {
"Documentation": "https://davidlevinwork.github.io/gbfs/",
"Homepage": "https://github.com/davidlevinwork/gbfs/",
"Repository": "https://github.com/davidlevinwork/gbfs/"
},
"split_keywords": [
"feature-selection",
" automatic-feature-selection",
" clustering",
" dimensionality-reduction"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "63b4fa14a06334ad7e3f0db21679bbe8408ee48e2005660bc259726d8fae4e99",
"md5": "2db8d4fcf1a40610c4213f4745a36520",
"sha256": "3671ae2f0cb08d92e24e66ea987a8d91c8753c849db71464e22b4db418ea5239"
},
"downloads": -1,
"filename": "gbfs-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2db8d4fcf1a40610c4213f4745a36520",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 22374,
"upload_time": "2024-05-13T08:11:03",
"upload_time_iso_8601": "2024-05-13T08:11:03.154423Z",
"url": "https://files.pythonhosted.org/packages/63/b4/fa14a06334ad7e3f0db21679bbe8408ee48e2005660bc259726d8fae4e99/gbfs-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5599ccbdcfcd472fa9349ed2e19bc7e81bd2e5eca6ec178c6bebd8b97b9fe6e1",
"md5": "d0542c9391ba7f62aeb3f01c093d79d4",
"sha256": "ade78bcabcc79305af0671cca6c28b8ef005abd43b4a16d94090054edd303eee"
},
"downloads": -1,
"filename": "gbfs-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "d0542c9391ba7f62aeb3f01c093d79d4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 17162,
"upload_time": "2024-05-13T08:11:04",
"upload_time_iso_8601": "2024-05-13T08:11:04.848731Z",
"url": "https://files.pythonhosted.org/packages/55/99/ccbdcfcd472fa9349ed2e19bc7e81bd2e5eca6ec178c6bebd8b97b9fe6e1/gbfs-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-13 08:11:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "davidlevinwork",
"github_project": "gbfs",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "gbfs"
}