码迷,mamicode.com
首页 > 其他好文 > 详细

ALINK(三十九):模型评估(四)多标签分类评估 (EvalMultiLabelBatchOp)

时间:2021-06-19 19:12:03      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:title   分类算法   lin   cep   nbsp   print   locale   rank   代码示例   

多标签分类评估 (EvalMultiLabelBatchOp)

Java 类名:com.alibaba.alink.operator.batch.evaluation.EvalMultiLabelBatchOp

Python 类名:EvalMultiLabelBatchOp

功能介绍

多label分类评估是对多label分类算法的预测结果进行效果评估,支持下列评估指标。

技术图片

 

 技术图片

f1

技术图片

参数说明

名称

中文名称

描述

类型

是否必须?

默认值

labelCol

标签列名

输入表中的标签列名

String

?

 

predictionCol

预测结果列名

预测结果列名

String

?

 

labelRankingInfo

Object列列名

Object列列名

String

 

"object"

predictionRankingInfo

Object列列名

Object列列名

String

 

"object"

代码示例

Python 代码

from pyalink.alink import *
import pandas as pd
useLocalEnv(1)
df = pd.DataFrame([
    ["{\"object\":\"[0.0, 1.0]\"}", "{\"object\":\"[0.0, 2.0]\"}"],
    ["{\"object\":\"[0.0, 2.0]\"}", "{\"object\":\"[0.0, 1.0]\"}"],
    ["{\"object\":\"[]\"}", "{\"object\":\"[0.0]\"}"],
    ["{\"object\":\"[2.0]\"}", "{\"object\":\"[2.0]\"}"],
    ["{\"object\":\"[2.0, 0.0]\"}", "{\"object\":\"[2.0, 0.0]\"}"],
    ["{\"object\":\"[0.0, 1.0, 2.0]\"}", "{\"object\":\"[0.0, 1.0]\"}"],
    ["{\"object\":\"[1.0]\"}", "{\"object\":\"[1.0, 2.0]\"}"]
])
source = BatchOperator.fromDataframe(df, "pred string, label string")
evalMultiLabelBatchOp: EvalMultiLabelBatchOp = EvalMultiLabelBatchOp().setLabelCol("label").setPredictionCol("pred").linkFrom(source)
metrics = evalMultiLabelBatchOp.collectMetrics()
print(metrics)

Java 代码

import org.apache.flink.types.Row;
import com.alibaba.alink.operator.batch.BatchOperator;
import com.alibaba.alink.operator.batch.evaluation.EvalMultiLabelBatchOp;
import com.alibaba.alink.operator.batch.source.MemSourceBatchOp;
import com.alibaba.alink.operator.common.evaluation.MultiLabelMetrics;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
public class EvalMultiLabelBatchOpTest {
  @Test
  public void testEvalMultiLabelBatchOp() throws Exception {
    List <Row> df = Arrays.asList(
      Row.of("{\"object\":\"[0.0, 1.0]\"}", "{\"object\":\"[0.0, 2.0]\"}"),
      Row.of("{\"object\":\"[0.0, 2.0]\"}", "{\"object\":\"[0.0, 1.0]\"}"),
      Row.of("{\"object\":\"[]\"}", "{\"object\":\"[0.0]\"}"),
      Row.of("{\"object\":\"[2.0]\"}", "{\"object\":\"[2.0]\"}"),
      Row.of("{\"object\":\"[2.0, 0.0]\"}", "{\"object\":\"[2.0, 0.0]\"}"),
      Row.of("{\"object\":\"[0.0, 1.0, 2.0]\"}", "{\"object\":\"[0.0, 1.0]\"}"),
      Row.of("{\"object\":\"[1.0]\"}", "{\"object\":\"[1.0, 2.0]\"}")
    );
    BatchOperator <?> source = new MemSourceBatchOp(df, "pred string, label string");
    EvalMultiLabelBatchOp evalMultiLabelBatchOp =
      new EvalMultiLabelBatchOp().setLabelCol("label").setPredictionCol(
      "pred").linkFrom(source);
    MultiLabelMetrics metrics = evalMultiLabelBatchOp.collectMetrics();
    System.out.println(metrics.toString());
  }
}

 

-------------------------------- Metrics: --------------------------------
microPrecision:0.7273
microF1:0.6957
subsetAccuracy:0.2857
precision:0.6667
recall:0.6429
accuracy:0.5476
f1:0.6381
microRecall:0.6667
hammingLoss:0.3333

 

 

 

ALINK(三十九):模型评估(四)多标签分类评估 (EvalMultiLabelBatchOp)

标签:title   分类算法   lin   cep   nbsp   print   locale   rank   代码示例   

原文地址:https://www.cnblogs.com/qiu-hua/p/14902375.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!