Skip to main content

A python package to simplify data modeling.

Project description

SimpleLearn

A python package to simplify and automate data science workflows such as data modelling.

Installation

$ pip install simple-learn

Primer

This package is based off Google AutoML and hopes to allow people with limited machine learning knowledge to train high performance models for their specific use cases. Similar to AutoML, SimpleLearn aims to create an automatic process of model algorithm selection, hyper parameter tuning, iterative modelling, and model assessment. Under the hood, SimpleLearn is using a greedy algorithm to select/assess the model algorithm while leveraging a grid search to tune model hyperparameters. The metrics for assessing the model can all be configured via input parameters. Keep in mind this package does NOT automate the entire process of data science and assumes you are handling tasks such as data preparation and feature engineering. A strong model algorithm cannot apologize for bad data.

Usage

The following are examples of how to use some of the classes in SimpleLearn.

SimpleClassifier

>>> from sklearn.datasets import load_iris
>>> from simple_learn.classifiers import SimpleClassifier
>>>
>>> iris = load_iris()
>>> clf = SimpleClassifier()
>>> clf.fit(iris.data, iris.target)
>>> clf
{
    "Type": "KNeighborsClassifier",
    "Training Duration": "0.0006814002990722656s",
    "GridSearch Duration": "0.17136621475219727s",
    "Parameters": {
        "metric": "euclidean",
        "n_neighbors": 4,
        "weights": "uniform"
    },
    "Metrics": {
        "Training Accuracy": 0.9866666666666667,
        "Jaccard Score": 0.9245283018867925,
        "F1 Score": 0.96
    }
}

SimpleClassifierList

>>> from sklearn.datasets import load_iris
>>> from simple_learn.classifiers import SimpleClassifierList
>>>
>>> iris = load_iris()
>>> clf_list = SimpleClassifierList()
>>> clf_list.fit(iris.data, iris.target)
>>> clf_list
{
    "Type": "KNeighborsClassifier",
    "Rank": 1,
    "Training Duration": "0.0005269050598144531s",
    "GridSearch Duration": "0.17510604858398438s",
    "Parameters": {
        "metric": "euclidean",
        "n_neighbors": 4,
        "weights": "uniform"
    },
    "Metrics": {
        "Training Accuracy": 0.9866666666666667,
        "Jaccard Score": 0.9245283018867925,
        "F1 Score": 0.96
    },
    "Index": 0
}
{
    "Type": "DecisionTreeClassifier",
    "Rank": 2,
    "Training Duration": "0.0004031658172607422s",
    "GridSearch Duration": "0.06979990005493164s",
    "Parameters": {
        "criterion": "gini",
        "max_depth": 3
    },
    "Metrics": {
        "Training Accuracy": 0.9733333333333333,
        "Jaccard Score": 0.9486989764459243,
        "F1 Score": 0.9733226623982927
    },
    "Index": 1
}
{
    "Type": "ExtraTreeClassifier",
    "Rank": 3,
    "Training Duration": "0.00039696693420410156s",
    "GridSearch Duration": "0.11928296089172363s",
    "Parameters": {
        "criterion": "gini",
        "max_depth": 4,
        "splitter": "best"
    },
    "Metrics": {
        "Training Accuracy": 0.9666666666666667,
        "Jaccard Score": 0.9611613876319759,
        "F1 Score": 0.97999799979998
    },
    "Index": 2
}
...
>>> clf = clf_list.pop(index=2) # default index is 0
>>> clf
{
    "Type": "ExtraTreeClassifier",
    "Training Duration": "0.00039696693420410156s",
    "GridSearch Duration": "0.11928296089172363s",
    "Parameters": {
        "criterion": "gini",
        "max_depth": 4,
        "splitter": "best"
    },
    "Metrics": {
        "Training Accuracy": 0.9666666666666667,
        "Jaccard Score": 0.9611613876319759,
        "F1 Score": 0.97999799979998
    }
}

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

simple_learn-0.2.0.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_learn-0.2.0-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file simple_learn-0.2.0.tar.gz.

File metadata

  • Download URL: simple_learn-0.2.0.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for simple_learn-0.2.0.tar.gz
Algorithm Hash digest
SHA256 72e53660c68b732c220f509c96322a6af96c0ad422b9cfa7db443c82754f3b4b
MD5 c62659dfd76335cb4d9da37bf649a846
BLAKE2b-256 e215ce3d7e9fc3b5b51914f9da01f55fe6c1a92f477bc1187feb801e99d71747

See more details on using hashes here.

File details

Details for the file simple_learn-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: simple_learn-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

File hashes

Hashes for simple_learn-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48d17ef46f3f8cdb22d4511eb87a99c018ee8ad974557d869848e1a9ab48769f
MD5 6b952cb8eb36daebd1f61339244f0cc8
BLAKE2b-256 51e9a68c8a752476241474d14961377749d1a8711805d2dc20d090fe12061e8e

See more details on using hashes here.

Supported by

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