使用 sklearn 显示每个给定测试数据中每个 class 的准确性

Show accuracy for each class in every given test data using sklearn

有事请教

我已经用 Python 中的 10,000 个训练数据训练了我的 sklearn 逻辑回归 classifier。 我有 2000 个测试数据,我使用准确度分数来显示准确度和混淆矩阵。但两者都只显示所有测试数据的总体准确度。

我想要的是例如:

测试数据1:"abc"

给定测试数据class的准确率:80%

给定测试数据classB的准确度:10%

classC 给定测试数据的准确度:10%

测试数据2:"def"

给定测试数据class的准确率:50%

给定测试数据classB的准确度:30%

class C 给定测试数据的准确度:20%

其余所有测试数据依此类推。 我想像这样在 table 中显示它。 example

可以使用 sklearn 吗?

根据您提供的示例,我认为您要问的是对每个测试数据点的概率预测。您可以使用 LogisticRegression class (http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression.predict_proba) 的 predict_proba 方法轻松完成此操作。这将为您提供每个 classes 的概率。在您的情况下,返回的矩阵的大小应为 2000 x 3 。您可以将它们乘以 100 以获得每个 class.

的必要百分比

希望对您有所帮助。