33<i >An open source project from Data to AI Lab at MIT.</i >
44</p >
55
6-
7-
86<p align =" left " >
97<img width =20% src =" https://dai.lids.mit.edu/wp-content/uploads/2018/06/mlblocks-icon.png " alt =“MLBlocks” />
108</p >
1311Pipelines and Primitives for Machine Learning and Data Science.
1412</p >
1513
16- [ ![ PyPi] [ pypi-img ]] [ pypi-url ]
17- [ ![ Travis] [ travis-img ]] [ travis-url ]
18- [ ![ CodeCov] [ codecov-img ]] [ codecov-url ]
19-
20- [ pypi-img ] : https://img.shields.io/pypi/v/mlblocks.svg
21- [ pypi-url ] : https://pypi.python.org/pypi/mlblocks
22- [ travis-img ] : https://travis-ci.org/HDI-Project/MLBlocks.svg?branch=master
23- [ travis-url ] : https://travis-ci.org/HDI-Project/MLBlocks
24- [ codecov-img ] : https://codecov.io/gh/HDI-Project/MLBlocks/branch/master/graph/badge.svg
25- [ codecov-url ] : https://codecov.io/gh/HDI-Project/MLBlocks
14+ [ ![ PyPi] ( https://img.shields.io/pypi/v/mlblocks.svg )] ( https://pypi.python.org/pypi/mlblocks )
15+ [ ![ Travis] ( https://travis-ci.org/HDI-Project/MLBlocks.svg?branch=master )] ( https://travis-ci.org/HDI-Project/MLBlocks )
16+ [ ![ CodeCov] ( https://codecov.io/gh/HDI-Project/MLBlocks/branch/master/graph/badge.svg )] ( https://codecov.io/gh/HDI-Project/MLBlocks )
17+ [ ![ Downloads] ( https://pepy.tech/badge/mlblocks )] ( https://pepy.tech/project/mlblocks )
2618
2719* Free software: MIT license
2820* Documentation: https://HDI-Project.github.io/MLBlocks
21+ - Homepage: https://github.com/HDI-Project/MLBlocks
2922
30- # Overview
23+ # MLBlocks
3124
3225MLBlocks is a simple framework for composing end-to-end tunable Machine Learning Pipelines by
3326seamlessly combining tools from any python library with a simple, common and uniform interface.
@@ -44,24 +37,82 @@ Features include:
4437 outputs per primitive.
4538* Easy save and load Pipelines using JSON Annotations.
4639
47- # Installation
40+ # Install
41+
42+ ## Requirements
43+
44+ ** MLBlocks** has been developed and tested on [ Python 3.5 and 3.6] ( https://www.python.org/downloads/ )
45+
46+ Also, although it is not strictly required, the usage of a
47+ [ virtualenv] ( https://virtualenv.pypa.io/en/latest/ ) is highly recommended in order to avoid
48+ interfering with other software installed in the system where ** MLBlocks** is run.
49+
50+ These are the minimum commands needed to create a virtualenv using python3.6 for ** MLBlocks** :
51+
52+ ``` bash
53+ pip install virtualenv
54+ virtualenv -p $( which python3.6) mlblocks-venv
55+ ```
56+
57+ Afterwards, you have to execute this command to have the virtualenv activated:
58+
59+ ``` bash
60+ source mlblocks-venv/bin/activate
61+ ```
62+
63+ Remember about executing it every time you start a new console to work on ** MLBlocks** !
64+
65+ ## Install with pip
4866
49- The simplest and recommended way to install MLBlocks is using ` pip ` :
67+ After creating the virtualenv and activating it, we recommend using
68+ [ pip] ( https://pip.pypa.io/en/stable/ ) in order to install ** MLBlocks** :
5069
5170``` bash
5271pip install mlblocks
5372```
5473
55- Alternatively, you can also clone the repository and install it from sources
74+ This will pull and install the latest stable release from [ PyPi] ( https://pypi.org/ ) .
75+
76+ ## Install from source
77+
78+ Alternatively, with your virtualenv activated, you can clone the repository and install it from
79+ source by running ` make install ` on the ` stable ` branch:
5680
5781``` bash
5882git clone git@github.com:HDI-Project/MLBlocks.git
5983cd MLBlocks
84+ git checkout stable
6085make install
6186```
6287
63- For development, you can use ` make install-develop ` instead in order to install all
64- the required dependencies for testing and code linting.
88+ ## Install for Development
89+
90+ If you want to contribute to the project, a few more steps are required to make the project ready
91+ for development.
92+
93+ First, please head to [ the GitHub page of the project] ( https://github.com/HDI-Project/MLBlocks )
94+ and make a fork of the project under you own username by clicking on the ** fork** button on the
95+ upper right corner of the page.
96+
97+ Afterwards, clone your fork and create a branch from master with a descriptive name that includes
98+ the number of the issue that you are going to work on:
99+
100+ ``` bash
101+ git clone git@github.com:{your username}/MLBlocks.git
102+ cd MLBlocks
103+ git branch issue-xx-cool-new-feature master
104+ git checkout issue-xx-cool-new-feature
105+ ```
106+
107+ Finally, install the project with the following command, which will install some additional
108+ dependencies for code linting and testing.
109+
110+ ``` bash
111+ make install-develop
112+ ```
113+
114+ Make sure to use them regularly while developing by running the commands ` make lint ` and ` make test ` .
115+
65116
66117## MLPrimitives
67118
@@ -75,12 +126,12 @@ with this command:
75126pip install mlprimitives
76127```
77128
78- # Usage Example
129+ # Quickstart
79130
80131Below there is a short example about how to use MLBlocks to create a simple pipeline, fit it
81132using demo data and use it to make predictions.
82133
83- Please make sure to having installed [ MLPrimitives] ( https://github.com/HDI-Project/MLPrimitives )
134+ Please make sure to also having installed [ MLPrimitives] ( https://github.com/HDI-Project/MLPrimitives )
84135before following it.
85136
86137For advance usage and more detailed explanation about each component, please have a look
@@ -153,7 +204,7 @@ its `get_hyperparameters` method:
153204}
154205```
155206
156- ### Making predictions
207+ ## Making predictions
157208
158209Once we have created the pipeline with the desired hyperparameters we can fit it
159210and then use it to make predictions on new data.
@@ -180,7 +231,7 @@ to obtain predictions from the pipeline.
180231array([3 , 2 , 1 , ... , 1 , 1 , 2 ])
181232```
182233
183- ## What's Next?
234+ # What's Next?
184235
185236If you want to learn more about how to tune the pipeline hyperparameters, save and load
186237the pipelines using JSON annotations or build complex multi-branched pipelines, please
0 commit comments