def METHOD_NAME(self,input_file : str, 
        gold_file : str,
        output_dir : str,
        qtc_is_boolean_label : str = 'boolean',
        evc_no_answer_class : str = 'no_answer'):
    numpy.random.seed(42)
    qa_pred_data = create_dataset_from_run_mrc_output(input_file, unpack=True)
    dataset = datasets.load_dataset('json', data_files={'validation': gold_file})['validation']
    #YN_Gold = [] # is it is a YN question
    HSA_Gold = [] # if it has a SA 
    QSA_Scores = [] # the SA score for the QA SA prediction/ not currently used/ might want to experiment
    YN_Pred = [] #if it was predicted to be YN
    #EVC_Scores = [] # not used in this version
    B_Scores = []
    E_Scores = []
    NA_Scores = []
    gold_annotations = dataset['annotations']
    for i, qa_pred in enumerate(qa_pred_data):
        gold = gold_annotations[i]
        if self._google_format:
            yn_q_gold = gold[0]['yes_no_answer'] in ['YES','NO']
            ha_q_gold = gold[0]['minimal_answer']['plaintext_start_byte'] != -1 or yn_q_gold
        else:
            yn_q_gold = gold['yes_no_answer'][0] in ['YES','NO']
            ha_q_gold = gold['minimal_answers_start_byte'][0] != -1 or yn_q_gold
        HSA_Gold.append(ha_q_gold)
        b_score = qa_pred['start_logit']
        B_Scores.append(b_score)
        e_score = qa_pred['end_logit']
        E_Scores.append(e_score)
        na_score = qa_pred['target_type_logits'][0]
        NA_Scores.append(na_score)
        yn_pred = qa_pred['question_type_pred'] == qtc_is_boolean_label
        YN_Pred.append(int(yn_pred))
    features = numpy.array([YN_Pred, B_Scores, E_Scores, NA_Scores])
    features = numpy.transpose(features)
    labels = numpy.array([int(hsa) for hsa in HSA_Gold])
    #clf = LogisticRegression(random_state=0).fit(features, labels)
    #clf  = tree.DecisionTreeClassifier().fit(features, labels)
    clf = svm.SVC(probability=True).fit(features,labels)
    pickle.dump(clf, open(output_dir+"/score_normalizer_svm.pickle", 'wb'))