У меня очень несбалансированный набор данных из 3 классов. Чтобы решить эту проблему, я применил массив sample_weight в XGBClassifier, но я не заметил каких-либо изменений в результатах моделирования? Все показатели в отчете о классификации (матрица путаницы) одинаковы. Есть ли проблема с реализацией?
Класс крыса ios:
military: 1171
government: 34852
other: 20869
Пример:
pipeline = Pipeline([
('bow', CountVectorizer(analyzer=process_text)), # convert strings to integer counts
('tfidf', TfidfTransformer()), # convert integer counts to weighted TF-IDF scores
('classifier', XGBClassifier(sample_weight=compute_sample_weight(class_weight='balanced', y=y_train))) # train on TF-IDF vectors w/ Naive Bayes classifier
])
Образец Набор данных:
data = pd.DataFrame({'entity_name': ['UNICEF', 'US Military', 'Ryan Miller'],
'class': ['government', 'military', 'other']})
Классификационный отчет