# train_features = [
#     'len_q1_no_punc',
#     'len_q2_no_punc',
#     'diff_lda_topic_vector_0',
#     'diff_lda_topic_vector_1',
#     'diff_lda_topic_vector_2',
#     'diff_lda_topic_vector_3',
#     'diff_lda_topic_vector_4',
#     'diff_lda_topic_vector_5',
#     'diff_lda_topic_vector_6',
#     'diff_lda_topic_vector_7',
#     'diff_lda_topic_vector_8',
#     'diff_lda_topic_vector_9',
#     'diff_lda_topic_vector_10',
#     'diff_lda_topic_vector_11',
#     'diff_lda_topic_vector_12',
#     'diff_lda_topic_vector_13',
#     'diff_lda_topic_vector_14',
#     'diff_lda_topic_vector_15',
#     'diff_lda_topic_vector_16',
#     'diff_lda_topic_vector_17',
#     'diff_lda_topic_vector_18',
#     'diff_lda_topic_vector_19',
#     'token_overlap_ratio',
#     'no_token_overlap',
#     'full_token_overlap',
#     'token_vector_dot_product',
#     'token_vector_cosine_sim',
#     'lda_vector_dot_product',
#     'lda_vector_cosine_sim',
#     'tf_idf_word_match_share',
#     'shared_2_gram_ratio',
#     'shared_3_gram_ratio',
#     'shared_4_gram_ratio',
#     'shared_5_gram_ratio',
#     'shared_6_gram_ratio',
#     'two_gram_tfidf_sim',
#     'three_gram_tfidf_sim',
#     'weighted_token_overlap_score',
#     'stops_ratio_q1_q2',
#     'stops_ratio_q1',
#     'stops_ratio_q2',
#     'stops_diff',
#     'q_token_pair_vars_0',
#     'q_token_pair_vars_1',
#     'q_token_pair_vars_2',
#     'q_token_pair_vars_3',
#     'q_token_pair_vars_4',
#     'q_token_pair_vars_5',
#     'q_token_pair_vars_6',
#     'q_token_pair_vars_7',
#     'q_token_pair_vars_8',
#     'q_token_pair_vars_9',
#     'q_token_pair_vars_10',
#     'q_token_pair_vars_11',
#     'q_token_pair_vars_12',
#     'q_token_pair_vars_13',
#     'q_token_pair_vars_14',
#     'q_token_pair_vars_15',
#     'q_token_pair_vars_16',
#     'q_token_pair_vars_17',
#     'q_token_pair_vars_18',
#     'q_token_pair_vars_19',
#     'q_token_pair_vars_20',
#     'q_token_pair_vars_21',
#     'q_token_pair_vars_22',
#     'q_token_pair_vars_23',
#     'q_token_pair_vars_24',
#     'q_token_pair_vars_25',
#     'q_token_pair_vars_26',
#     'q_token_pair_vars_27',
#     'q_token_pair_vars_28',
#     'q_token_pair_vars_29',
#     'q_token_pair_vars_30',
#     'q_token_pair_vars_31',
#     'q_token_pair_vars_32',
#     'q_token_pair_vars_33',
#     'q_token_pair_vars_34',
#     'q_token_pair_vars_35',
#     'q1_subjectivity',
#     'q2_subjectivity',
#     'q1_polarity',
#     'q2_polarity',
#     'polarity_abs_diff',
#     'subjectivity_abs_diff',
#     'q1_bigger_subjectivity',
#     'equal_subjectivity',
#     'q1_bigger_polarity',
#     'equal_polarity',
#     'opposite_polarity',
#     'noun_phrase_overlap',
#     'q1_num_noun_phrases',
#     'q2_num_noun_phrases',
#     'jaro_winkler_sim',
#     'levenshtein_dist',
#     # 'hamming_dist',
#     'inverse_hamming_dist',

#     'fuzz_qratio',
#     'fuzz_WRatio',
#     'fuzz_partial_ratio',
#     'fuzz_partial_token_set_ratio',
#     'fuzz_partial_token_sort_ratio',
#     'fuzz_token_set_ratio',
#     'fuzz_token_sort_ratio',

