получить индекс прогнозируемого значения (классификация текста) - PullRequest
0 голосов
/ 01 апреля 2020
text_list = df_cleaned.cleaned_review.to_numpy()
label_list = df_cleaned.bin_leaks2.to_numpy()   

features_train, features_test, labels_train, labels_test = train_test_split(text_list, label_list, test_size=0.2, random_state=50 )

vectorizer = TfidfVectorizer(min_df=0.025,  max_features=30000,sublinear_tf=True, max_df=0.5,stop_words='english',use_idf=True, ngram_range =(1,1))
features_train = vectorizer.fit_transform(features_train).todense()
features_test = vectorizer.transform(features_test).todense()

NBmodel = GaussianNB()
NBmodel.fit(features_train, labels_train)

У меня есть фрейм данных (df_cleaned) со столбцами «имя» и «текст». Текстовый столбец векторизован (TFIDFvectorizor) для выполнения классификации текста. Как только я получил матрицу путаницы (sklearn), я попытался сопоставить ее с входными данными, которые являются векторными, используя код.

for features_test, NB_prediction, labels_test in zip(features_test, NB_prediction, labels_test):
    if NB_prediction != labels_test:
        print(features_test, 'has been classified as ', NB_prediction, 'and should be ', labels_test)

И вот результат, который я получил.

[[0. 0. 0. ... 0. 0. 0.]] has been classified as  1 and should be  0
[[0. 0. 0. ... 0. 0. 0.]] has been classified as  1 and should be  0

Я хочу знать, как получить индекс исходных данных, чтобы сопоставить его с «именем» колонка.

...