我有22465个测试文档,我将其分为88个不同的主题 . 我使用predict_proba来获得前5个预测主题 . 那么如何打印这5个主题的精度呢?
为了准确,我正在做的事情:
model1 = LogisticRegression()
model1 = model1.fit(matrix, labels)
y_train_pred = model1.predict_log_proba(matrix_test)
order=np.argsort(y_train_pred, axis=1)
print(order[:,-5:]) #gives top 5 probabilities
n=model1.classes_[order[:, -5:]]
为了准确性
z=0
for x, y in zip(label_tmp_test, n):
if x in y:
z=z+1
print(z)
print(z/22465) #This gives me the accuracy by considering top 5 topics
如何以相同的方式找到前5个主题的精确度? Scikit指标拒绝使用
q=model1.predict(mat_tmp_test)
print(metrics.precision_score(n, q))
1 回答
在你的方法精度几乎相同 - 你只关注一个特定的标签(因为精度是每标签指标),让我们说你计算标签L的精度:
现在,如果您需要“一般”精度 - 通常会对每个标签的精度进行平均 . 出于显而易见的原因,您需要许多标签才能使这些措施有意义 .