Skip to main content

Simplified analysis of sklearn datasets

Project description

The skippy python package

Skip the boilerplate of scikit-learn machine learning examples.

Installation

pip install skippy

Usage

In a shell environment, you can run skippy with no arguments to perform a Logistic Regression on the digits dataset.

This will produce a 10 x 10 confusion matrix with the Accuracy Score at the top.

You can also pass arguments to skippy at the command line.

For example,

skippy -data diabetes -type linear_model -name Lasso
# Or
skippy -d diabetes -t linear_model -n Lasso

will run a linear regression with lasso regularization (L1) on the diabetes dataset.

The data argument can be any of the following built-in scikit-learn datasets:

  • Regression
    • boston
    • diabetes
  • Classification
    • digits
    • iris
    • wine
    • breast_cancer

The type and name arguments are referring to the model type and name from scikit-learn. The type is the submodule, e.g.

  • linear_model
  • naive_bayes
  • ensemble
  • svm

while the name is the what is actually imported, e.g.

  • LinearRegression
  • GaussianNB
  • RandomForestRegressor
  • SVC

Simplify code to a single function call per step:

from sklearn.metrics import confusion_matrix, accuracy_score
import skippy as skp

data = skp.get_data('digits')
x_train, x_test, y_train, y_test = skp.split_data(data)

model = skp.get_model(model_type='ensemble',
                      model_name='RandomForestClassifier')

fit = model.fit(x_train, y_train)
skp.pickle_model(filename='digits_rf.pickle', model=fit)
predictions = fit.predict(x_test)

confmat = confusion_matrix(y_true=y_test, y_pred=predictions)
accuracy = accuracy_score(y_true=y_test, y_pred=predictions)

skp.confusion_matrix_plot(cm=confmat,
                          acc=accuracy,
                          filename='digits_rf.png')

Or run a whole pipeline with one function:

import skippy as skp

skp.classification(dataset='digits',
                   model_type='ensemble',
                   model_name='RandomForestClassifier',
                   pickle_name='digits_rf.pickle',
                   plot_name='digits_rf.png')

For inspiration, look at the example pipelines in the pipelines folder of the skippy repo.

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

skippy-0.1.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

skippy-0.1.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file skippy-0.1.0.tar.gz.

File metadata

  • Download URL: skippy-0.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for skippy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5ff4b02d5bd75ffab0eda30da10c4f7da6fb9ec216b80fc7c6f72df18a72d19a
MD5 298ecdc5c785d6ae91a43f7e5a9706ba
BLAKE2b-256 446a7324798624222bbc555e61ba534673764846a40f4a71cf513d32f323382f

See more details on using hashes here.

File details

Details for the file skippy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: skippy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for skippy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1fe46c59817f47ddf73a3b2b19f5605698601a3fad7027ce5f5a71a31f1ea75
MD5 ff147c6b5eb8a87594e922174c7b00b4
BLAKE2b-256 a4cb346f34fc87fab0d9aa643432dbd22d8ffe798e68ea777c081f107d8c0192

See more details on using hashes here.

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