def meta_fitting(data_to_predict_local, data_input_2, strategy_dictionary):
    fitting_inputs, fitting_targets = input_processing(data_to_predict_local, data_input_2, strategy_dictionary)
    error = []
    train_indices, test_indices = train_test_indices(fitting_inputs, strategy_dictionary['train_test_ratio'])
    if strategy_dictionary['ml_mode'] == 'svm':
        fitting_dictionary, error = svm_fitting(
            fitting_inputs, fitting_targets, train_indices, test_indices, strategy_dictionary)

    elif strategy_dictionary['ml_mode'] == 'randomforest':
        fitting_dictionary, error = random_forest_fitting(
            fitting_inputs, fitting_targets, train_indices, test_indices, strategy_dictionary)

    elif strategy_dictionary['ml_mode'] == 'adaboost':
        fitting_dictionary, error = adaboost_fitting(
            fitting_inputs, fitting_targets, train_indices, test_indices, strategy_dictionary)

    elif strategy_dictionary['ml_mode'] == 'gradientboosting':
        fitting_dictionary, error = gradient_boosting_fitting(
            fitting_inputs, fitting_targets, train_indices, test_indices, strategy_dictionary)

    elif strategy_dictionary['ml_mode'] == 'extratreesfitting':
        fitting_dictionary, error = extra_trees_fitting(
            fitting_inputs, fitting_targets, train_indices, test_indices, strategy_dictionary)

    fitting_dictionary['train_indices'] = train_indices
    fitting_dictionary['test_indices'] = test_indices
    fitting_dictionary['error'] = error

    return fitting_dictionary
def fit_tensorflow(strategy_dictionary):
    toc = tic()

    data_to_predict, data_2 = import_data(strategy_dictionary)

    fitting_inputs, fitting_targets = input_processing(data_to_predict, data_2,
                                                       strategy_dictionary)
    train_indices, test_indices = train_test_indices(
        fitting_inputs, strategy_dictionary['train_test_ratio'])

    if strategy_dictionary['sequence_flag']:
        fitting_dictionary, error = tensorflow_sequence_fitting(
            '/home/thomas/test', train_indices, test_indices, fitting_inputs,
            fitting_targets, strategy_dictionary)

    else:
        fitting_dictionary, error = tensorflow_fitting(train_indices,
                                                       test_indices,
                                                       fitting_inputs,
                                                       fitting_targets)

    fitting_dictionary['train_indices'] = train_indices
    fitting_dictionary['test_indices'] = test_indices

    fitting_dictionary = post_process_training_results(strategy_dictionary,
                                                       fitting_dictionary,
                                                       data_to_predict)

    profit_factor = output_strategy_results(strategy_dictionary,
                                            fitting_dictionary,
                                            data_to_predict, toc)
    return fitting_dictionary, data_to_predict, error, profit_factor