如何使用Tensorflow和Estimator在泰坦尼克号数据集上找到ROC曲线?
Tensorflow 和 Estimator 可以借助于 'sklearn.metrics' 包中的 'roc_curve' 函数在泰坦尼克号数据集上找到 ROC 曲线。'plot' 方法绘制数据,'show' 方法用于在控制台上显示此绘图。
阅读更多: 什么是 TensorFlow 以及 Keras 如何与 TensorFlow 协作创建神经网络?
我们将使用 Keras Sequential API,它有助于构建一个用于处理层级堆叠的顺序模型,其中每一层都只有一个输入张量和一个输出张量。
包含至少一层卷积层的神经网络称为卷积神经网络。我们可以使用卷积神经网络构建学习模型。
我们正在使用 Google Colaboratory 来运行以下代码。Google Colab 或 Colaboratory 帮助在浏览器上运行 Python 代码,无需任何配置,并且可以免费访问 GPU(图形处理单元)。Colaboratory 建立在 Jupyter Notebook 之上。
Estimator 是 TensorFlow 对完整模型的高级表示。它旨在实现轻松扩展和异步训练。我们将使用 tf.estimator API 训练一个逻辑回归模型。该模型用作其他算法的基线。我们使用泰坦尼克号数据集,目标是根据性别、年龄、等级等特征预测乘客的生存情况。
Estimator 使用特征列来描述模型如何解释原始输入特征。Estimator 期望一个数值输入向量,特征列将有助于描述模型应该如何转换数据集中每个特征。
示例
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://tensorflowcn.cn/tutorials/estimator/boosted_trees
输出
解释
接收者操作特征(ROC)曲线可用于可视化数据。
这有助于了解真阳性率和假阳性率之间的权衡。