~ubuntu-branches/ubuntu/utopic/deap/utopic-proposed

« back to all changes in this revision

Viewing changes to doc/code/tutorials/part_3/stats.py

  • Committer: Package Import Robot
  • Author(s): Daniel Stender, Miriam Ruiz, Daniel Stender, Jakub Wilk
  • Date: 2014-07-06 00:03:41 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20140706000341-s7gij1ki3d8xz6t9
Tags: 1.0.1-1
[ Miriam Ruiz ]
* New Upstream Release. Closes: #675200
* Upgraded Standards-Version from 3.9.2 to 3.9.5
* Switched to dh_python2
* Upgraded debian/compat to 9
* Added build-arch and build-indep targets to debian/rules
* Using awk to remove connection from the documentation to google analytics
* Using jquery.js and underscore.js from libjs-jquery and libjs-underscore
* Added patches/doc.patch

[ Daniel Stender ]
* deb/control:
  + Added myself to Uploaders.
  + Added version to b-p on python-all.
  + Updated Homepage.
  + Wrapped and sorted.
* deb/copyright:
  + Changed copyright file towards DEP-5.
  + Updated Source URI (project source moved to Github).
  + Added email addresses for copyright holders.
  + Dropped license for eap/toolbox.py (not included anymore).
  + Extended copyrights to 2014.
  + Added myself to copyrights for deb/*.
  + Specified license location.
* Added watch file [initial version by Jackson Doak].

[ Jakub Wilk ]
* Use canonical URIs for Vcs-* fields.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import random
 
2
 
 
3
import numpy
 
4
 
 
5
from deap import algorithms
 
6
from deap import base
 
7
from deap import creator
 
8
from deap import tools
 
9
 
 
10
random.seed(0)
 
11
 
 
12
stats = tools.Statistics(key=lambda ind: ind.fitness.values)
 
13
stats.register("avg", numpy.mean)
 
14
stats.register("std", numpy.std)
 
15
stats.register("min", numpy.min)
 
16
stats.register("max", numpy.max)
 
17
 
 
18
def evalOneMax(individual):
 
19
    return sum(individual),
 
20
 
 
21
creator.create("FitnessMax", base.Fitness, weights=(1.0,))
 
22
creator.create("Individual", list, fitness=creator.FitnessMax)
 
23
 
 
24
toolbox = base.Toolbox()
 
25
toolbox.register("attr_bool", random.randint, 0, 1)
 
26
toolbox.register("individual", tools.initRepeat, creator.Individual, toolbox.attr_bool, 100)
 
27
toolbox.register("population", tools.initRepeat, list, toolbox.individual)
 
28
 
 
29
toolbox.register("evaluate", evalOneMax)
 
30
 
 
31
pop = toolbox.population(n=100)
 
32
 
 
33
# Evaluate the individuals
 
34
fitnesses = map(toolbox.evaluate, pop)
 
35
for ind, fit in zip(pop, fitnesses):
 
36
    ind.fitness.values = fit
 
37
 
 
38
record = stats.compile(pop)
 
39
print(record)
 
40
 
 
41
stats = tools.Statistics(key=lambda ind: ind.fitness.values)
 
42
stats.register("avg", numpy.mean, axis=0)
 
43
stats.register("std", numpy.std, axis=0)
 
44
stats.register("min", numpy.min, axis=0)
 
45
stats.register("max", numpy.max, axis=0)
 
46
 
 
47
record = stats.compile(pop)
 
48
print(record)
 
49
 
 
50
pop, logbook = algorithms.eaSimple(pop, toolbox, cxpb=0.5, mutpb=0.2, ngen=0, 
 
51
                                   stats=stats, verbose=True)
 
 
b'\\ No newline at end of file'