Skip to main content

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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

featureselect-0.0.5.tar.gz (8.2 kB view hashes)

Uploaded Source

Built Distribution

featureselect-0.0.5-py3-none-any.whl (9.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page