У меня есть набор данных, включающий
{0: 6624, 1: 75} 0 для ненаблюдающих предложений и 1 для наблюдательных предложений. (в основном, я аннотирую свои предложения с помощью распознавания именованных сущностей, если есть конкретная сущность, такая как DATA, TIME, LONG (координата), я ставлю метку 1)
Теперь я хочу создать модель для их классификации,лучшая модель (CV = 3 FOR ALL), которую я сделал, это ансамблевая модель
clf= SGDClassifier()
trial_05=Pipeline([("vect",vec),("clf",clf)])
, которая имеет:
precision recall f1-score support
0 1.00 1.00 1.00 6624
1 0.73 0.57 0.64 75
micro avg 0.99 0.99 0.99 6699
macro avg 0.86 0.79 0.82 6699
weighted avg 0.99 0.99 0.99 669
[[6611 37]
[ 13 38]]
, и эта модель, которая использовала передискретизированный sgd для классификации
precision recall f1-score support
0 1.00 0.92 0.96 6624
1 0.13 1.00 0.22 75
micro avg 0.92 0.92 0.92 6699
macro avg 0.56 0.96 0.59 6699
weighted avg 0.99 0.92 0.95 6699
[[6104 0]
[ 520 75]]
Как вы видите, проблема в обоих случаях - это класс 1, но в первом случае мы имеем довольно хорошую точность и результат f1 по сравнению со вторым, у нас очень хороший отзыв
Поэтому я решил использовать ансамблевую модель, используя оба этих способа:
from sklearn.ensemble import VotingClassifier#create a dictionary of our models
estimators=[("trail_05",trial_05), ("resampled", SGD_RESAMPLED_Model)]#create our voting classifier, inputting our models
ensemble = VotingClassifier(estimators, voting='hard')
Теперь у меня есть такой результат:
precision recall f1-score support
0 0.99 1.00 1.00 6624
1 0.75 0.48 0.59 75
micro avg 0.99 0.99 0.99 6699
macro avg 0.87 0.74 0.79 6699
weighted avg 0.99 0.99 0.99 6699
[[6612 39]
[ 12 36]]
Поскольку у вас ансамблевая модель лучшеточность в отношении класса 1, но хуже отзыв и f1 socre, что привело к ухудшению матрицы путаницы в отношении классифицированного 1 (36 TP против 38 TP для класса 1)
МОЯ цель - улучшить TP для первого класса (оценка f1,Вспомните для класса 1)
whВы рекомендуете улучшить TP для первого класса (f1score, вспомните для первого класса? В общем, у вас есть идеи относительно моего рабочего процесса?
Я пробовал настройку параметров, но я не улучшил модель sgd.