本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 6 步:评估模型
现在,您已使用 Amazon SageMaker 训练并部署了一个模型,请评估该模型以确保它对新数据生成准确的预测。要进行模型评估,请使用您在中创建的测试数据集。第 3 步:下载、浏览和转换数据集.
评估已部署到的模型 SageMaker 托管服务
要评估模型并在生产中使用该模型,请使用测试数据集调用终端节点,并检查您获取的推理是否返回想要实现的目标准化。
评估模型
-
设置以下函数来预测测试集中的每一行。在以下示例代码中,
rows
参数是指定一次要预测的行数。您可以更改它的值,以执行充分利用实例硬件资源的批量推断。import numpy as np def predict(data, rows=1000): split_array = np.array_split(data, int(data.shape[0] / float(rows) + 1)) predictions = '' for array in split_array: predictions = ','.join([predictions, xgb_predictor.predict(array).decode('utf-8')]) return np.fromstring(predictions[1:], sep=',')
-
运行以下代码来预测测试数据集并绘制直方图。您只需要测试数据集的要素列,不包括实际值的第 0 列。
import matplotlib.pyplot as plt predictions=predict(test.to_numpy()[:,1:]) plt.hist(predictions) plt.show()
-
预测值是浮点型。确定
True
要么False
根据浮点值,你需要设置截止值。如以下示例代码所示,使用 Scikit-Learn 库返回输出混淆指标和截止值为 0.5 的分类报告。import sklearn cutoff=0.5 print(sklearn.metrics.confusion_matrix(test.iloc[:, 0], np.where(predictions > cutoff, 1, 0))) print(sklearn.metrics.classification_report(test.iloc[:, 0], np.where(predictions > cutoff, 1, 0)))
这应返回以下混淆矩阵:
-
要找到与给定测试集合的最佳截止值,请计算 Logistic 回归的对数损失函数。对数丢失函数被定义为逻辑模型的负对数可能性,该模型返回其地面真相标签的预测概率。下面的示例代码以数字方式和迭代方式计算对数损失值 (
-(y*log(p)+(1-y)log(1-p)
),其中y
是真正的标签p
是对应测试样本的概率估计。它返回了日志丢失与截止图。import matplotlib.pyplot as plt cutoffs = np.arange(0.01, 1, 0.01) log_loss = [] for c in cutoffs: log_loss.append( sklearn.metrics.log_loss(test.iloc[:, 0], np.where(predictions > c, 1, 0)) ) plt.figure(figsize=(15,10)) plt.plot(cutoffs, log_loss) plt.xlabel("Cutoff") plt.ylabel("Log loss") plt.show()
这应返回以下日志损失曲线。
-
使用 NumPy 查找错误曲线的最小点
argmin
和min
函数:print( 'Log loss is minimized at a cutoff of ', cutoffs[np.argmin(log_loss)], ', and the log loss value at the minimum is ', np.min(log_loss) )
应返回:
Log loss is minimized at a cutoff of 0.53, and the log loss value at the minimum is 4.348539186773897
.您可以估计成本函数作为替代方案,而不是计算和最大限度地减少日志丢失函数。例如,如果您想训练模型来对业务问题(例如客户流失预测问题)执行二进制分类,则可以为混淆矩阵的元素设置权重并相应地计算成本函数。
现在,您在 SageMaker 中训练、部署并评估了第一个模型。
要监控模型质量、数据质量和偏差偏差,请使用亚马逊 SageMaker 模型监视器和 SageMaker 澄清。要了解更多信息,请参阅亚马逊 SageMaker 模型监控器、监控数据质量、监控模型质量、监控偏差漂移, 和监控功能归因漂移.
要获取对低置信度 ML 预测的人类审核或随机预测样本,请使用 Amazon Advanced Augmented AI 人工审核工作流程。有关更多信息,请参阅 。将 Amazon Augmented AI 用于人类评论.