使用 Scikit-learn 评估机器学习模型的准确率、召回率和精确率

评估机器学习模型的性能对于理解其有效性至关重要。准确率、召回率和精确率是常用的评估指标,可以深入了解模型的预测能力。本教程将引导您使用 Python 中流行的机器学习库 Scikit-learn 计算这些指标。

1. 加载数据集并准备数据

我们将使用著名的鸢尾花数据集来说明该过程。Scikit-learn 提供了加载此数据集的便捷功能。pythonfrom sklearn.datasets import load_irisfrom sklearn.model_selection import train_test_split

加载鸢尾花数据集iris = load_iris()

将数据集划分为训练集和测试集X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

2. 创建并训练模型

在本教程中,我们将使用支持向量机(SVM)作为我们的分类模型。pythonfrom sklearn.svm import SVC

创建 SVC 模型并进行训练model = SVC()model.fit(X_train, y_train)

3. 在测试集上进行预测python# 在测试集上进行预测y_pred = model.predict(X_test)

4. 计算评估指标pythonfrom sklearn.metrics import accuracy_score, recall_score, precision_score

计算准确率accuracy = accuracy_score(y_test, y_pred)

计算召回率recall = recall_score(y_test, y_pred, average='weighted')

计算精确率precision = precision_score(y_test, y_pred, average='weighted')

打印结果print('准确率:', accuracy)print('召回率:', recall)print('精确率:', precision)

解释结果

  • 准确率表示正确预测的数量占总预测数量的比例。* 召回率表示正确预测的正例数量占实际正例数量的比例。* 精确率表示正确预测的正例数量占预测为正例的数量的比例。

结论

本教程介绍了如何使用 Scikit-learn 计算机器学习模型的准确率、召回率和精确率。这些指标提供了对模型性能的全面评估,可以帮助您针对您的特定任务选择最佳模型。


原文地址: http://www.cveoy.top/t/topic/7ab 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录