Skip to content

Commit 250bef2

Browse files
committed
make release-tag: Merge branch 'master' into stable
2 parents 0d3ba92 + badd7f1 commit 250bef2

File tree

14 files changed

+687
-101
lines changed

14 files changed

+687
-101
lines changed

HISTORY.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
11
Changelog
22
=========
33

4+
0.3.2 - 2019-08-12
5+
------------------
6+
7+
* Allow passing fit and produce arguments as `init_params` - [Issue #96](https://github.com/HDI-Project/MLBlocks/issues/96) by @csala
8+
* Support optional fit and produce args and arg defaults - [Issue #95](https://github.com/HDI-Project/MLBlocks/issues/95) by @csala
9+
* Isolate primitives from their hyperparameters dictionary - [Issue #94](https://github.com/HDI-Project/MLBlocks/issues/94) by @csala
10+
* Add functions to explore the available primitives and pipelines - [Issue #90](https://github.com/HDI-Project/MLBlocks/issues/90) by @csala
11+
* Add primitive caching New Feature - [Issue #22](https://github.com/HDI-Project/MLBlocks/issues/22) by @csala
12+
413
0.3.1 - Pipelines Discovery
514
---------------------------
615

7-
* Support flat hyperparameter dictionaries
8-
[Issue #92](https://github.com/HDI-Project/MLBlocks/issues/92) by @csala
9-
* Load pipelines by name and register them as `entry_points`
10-
[Issue #88](https://github.com/HDI-Project/MLBlocks/issues/88) by @csala
11-
* Implement partial re-fit
12-
[Issue #61](https://github.com/HDI-Project/MLBlocks/issues/61) by @csala
13-
* Move argument parsing to MLBlock
14-
[Issue #86](https://github.com/HDI-Project/MLBlocks/issues/86) by @csala
15-
* Allow getting intermediate outputs
16-
[Issue #58](https://github.com/HDI-Project/MLBlocks/issues/58) by @csala
16+
* Support flat hyperparameter dictionaries - [Issue #92](https://github.com/HDI-Project/MLBlocks/issues/92) by @csala
17+
* Load pipelines by name and register them as `entry_points` - [Issue #88](https://github.com/HDI-Project/MLBlocks/issues/88) by @csala
18+
* Implement partial re-fit -[Issue #61](https://github.com/HDI-Project/MLBlocks/issues/61) by @csala
19+
* Move argument parsing to MLBlock - [Issue #86](https://github.com/HDI-Project/MLBlocks/issues/86) by @csala
20+
* Allow getting intermediate outputs - [Issue #58](https://github.com/HDI-Project/MLBlocks/issues/58) by @csala
1721

1822
0.3.0 - New Primitives Discovery
1923
--------------------------------

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ test: ## run tests quickly with the default Python
112112

113113
.PHONY: test-all
114114
test-all: ## run tests on every Python version with tox
115-
tox
115+
tox -r
116116

117117
.PHONY: coverage
118118
coverage: ## check code coverage quickly with the default Python

README.md

Lines changed: 81 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,26 @@
1-
<p align="center">
2-
<img width=30% src="https://dai.lids.mit.edu/wp-content/uploads/2018/06/mlblocks-icon.png" alt=“MLBlocks” />
1+
<p align="left">
2+
<img width=15% src="https://dai.lids.mit.edu/wp-content/uploads/2018/06/Logo_DAI_highres.png" alt=“MLBlocksr” />
3+
<i>An open source project from Data to AI Lab at MIT.</i>
34
</p>
45

5-
<p align="center">
6-
<i>
7-
Pipelines and Primitives for Machine Learning and Data Science.
8-
</i>
6+
<p align="left">
7+
<img width=20% src="https://dai.lids.mit.edu/wp-content/uploads/2018/06/mlblocks-icon.png" alt=“MLBlocks” />
98
</p>
109

11-
[![PyPi][pypi-img]][pypi-url]
12-
[![Travis][travis-img]][travis-url]
13-
[![CodeCov][codecov-img]][codecov-url]
10+
<p align="left">
11+
Pipelines and Primitives for Machine Learning and Data Science.
12+
</p>
1413

15-
[pypi-img]: https://img.shields.io/pypi/v/mlblocks.svg
16-
[pypi-url]: https://pypi.python.org/pypi/mlblocks
17-
[travis-img]: https://travis-ci.org/HDI-Project/MLBlocks.svg?branch=master
18-
[travis-url]: https://travis-ci.org/HDI-Project/MLBlocks
19-
[codecov-img]: https://codecov.io/gh/HDI-Project/MLBlocks/branch/master/graph/badge.svg
20-
[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)
2118

2219
* Free software: MIT license
2320
* Documentation: https://HDI-Project.github.io/MLBlocks
21+
- Homepage: https://github.com/HDI-Project/MLBlocks
2422

25-
# Overview
23+
# MLBlocks
2624

2725
MLBlocks is a simple framework for composing end-to-end tunable Machine Learning Pipelines by
2826
seamlessly combining tools from any python library with a simple, common and uniform interface.
@@ -39,24 +37,82 @@ Features include:
3937
outputs per primitive.
4038
* Easy save and load Pipelines using JSON Annotations.
4139

42-
# 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
4366

44-
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**:
4569

4670
```bash
4771
pip install mlblocks
4872
```
4973

50-
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:
5180

5281
```bash
5382
git clone [email protected]:HDI-Project/MLBlocks.git
5483
cd MLBlocks
84+
git checkout stable
5585
make install
5686
```
5787

58-
For development, you can use `make install-develop` instead in order to install all
59-
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 [email protected]:{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+
60116

61117
## MLPrimitives
62118

@@ -70,12 +126,12 @@ with this command:
70126
pip install mlprimitives
71127
```
72128

73-
# Usage Example
129+
# Quickstart
74130

75131
Below there is a short example about how to use MLBlocks to create a simple pipeline, fit it
76132
using demo data and use it to make predictions.
77133

78-
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)
79135
before following it.
80136

81137
For advance usage and more detailed explanation about each component, please have a look
@@ -148,7 +204,7 @@ its `get_hyperparameters` method:
148204
}
149205
```
150206

151-
### Making predictions
207+
## Making predictions
152208

153209
Once we have created the pipeline with the desired hyperparameters we can fit it
154210
and then use it to make predictions on new data.
@@ -175,7 +231,7 @@ to obtain predictions from the pipeline.
175231
array([3, 2, 1, ..., 1, 1, 2])
176232
```
177233

178-
## What's Next?
234+
# What's Next?
179235

180236
If you want to learn more about how to tune the pipeline hyperparameters, save and load
181237
the pipelines using JSON annotations or build complex multi-branched pipelines, please

docs/getting_started/quickstart.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ them to the `MLPipeline class`_:
2424
2525
from mlblocks import MLPipeline
2626
primitives = [
27+
'mlprimitives.custom.feature_extraction.CategoricalEncoder',
2728
'mlprimitives.custom.feature_extraction.StringVectorizer',
2829
'sklearn.ensemble.RandomForestClassifier',
2930
]

mlblocks/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
__copyright__ = 'Copyright (c) 2018, MIT Data To AI Lab'
2121
__email__ = '[email protected]'
2222
__license__ = 'MIT'
23-
__version__ = '0.3.1'
23+
__version__ = '0.3.2-dev'
2424

2525
__all__ = [
2626
'MLBlock', 'MLPipeline', 'add_pipelines_path', 'add_primitives_path',

0 commit comments

Comments
 (0)