Я бинарные классифицирующие заголовки.Это заголовки от 1 до 7 слов, и иногда включают в себя имя человека, который их создал, или места.Я могу классифицировать с точностью до 81%, но когда я изучаю признаки (слова), которые влияют на каждую классификационную группу, я замечаю, что многие имена лучше всего классифицируют конкретную группу, потому что они случайным образом присутствовали только в 1 группе.
Я думаю о 2 решениях: 1. Использование NER для фильтрации сущностей 2. Увеличение регуляризации (пока что это не удалось)
Каков наилучший способ справиться с этим переоснащением?И если увеличение лямбда-значения является ответом, то как это сделать с помощью sklearn LogisticRegressionCV?
Соответствующий код:
from sklearn.linear_model import LogisticRegressionCV
X_train_stem_u = vectorizer_stem_u.fit_transform(X_train)
X_prepeared_data_train = X_train_stem_u
selected_vectorizer = vectorizer_stem_u
clf = LogisticRegressionCV(cv=5,max_iter=800).fit(X_prepeared_data_train, y_train)#solver='liblinear',penalty='l1',
X_prepeared_data_test = selected_vectorizer.transform(X_test)
predicted = clf.predict(X_prepeared_data_test)
print(np.mean(predicted == y_test))
import eli5
eli5.show_weights(clf, vec=selected_vectorizer, top=1500,
target_names=["group1","group2"])
И некоторые примеры, например:
+7.323 peter
+6.143 ing
+6.033 enabl
+5.918 anand
+5.893 jose