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
Я хочу знать, как получить индекс исходных данных, чтобы сопоставить его с «именем» колонка.