def experiment_features_iterated(
        train_reader=data_readers.toy, 
        assess_reader=None, 
        train_size=0.7,
        phi_list=[fe.manual_content_flags], 
        class_func=lt.identity_class_func,
        train_func=training.fit_logistic_at_with_crossvalidation,
        score_func=utils.safe_weighted_f1,
        verbose=True,
        iterations=1):
    """
    Generic iterated experimental framework for hand-crafted features. 
    """  
    correlation_overall = []
    cronbach_overall = []
    conf_matrix_overall = None
    assess_performance = []
    while len(correlation_overall) < iterations:
        print "\nStarting iteration: %d/%d" % (len(correlation_overall)+1, iterations)
        try:
            correlation_local, cronbach_local, conf_matrix_local, perf_local = experiment_features(
                train_reader=train_reader, 
                assess_reader=assess_reader, 
                train_size=train_size,
                phi_list=phi_list, 
                class_func=class_func,
                train_func=train_func,
                score_func=score_func,
                verbose=verbose)