auc_cn.rst 1.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
.. _cn_api_fluid_layers_auc:

auc
-------------------------------

.. py:function:: paddle.fluid.layers.auc(input, label, curve='ROC', num_thresholds=4095, topk=1, slide_steps=1)

**Area Under the Curve(AUC) Layer**

该层根据前向输出和标签计算AUC,在二分类(binary classification)估计中广泛使用。

注:如果输入标注包含一种值,只有0或1两种情况,数据类型则强制转换成布尔值。相关定义可以在这里: https://en.wikipedia.org/wiki/Receiver_operating_characteristic#Area_under_the_curve 找到

有两种可能的曲线:

1. ROC:受试者工作特征曲线

2. PR:准确率召回率曲线

参数:
    - **input** (Variable) - 浮点二维变量,值的范围为[0,1]。每一行降序排列。输入应为topk的输出。该变量显示了每个标签的概率。
    - **label** (Variable) - 二维整型变量,表示训练数据的标注。批尺寸的高度和宽度始终为1.
    - **curve** (str) - 曲线类型,可以为 ``ROC`` 或 ``PR``,默认 ``ROC``。
    - **num_thresholds** (int) - 将roc曲线离散化时使用的临界值数。默认200
    - **topk** (int) - 只有预测输出的topk数才被用于auc
    - **slide_steps** - 计算批auc时,不仅用当前步也用先前步。slide_steps=1,表示用当前步;slide_steps = 3表示用当前步和前两步;slide_steps = 0,则用所有步

返回:代表当前AUC的scalar

返回类型:变量(Variable)

**代码示例**:

.. code-block:: python

    import paddle.fluid as fluid
    data = fluid.layers.data(name="data", shape=[32, 32], dtype="float32")
    label = fluid.layers.data(name="label", shape=[1], dtype="int32")
    predict = fluid.layers.fc(input=data, size=2)
Z
zq19 已提交
40
    auc_out=fluid.layers.auc(input=predict, label=label)
41 42 43 44 45 46 47 48