#     'wmd',
#     'norm_wmd',
#     'cosine_distance',
#     'cityblock_distance',
#     'jaccard_distance',
#     'canberra_distance',
#     'euclidean_distance',
#     'minkowski_distance',
#     'braycurtis_distance',
#     'skew_q1vec',
#     'skew_q2vec',
#     'kur_q1vec',
#     'kur_q2vec',

#     'standard_token_overlap_ratio',
#     'len_q1_standard',
#     'len_q2_standard',
#     'len_q1_punc',
#     'len_q2_punc',
#     'punc_overlap',

#     'q1_num_nouns',
#     'q2_num_nouns',
#     'noun_overlap',

#     'q1_num_verbs',
#     'q2_num_verbs',
#     'verb_overlap',

#     'q1_num_adjs',
#     'q2_num_adjs',
#     'adj_overlap',

#     'q1_num_advs',
#     'q2_num_advs',
#     'adv_overlap',

#     'q1_num_gen_tags',
#     'q2_num_gen_tags',
#     'gen_tag_overlap',

#     'q1_num_pronouns',
#     'q2_num_pronouns',
#     'pronoun_overlap',

#     'weighted_noun_overlap',
#     'noun_sets_equal',
#     'weighted_verb_overlap',
#     'verb_sets_equal',
#     'weighted_adj_overlap',
#     'adj_set_equal',
#     'weighted_adv_overlap',
#     'adv_set_equal',
#     'weighted_gen_tag_overlap',
#     'gen_tag_set_equal',
#     'weighted_pronoun_overlap',
#     'pronoun_set_equal',

#     'q1_q2_intersect',
#     'q1_freq',
#     'q2_freq'
# ]

