简介
在机器学习中,评估模型预测的质量非常重要。这有助于我们了解模型的性能如何,以及它是否可以被信任来做出准确的预测。scikit-learn 库提供了几种指标和评分方法来量化预测的质量。
在本实验中,我们将探索 scikit-learn 提供的三种不同的模型评估 API:估计器评分方法、评分参数和指标函数。
虚拟机提示
虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作的验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
估计器评分方法
估计器评分方法是 scikit-learn 为每个估计器提供的默认评估标准。它计算一个代表模型预测质量的分数。你可以在每个估计器的文档中找到更多相关信息。
以下是对一个估计器使用 score 方法的示例:
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
X, y = load_digits(return_X_y=True)
clf = LogisticRegression()
clf.fit(X, y)
score = clf.score(X, y)
print("Score:", score)
评分参数
Scikit-learn 在一些模型评估工具中提供了一个“scoring”参数,比如交叉验证和网格搜索。“scoring”参数控制在评估期间应用于估计器的指标。
以下是在交叉验证中使用“scoring”参数的示例:
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
X, y = load_digits(return_X_y=True)
clf = LogisticRegression()
scores = cross_val_score(clf, X, y, cv=5, scoring='accuracy')
print("Scores:", scores)
指标函数
scikit-learn 的 metrics 模块实现了几个用于特定目的评估预测误差的函数。这些函数可用于计算模型预测的质量。
以下是使用 metrics 模块中的 accuracy_score 函数的示例:
from sklearn.metrics import accuracy_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
clf = LogisticRegression()
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
总结
在本实验中,我们学习了 scikit-learn 提供的三种不同的模型评估 API:估计器评分方法、评分参数和指标函数。这些 API 使我们能够评估模型预测的质量,并了解模型的性能如何。