Skip to content

run a multitude of classifiers on you data and get an AUC report

License

Notifications You must be signed in to change notification settings

neuroneural/polyssifier

 
 

Repository files navigation

Coverage Status example workflow

Polyssifier

Polyssifier runs a multitude of machine learning models on data. It reports scores, confusion matrices, predictions, and plots the scores ranked by classifier performance.

Installation

pip install polyssifier

How to use

For classification

from polyssifier import poly
# Load data
data = np.load("/path/to/data.npy")
label = np.load("/path/to/labels.npy")
# Run analysis
report = poly(data,label, n_folds=8)
# Plot results
report.plot_scores()
report.plot_features(ntop=10)

For Regression

from polyssifier import polyr
# Load data
data = np.load("/path/to/data.npy")
target = np.load("/path/to/target.npy")
# Run analysis
report = polyr(data, target, n_folds=8)
# Plot results
report.plot_scores()
report.plot_features(ntop=10)

Note for Windows

Windows and Linux multiprocessing are performed differently. To run polyssifier in Windows, an extra line of code must be added. The below example is for classification, but the same addition must also be made for regression.

from polyssifier import poly
# Load data
data = np.load("/path/to/data.npy")
label = np.load("/path/to/labels.npy")
# Run analysis
if name == '__main__':
 report = poly(data,label, n_folds=8)
 # Plot results
 report.plot_scores()
 report.plot_features(ntop=10)

In the terminal

poly data.npy label.npy --concurrency 10

Requirements

  • Sklearn
  • Numpy
  • Pandas

Features

  • Cross validated scores.
    • Report f1 score (scoring='f1') or ROC (scoring='auc') for classification
    • Report MSE or R^2 for regression
  • Feature ranking for compatible models (Logistic Regression, Linear SVM, Random Forest)
  • Parallel processing.
    • Control the number of threads with 'concurrency'.
    • We recommend setting concurrency to half the number of Cores in your system.
  • Saves trained models for future use in case of server malfunction.
    • Set project_name for identifying a experiment.
  • Activate feature selection step setting
    • feature_selection=True
  • Automatically scales your data with scale=True

Example: on sample/example.ipynb

It includes the following classifiers:

  • Multilayer Perceptron
  • Nearest Neighbors
  • Linear SVM
  • RBF SVM
  • Decision Tree
  • Random Forest
  • Logistic Regression
  • Naive Bayes
  • Voting Classifier

and the following regressors:

  • Linear Regression
  • Bayesian Ridge
  • PassiveAggressiveRegressor
  • GaussianProcessRegressor
  • Ridge
  • Lasso
  • Lars
  • LassoLars
  • OrthogonalMatchingPursuit
  • ElasticNet

You can exclude some of this models by providing a list of names as follows:

from polyssifier import poly

report = poly(data,label, n_folds=8,
              exclude=['Multilayer Perceptron'])

About

run a multitude of classifiers on you data and get an AUC report

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.3%
  • Shell 0.7%