洛伦兹曲线

洛伦兹曲线(Lorenz Curve)是一种用于描述数据集分布不平等程度的图形表示方法,常用于经济学中分析收入或财富分配。其通过绘制累积人口百分比与累积资源百分比之间的关系曲线,直观地展示了分布的不均衡性。在机器学习中,洛伦兹曲线可以用于评估模型预测的公平性或资源分配的偏差情况。

配置组件

方式一:可视化方式

Designer工作流页面添加洛伦兹曲线组件,并在界面右侧配置相关参数:

参数类型

参数

描述

字段设置

选择字段列

选择用于绘制曲线的特征列。

这个字段列包含了你希望分析其分布不平等程度的数值数据,例如收入、财富、分数等。

参数设置

分位数

指定将数据集划分为多少个等概率的区间,以便绘制曲线。

通过选择合适的分位数,你可以控制曲线的细化程度,从而更详细地分析数据分布的不平等性。

执行调优

计算的核心数

计算的核心数,取值为正整数。

每个核心的内存(MB)

每个核心的内存。

方式二:PAI命令方式

使用PAI命令配置洛伦兹曲线组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见场景4:在SQL脚本组件中执行PAI命令

PAI -name LorenzCurve
    -project algo_public
    -DinputTableName=maple_test_lorenz_basic10_input
    -DcolName=col0
    -DoutputTableName=maple_test_lorenz_basic10_output -DcoreNum=20
    -DmemSizePerCore=110;

参数名称

是否必选

默认值

描述

inputTableName

输入表的名称。

outputTableName

输出表名称列表。

colName

输入表选择列名称。支持选择多列,列之间使用英文逗号(,)分隔。

N

100

分位数。

inputTablePartitions

输入表中,参与训练的分区。系统支持以下格式:

  • partition_name=value

  • name1=value1/name2=value2:多级分区

说明

指定多个分区时,分区之间使用英文逗号(,)分隔,例如name1=value1,value2。

lifecycle

28

指定输出表的生命周期。取值为整数。单位:天。

coreNum

默认自动计算

与参数memSizePerCore配对使用,取值为正整数。系统会根据输入数据量计算所起instance的数量。

memSizePerCore

默认自动计算

单个节点内存大小,单位MB。取值为正整数,取值范围建议为(1024, 64*1024)

使用示例

  1. 生成如下测试数据。

    col0:double

    4

    7

    2

    8

    6

    3

    9

    5

    0

    1

    10

  2. 执行如下PAI命令。

    PAI -name LorenzCurve
        -project algo_public
        -DinputTableName=maple_test_lorenz_basic10_input
        -DcolName=col0
        -DoutputTableName=maple_test_lorenz_basic10_output
        -DcoreNum=20
        -DmemSizePerCore=110;
  3. 查看输出结果,如下表所示。

    quantile

    col0

    0

    0

    1

    0.01818181818181818

    2

    0.01818181818181818

    3

    0.01818181818181818

    4

    0.01818181818181818

    5

    0.01818181818181818

    6

    0.01818181818181818

    7

    0.01818181818181818

    8

    0.01818181818181818

    9

    0.01818181818181818

    10

    0.01818181818181818

    11

    0.05454545454545454

    12

    0.05454545454545454

    13

    0.05454545454545454

    14

    0.05454545454545454

    ...

    ...

    85

    0.8181818181818182

    86

    0.8181818181818182

    87

    0.8181818181818182

    88

    0.8181818181818182

    89

    0.8181818181818182

    90

    1

    91

    1

    92

    1

    93

    1

    94

    1

    95

    1

    96

    1

    97

    1

    98

    1

    99

    1

    100

    1