An elegant and effectice solution to get best set of features from a numerical dataset!
Project description
Feature Select is a simple yet effective solution to select features from a numeric dataset, which yields the best results, given a Machine Learning algorithm.
GitHub repo: https://github.com/himanshu-dutta/featureselect/
Free software: MIT license
Features
Multiple optimization algorithms to work with.
Works with most class based Machine Learning models over a range of libraries.
Compatible with all platforms.
Quickstart
Install the latest Feature Select with
pip install featureselect
Usage
from featureselect import DEOptimizer, SAOptimizer, GAOptimizer, PSOptimizer
from sklearn.tree import DecisionTreeClassifier
import pandas as pd
# loading a dataset
dataset = pd.read_csv("dataset.csv", header=None)
dataset[34] = dataset[34].apply(lambda x: 1 if x == "g" else 0)
dataset = dataset.dropna()
X, y = dataset.iloc[:, :-1].to_numpy(), dataset.iloc[:, -1].to_numpy()
# best_accuracy, index_of_best_features = GAOptimizer((X, y), DecisionTreeClassifier, epochs = 10, threshold=0.6, verbose=1, max_depth=3)
# best_accuracy, index_of_best_features = SAOptimizer((X, y), DecisionTreeClassifier, epochs = 10, threshold=0.6, verbose=True, max_depth=3)
# best_accuracy, index_of_best_features = PSOptimizer((X, y), DecisionTreeClassifier, epochs = 10, verbose=1, max_depth=3)
best_accuracy, index_of_best_features = DEOptimizer((X, y), DecisionTreeClassifier, epochs = 10, threshold=0.6, verbose=1, max_depth=3)
#############
# Output
#############
Initial Accuracy: 0.887.
----------------------------------
* Epoch: 1 | Accuracy: 0.958.
----------------------------------
* Epoch: 2 | Accuracy: 0.958.
----------------------------------
* Epoch: 3 | Accuracy: 0.958.
----------------------------------
* Epoch: 4 | Accuracy: 0.958.
----------------------------------
* Epoch: 5 | Accuracy: 0.972.
----------------------------------
* Epoch: 6 | Accuracy: 0.972.
----------------------------------
* Epoch: 7 | Accuracy: 0.972.
----------------------------------
* Epoch: 8 | Accuracy: 0.972.
----------------------------------
* Epoch: 9 | Accuracy: 0.986.
----------------------------------
* Epoch: 10 | Accuracy: 0.986.
----------------------------------
(0.9859154929577465, array([ 2, 4, 5, 6, 9, 11, 12, 13, 14, 17, 19, 20, 21, 24, 26, 29, 32]))
Note
The project is still in developement phase and will be expanded and made better over time. Any contribution to it is welcomed. Stable release would be made available soon.
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 Distribution
File details
Details for the file featureselect-0.0.5.tar.gz
.
File metadata
- Download URL: featureselect-0.0.5.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc8f2034235fdcfef948aa51457be88df27f1e76cb48efb69b1e56105acb74d5 |
|
MD5 | 3bff1517beccc0524f909d9635bc6c29 |
|
BLAKE2b-256 | 2de47394c916d50b63e4ea04c0cbed1a88a50a7b10fbe89bd3e01343b0a52f2f |
File details
Details for the file featureselect-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: featureselect-0.0.5-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fc28c649d0ead586024d2abd5998a981809004ec03e6032e5973ab35332f5a3 |
|
MD5 | 29c100dafc1c6a2be77197fc7f7e0c3d |
|
BLAKE2b-256 | b32abce27e088e5648d03d8be3f6e4c74b97de209fe2b74835d37baa57199a81 |