使用 Scikit-learn 评估机器学习模型的准确率、召回率和精确率
使用 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 著作权归作者所有。请勿转载和采集!