График f1 для конкретного класса с sklearn's learning_curve (), а не с взвешенными значениями f1 - PullRequest
0 голосов
/ 11 апреля 2019

При построении кривой обучения с помощью sklearn.model_selection.learning_curve() на булевом контролируемом классификаторе по умолчанию отображается взвешенный показатель f1.

Но я бы хотел построить показатель f1 для конкретного класса. В этом случае положительный (ака: 1) класс.

В контексте ниже (из sklearn.metrics.classification_report) его построение avg / total, но я бы хотел построить метрики для класса 1.

enter image description here

Участок

enter image description here

Код

...
estimator = classifier_class()
cv = ShuffleSplit(n_splits=10, test_size=0.2, random_state=0)
train_sizes, train_scores, test_scores = learning_curve(estimator, X_recombined, y_recombined, cv=cv) # n_jobs=n_jobs, train_sizes=train_sizes

train_scores_mean = np.mean(train_scores, axis=1)
train_scores_std = np.std(train_scores, axis=1)
test_scores_mean = np.mean(test_scores, axis=1)
test_scores_std = np.std(test_scores, axis=1)
plt.grid()

plt.fill_between(train_sizes, 
                 train_scores_mean - train_scores_std,
                 train_scores_mean + train_scores_std, 
                 alpha=0.1, color="r")

plt.fill_between(train_sizes, 
                 test_scores_mean - test_scores_std,
                 test_scores_mean + test_scores_std, 
                 alpha=0.1, color="g")

plt.plot(train_sizes, train_scores_mean, 'o-', color="r", label="Training score")

plt.plot(train_sizes, test_scores_mean, 'o-', color="g", label="Cross-validation score")

plt.legend(loc="best")

Возможно ли это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...