perceptron 0.1.1

A super fast online learning library using perceptron
Documentation

Super fast online learning using perceptron.
It allows you to train your model as you go, and use an ensemble 
to make accurate predictions.

# Background

[Preceptron](https://en.wikipedia.org/wiki/Perceptron) is a
relatively simple and fast machine learning algorithm. It has
* no hyper parameters (no need to tune),
* good generalization properties using ensemble and
* overall good classification accuracy.


# Usage

```rust
   use perceptron::*;

   fn and_works() {
       let examples = vec!((vec!(-1.0, 1.0), false), (vec!(-1.0, -1.0), false), (vec!(1.0, -1.0), false), (vec!(1.0, 1.0), true));
       let perceptron = (1..100).fold(Perceptron::new(2), 
			|pepoch, _epoch| examples.iter().fold(pepoch, 
			|pexample, example| pexample.train(example.0.clone(), example.1).unwrap()));

       println!("{:?}", perceptron);

       assert_eq!(perceptron.predict(examples[0].0.clone()), examples[0].1);
       assert_eq!(perceptron.predict(examples[1].0.clone()), examples[1].1);
       assert_eq!(perceptron.predict(examples[2].0.clone()), examples[2].1);
       assert_eq!(perceptron.predict(examples[3].0.clone()), examples[3].1);
   }
```