如何使用 Tensorflow 和 Estimator 查找 titanic 数据集上的 ROC 曲线?
可以使用 Tensorflow 和 Estimator 在 ‘sklearn.metrics’ 包中的 ‘roc_curve’ 的帮助下查找 titanic 数据集上的 ROC 曲线。‘plot’ 方法绘制数据,‘show’方法用于在控制台上显示此图。
阅读更多: 什么是 TensorFlow,以及 Keras 如何与 TensorFlow 配合使用来创建神经网络?
我们将使用 Keras Sequential API,它有助于构建用于处理普通层堆栈的顺序模型,其中每个层都有一个输入张量和一个输出张量。
包含至少一个层的神经网络称为卷积层。我们可以使用卷积神经网络构建学习模型。
我们使用 Google Colaboratory 运行以下代码。Google Colab 或 Colaboratory 有助于在浏览器上运行 Python 代码,无需配置,可以免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。
Estimator 是 TensorFlow 对完整模型的高级表示。它旨在轻松扩展和异步训练。我们将使用 tf.estimator API 训练逻辑回归模型。该模型用作其他算法的基线。我们使用泰坦尼克号数据集,目的是根据性别、年龄、舱位等特征预测乘客的生存情况。
估算器使用特征列来描述模型如何解释原始输入特征。估算器需要一个数字输入向量,特征列将有助于描述模型应如何转换数据集中的每个特征。
示例
print("Trade off between true positive rate and false positive rate")
from sklearn.metrics import roc_curve
fpr, tpr, _ = roc_curve(y_eval, probs)
plt.plot(fpr, tpr)
plt.title('ROC curve')
plt.xlabel('false positive rate')
plt.ylabel('true positive rate')
plt.xlim(0,)
plt.ylim(0,)
plt.show()
代码来源 −https://www.tensorflow.org/tutorials/estimator/boosted_trees
输出

解释
接收者操作特性 (ROC) 曲线可用于可视化数据。
这有助于理解真阳性率和假阳性率之间的权衡。

