【问题标题】:How can I define a function for calculating accuracy, precision, recall and f1如何定义用于计算准确率、精度、召回率和 f1 的函数
【发布时间】:2021-06-22 17:41:21
【问题描述】:

我想计算线性回归、随机森林和伯努利的准确率、精确度、召回率和 f1。我想出了以下代码:

from sklearn.metrics import accuracy_score, f1_score, precision_score, recall_score
y_pred = classifier.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print (accuracy)
precision = precision_score(y_test, y_pred, average='macro')
print (precision)
recall = recall_score(y_test, y_pred, average='macro')
print(recall)
f1 = f1_score(y_test, y_pred, average='macro')
print(f1)

如何将其定义为函数,所以我不必编写三遍代码,而是可以应用函数。

【问题讨论】:

    标签: python function classification


    【解决方案1】:

    你的意思是这样的?

    from sklearn.metrics import accuracy_score, f1_score, precision_score, recall_score
    
    y_pred = classifier.predict(X_test)
    
    def print_scores(score_functions, test, pred):
        for score_function in score_functions:
            print(score_function(test, pred, average='macro'))
    
    print_scores([accuracy_score, precision_score, recall_score, f1_score], y_test, y_pred)
    

    【讨论】:

      猜你喜欢
      • 2017-06-21
      • 2023-03-29
      • 2015-12-05
      • 1970-01-01
      • 2019-11-23
      • 2015-10-03
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多