# mass evaluator
P.add_node("Evaluator", MachineEvaluatorNode())

# <codecell>

# create cross validation, 3-fold
P.add_node("Cross Validation", SklearnCrossValidationNode(accuracy_score, score_weight=-1, verbose=True,top_k=4))
P.add_node("Visualize CV", CrossValidationVisualizationNode()) # see scores

# final metric
P.add_node("Metrics", MetricNode([accuracy_score], error_weights=[-1], verbose=True, top_k = 1))

# <codecell>

# Link em up
P.reset_edges()
P << ["Training", "Cross"]
P << ["Machine\.*", "Cross", "Visualize CV"]
P << [["Cross","Training","Validation"],"Eval","Metrics"]
P << ["Validation","Metrics"]
visualize_pipeline(P)

# <codecell>

# EXECUTE
P.run(timer=True, verbose=False)

# <codecell>