【发布时间】:2019-09-01 11:22:30
【问题描述】:
在布尔监督分类器上使用sklearn.model_selection.learning_curve() 绘制学习曲线时,默认显示加权 f1 分数。
但我想绘制特定班级的 f1 分数。在本例中为正(又名:1)类。
在下面的上下文中(来自sklearn.metrics.classification_report),它绘制avg / total,但我想绘制1类的指标。
情节
代码
...
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")
这可能吗?
【问题讨论】:
标签: python matplotlib scikit-learn