python数字识别代码 显示查全率 查准率 AUC
时间: 2023-06-17 14:08:35 浏览: 111
以下是一个简单的 Python 数字识别代码,使用了支持向量机(SVM)算法:
```
import numpy as np
import pandas as pd
from sklearn import svm, metrics
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_digits
# 加载数据集
digits = load_digits()
# 数据集分割成训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.3)
# 创建SVM分类器
clf = svm.SVC(kernel='linear')
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算查准率、查全率、F1值和AUC
print("查准率:", metrics.precision_score(y_test, y_pred, average='micro'))
print("查全率:", metrics.recall_score(y_test, y_pred, average='micro'))
print("F1值:", metrics.f1_score(y_test, y_pred, average='micro'))
fpr, tpr, thresholds = metrics.roc_curve(y_test, y_pred, pos_label=2)
print("AUC:", metrics.auc(fpr, tpr))
```
上述代码使用 `metrics` 模块中的函数来计算查准率、查全率、F1值和AUC。其中,`precision_score` 函数用于计算查准率,`recall_score` 函数用于计算查全率,`f1_score` 函数用于计算F1值,`roc_curve` 函数用于计算 ROC 曲线,`auc` 函数用于计算 AUC。需要注意的是,这里的 `average` 参数选择了 `'micro'`,表示对所有类别进行加权平均。如果想查看每个类别的指标,可以将 `average` 参数设置为 `'macro'`。
阅读全文