Skip to main content

a machine learning tool that allows to train, test and use models without writing code

Project description

igel

igel-icon


https://img.shields.io/pypi/v/igel.svg https://img.shields.io/travis/nidhaloff/igel.svg https://pepy.tech/badge/igel https://pepy.tech/badge/igel/month Documentation Status PyPI - Wheel PyPI - Status


A machine learning tool that allows to train/fit, test and use models without writing code

Motivation & Goal

The goal of the project is to provide machine learning for everyone, both technical and non technical users.

I needed a tool sometimes, which I can use to fast create a machine learning prototype. Whether to build some proof of concept or create a fast draft model to prove a point. I find myself often stuck at writing boilerplate code and/or thinking too much of how to start this.

Therefore, I decided to create igel. Hopefully, it will make it easier for technical and non technical users to build machine learning models.

Intro

igel is built on top of scikit-learn. It provides a simple way to use machine learning without writing a single line of code

All you need is a yaml file, where you need to describe what you are trying to do. That’s it!

Installation

  • The easiest way is to install igel using pip

$ pip install igel
  • Check the docs for other ways to install igel from source

Quick Start

  • First step is to provide a yaml file:

# model definition
model:
    # in the type field, you can write the type of problem you want to solve. Whether regression or classification
    # Then, provide the algorithm you want to use on the data. Here I'm using the random forest algorithm
    type: regression
    algorithm: random forest

# target you want to predict
# Here, as an example, I'm using a dataset, where I want to predict the GPA values.
# Depending on your data, you need to provide the target(s) you want to predict here
target:
    - GPA

In the example above, we declare that we have a regression problem and we want to use the random forest model to solve it. Furthermore, the target we want to predict is GPA (since I’m using this simple dataset ) ` - Run this command in Terminal, where you provide the path to your dataset and the path to the yaml file

$ igel fit --data_path 'path_to_your_csv_dataset.csv' --yaml_file 'path_to_your_yaml_file.yaml'

# or shorter
$ igel fit -dp 'path_to_your_csv_dataset.csv' -yml 'path_to_your_yaml_file.yaml'

you can run this command to get instruction on how to use the model:

$ igel -h

That’s it. Your “trained” model can be now found in the model_results folder (automatically created for you in your current working directory). Furthermore, a description can be found in the description.json file inside the model_results folder.

Examples

Check the examples folder, where you can use the csv data to run a simple example from terminal

TODO

  • add option as arguments to the models

  • add multiple file support

  • provide an api to evaluate models

Contributors

None yet. Why not be the first? Contributions are always welcome. Please check the contribution guidelines first.

History

0.0.6 (2020-09-01)

  • Added validation on arguments and provided an example

0.0.5 (2020-08-31)

  • Added logging and changed file keyword to yaml_file

0.0.3 (2020-08-30)

  • First functional package

0.0.1 (2020-08-27)

  • First release on PyPI.

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

igel-0.0.6.tar.gz (16.4 kB view hashes)

Uploaded Source

Built Distribution

igel-0.0.6-py2.py3-none-any.whl (9.4 kB view hashes)

Uploaded Python 2 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