标签:title 分类算法 lin cep nbsp print locale rank 代码示例
Java 类名:com.alibaba.alink.operator.batch.evaluation.EvalMultiLabelBatchOp
Python 类名:EvalMultiLabelBatchOp
多label分类评估是对多label分类算法的预测结果进行效果评估,支持下列评估指标。
名称 |
中文名称 |
描述 |
类型 |
是否必须? |
默认值 |
labelCol |
标签列名 |
输入表中的标签列名 |
String |
? |
|
predictionCol |
预测结果列名 |
预测结果列名 |
String |
? |
|
labelRankingInfo |
Object列列名 |
Object列列名 |
String |
"object" |
|
predictionRankingInfo |
Object列列名 |
Object列列名 |
String |
"object" |
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)
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