train_features = {
    'adj_overlap': '129',
    'adj_set_equal': '144',
    'adv_overlap': '132',
    'adv_set_equal': '146',
    'braycurtis_distance': '110',
    'canberra_distance': '107',
    'cityblock_distance': '105',
    'cosine_distance': '104',
    'diff_lda_topic_vector_0': '2  ',
    'diff_lda_topic_vector_1': '3  ',
    'diff_lda_topic_vector_10': '12 ',
    'diff_lda_topic_vector_11': '13 ',
    'diff_lda_topic_vector_12': '14 ',
    'diff_lda_topic_vector_13': '15 ',
    'diff_lda_topic_vector_14': '16 ',
    'diff_lda_topic_vector_15': '17 ',
    'diff_lda_topic_vector_16': '18 ',
    'diff_lda_topic_vector_17': '19 ',
    'diff_lda_topic_vector_18': '20 ',
    'diff_lda_topic_vector_19': '21 ',
    'diff_lda_topic_vector_2': '4  ',
    'diff_lda_topic_vector_3': '5  ',
    'diff_lda_topic_vector_4': '6  ',
    'diff_lda_topic_vector_5': '7  ',
    'diff_lda_topic_vector_6': '8  ',
    'diff_lda_topic_vector_7': '9  ',
    'diff_lda_topic_vector_8': '10 ',
    'diff_lda_topic_vector_9': '11 ',
    'equal_polarity': '87 ',
    'equal_subjectivity': '85 ',
    'euclidean_distance': '108',
    'full_token_overlap': '24 ',
    'fuzz_WRatio': '96 ',
    'fuzz_partial_ratio': '97 ',
    'fuzz_partial_token_set_ratio': '98 ',
    'fuzz_partial_token_sort_ratio': '99 ',
    'fuzz_qratio': '95 ',
    'fuzz_token_set_ratio': '100',
    'fuzz_token_sort_ratio': '101',
    'gen_tag_overlap': '135',
    'gen_tag_set_equal': '148',
    'inverse_hamming_dist': '94 ',
    'jaccard_distance': '106',
    'jaro_winkler_sim': '92 ',
    'kur_q1vec': '113',
    'kur_q2vec': '114',
    'lda_vector_cosine_sim': '28 ',
    'lda_vector_dot_product': '27 ',
    'len_q1_no_punc': '0  ',
    'len_q1_punc': '118',
    'len_q1_standard': '116',
    'len_q2_no_punc': '1  ',
    'len_q2_punc': '119',
    'len_q2_standard': '117',
    'levenshtein_dist': '93 ',
    'minkowski_distance': '109',
    'no_token_overlap': '23 ',
    'norm_wmd': '103',
    'noun_overlap': '123',
    'noun_phrase_overlap': '89 ',
    'noun_sets_equal': '140',
    'opposite_polarity': '88 ',
    'polarity_abs_diff': '82 ',
    'pronoun_overlap': '138',
    'pronoun_set_equal': '150',
    'punc_overlap': '120',
    'q1_bigger_polarity': '86 ',
    'q1_bigger_subjectivity': '84 ',
    'q1_freq': '152',
    'q1_num_adjs': '127',
    'q1_num_advs': '130',
    'q1_num_gen_tags': '133',
    'q1_num_noun_phrases': '90 ',
    'q1_num_nouns': '121',
    'q1_num_pronouns': '136',
    'q1_num_verbs': '124',
    'q1_polarity': '80 ',
    'q1_q2_intersect': '151',
    'q1_subjectivity': '78 ',
    'q2_freq': '153',
    'q2_num_adjs': '128',
    'q2_num_advs': '131',
    'q2_num_gen_tags': '134',
    'q2_num_noun_phrases': '91 ',
    'q2_num_nouns': '122',
    'q2_num_pronouns': '137',
    'q2_num_verbs': '125',
    'q2_polarity': '81 ',
    'q2_subjectivity': '79 ',
    'q_token_pair_vars_0': '42 ',
    'q_token_pair_vars_1': '43 ',
    'q_token_pair_vars_10': '52 ',
    'q_token_pair_vars_11': '53 ',
    'q_token_pair_vars_12': '54 ',
    'q_token_pair_vars_13': '55 ',
    'q_token_pair_vars_14': '56 ',
    'q_token_pair_vars_15': '57 ',
    'q_token_pair_vars_16': '58 ',
    'q_token_pair_vars_17': '59 ',
    'q_token_pair_vars_18': '60 ',
    'q_token_pair_vars_19': '61 ',
    'q_token_pair_vars_2': '44 ',
    'q_token_pair_vars_20': '62 ',
    'q_token_pair_vars_21': '63 ',
    'q_token_pair_vars_22': '64 ',
    'q_token_pair_vars_23': '65 ',
    'q_token_pair_vars_24': '66 ',
    'q_token_pair_vars_25': '67 ',
    'q_token_pair_vars_26': '68 ',
    'q_token_pair_vars_27': '69 ',
    'q_token_pair_vars_28': '70 ',
    'q_token_pair_vars_29': '71 ',
    'q_token_pair_vars_3': '45 ',
    'q_token_pair_vars_30': '72 ',
    'q_token_pair_vars_31': '73 ',
    'q_token_pair_vars_32': '74 ',
    'q_token_pair_vars_33': '75 ',
    'q_token_pair_vars_34': '76 ',
    'q_token_pair_vars_35': '77 ',
    'q_token_pair_vars_4': '46 ',
    'q_token_pair_vars_5': '47 ',
    'q_token_pair_vars_6': '48 ',
    'q_token_pair_vars_7': '49 ',
    'q_token_pair_vars_8': '50 ',
    'q_token_pair_vars_9': '51 ',
    'shared_2_gram_ratio': '30 ',
    'shared_3_gram_ratio': '31 ',
    'shared_4_gram_ratio': '32 ',
    'shared_5_gram_ratio': '33 ',
    'shared_6_gram_ratio': '34 ',
    'skew_q1vec': '111',
    'skew_q2vec': '112',
    'standard_token_overlap_ratio': '115',
    'stops_diff': '41 ',
    'stops_ratio_q1': '39 ',
    'stops_ratio_q1_q2': '38 ',
    'stops_ratio_q2': '40 ',
    'subjectivity_abs_diff': '83 ',
    'tf_idf_word_match_share': '29 ',
    'three_gram_tfidf_sim': '36 ',
    'token_overlap_ratio': '22 ',
    'token_vector_cosine_sim': '26 ',
    'token_vector_dot_product': '25 ',
    'two_gram_tfidf_sim': '35 ',
    'verb_overlap': '126',
    'verb_sets_equal': '142',
    'weighted_adj_overlap': '143',
    'weighted_adv_overlap': '145',
    'weighted_gen_tag_overlap': '147',
    'weighted_noun_overlap': '139',
    'weighted_pronoun_overlap': '149',
    'weighted_token_overlap_score': '37 ',
    'weighted_verb_overlap': '141',
    'wmd': '102'
}
