scores = [ ('precision', ), ('recall', recall_score), ] # for score_name, score_func in scores: # print "# Tuning hyper-parameters for %s" % score_name print clf = IPythonGridSearchCV(SVC(C=1), tuned_parameters, score_func=precision_score, view=v) clf.fit(X_train, y_train, cv=5) print "fit submitted" while v.outstanding: v.wait(timeout=0.1) grid_scores = clf.collect_results() # import IPython # IPython.embed() # # print "Best parameters set found on development set:" # print # print clf.best_estimator_ print print "Grid scores on development set:" print for params, mean_score, scores, mean_duration, durations in grid_scores[:3]: print "%0.3f (+/-%0.03f) [%i] for %r (took %0.3f s)" % ( mean_score, scores.std() / 2, len(scores), params, mean_duration) print
search = IPythonGridSearchCV(SVC(C=1), tuned_parameters, score_func=precision_score, view=v, cv=5, local_store='/tmp') search.fit_async(X_train, y_train) print "Launched asynchronous fit on a cluster." def print_scores(scores): for params, mean_score, scores, mean_duration, durations in scores: print "%0.3f (+/-%0.03f) [%i] for %r (%0.3fs)" % ( mean_score, scores.std() / 2, len(scores), params, mean_duration) while v.outstanding: v.wait(timeout=0.5) completed_scores, n_remaining = search.collect_results() top_scores = completed_scores[:3] print "Current top %d parameters on development set:" % len(top_scores) print print_scores(top_scores) print "%d tasks remaining" % n_remaining print print "Final scores:" print all_scores, _ = search.collect_results() print_scores(all_scores) print print "Fitting best parameters on the full development set"