⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clusterscoretest.java

📁 一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能
💻 JAVA
字号:
package com.aliasi.test.unit.cluster;import com.aliasi.classify.PrecisionRecallEvaluation;import com.aliasi.cluster.ClusterScore;import com.aliasi.test.unit.BaseTestCase;import java.util.HashSet;import java.util.Set;public class ClusterScoreTest extends BaseTestCase {    Set elts1 = set(new Object[] { "1" });    Set elts2 = set(new Object[] { "2" });    Set elts12 = set(new Object[] { "1", "2" });    Set elts12345 = set(new Object[] { "1", "2", "3", "4", "5" });    Set elts67 = set(new Object[] { "6", "7" });    Set elts89ABC = set(new Object[] { "8", "9", "A", "B", "C" });    Set elts6789ABC = set(new Object[] { "6", "7", "8", "9", "A", "B", "C" });    Set elts1234589ABC = set(new Object[] { "1", "2", "3", "4", "5", "8", "9", "A", "B", "C" });    Set partition1 = set(new Object[] { elts1 });    Set partition2 = set(new Object[] { elts2 });    Set partition12 = set(new Object[] { elts12 });    Set partition1_2 = set(new Object[] { elts1, elts2 });    Set partition12345_67_89ABC = set(new Object[] { elts12345, elts67, elts89ABC });    Set partition12345_6789ABC  = set(new Object[] { elts12345, elts6789ABC });    Set partition1234589ABC_67 = set(new Object[] { elts1234589ABC, elts67 });    Set bogusPartition = set(new Object[] { elts1, elts12 });    static Set set(Object[] xs) {        HashSet set = new HashSet();        for (int i = 0; i < xs.length; ++i)            set.add(xs[i]);        return set;    }    public void testStandard() {	// TP=1 TN=0	// FP=0 FN=0	ClusterScore scorer = new ClusterScore(partition1,partition1);	PrecisionRecallEvaluation prEval = scorer.equivalenceEvaluation();	assertEquals(1.0,prEval.precision(),0.0001);	assertEquals(1.0,prEval.recall(),0.0001);	assertEquals(1.0,prEval.fMeasure(),0.0001);	assertEquals(1.0,scorer.mucPrecision(),0.0001);	assertEquals(1.0,scorer.mucRecall(),0.0001);	assertEquals(1.0,scorer.mucF(),0.0001);	assertEquals(1.0,scorer.b3ElementPrecision(),0.0001);	assertEquals(1.0,scorer.b3ElementRecall(),0.0001);	assertEquals(1.0,scorer.b3ElementF(),0.0001);	assertEquals(1.0,scorer.b3ClusterPrecision(),0.0001);	assertEquals(1.0,scorer.b3ClusterRecall(),0.0001);	assertEquals(1.0,scorer.b3ClusterF(),0.0001);	//  TP=4 TN=0	//  FP=0 FN=0	scorer = new ClusterScore(partition12,partition12);	prEval = scorer.equivalenceEvaluation();	assertEquals(1.0,prEval.precision(),0.0001);	assertEquals(1.0,prEval.recall(),0.0001);	assertEquals(1.0,prEval.fMeasure(),0.0001);	assertEquals(1.0,scorer.mucPrecision(),0.0001);	assertEquals(1.0,scorer.mucRecall(),0.0001);	assertEquals(1.0,scorer.mucF(),0.0001);	assertEquals(1.0,scorer.b3ElementPrecision(),0.0001);	assertEquals(1.0,scorer.b3ElementRecall(),0.0001);	assertEquals(1.0,scorer.b3ElementF(),0.0001);	assertEquals(1.0,scorer.b3ClusterPrecision(),0.0001);	assertEquals(1.0,scorer.b3ClusterRecall(),0.0001);	assertEquals(1.0,scorer.b3ClusterF(),0.0001);	//  TP=2 TN=2	//  FP=0 FN=0	scorer = new ClusterScore(partition1_2,partition1_2);	prEval = scorer.equivalenceEvaluation();	assertEquals(1.0,prEval.precision(),0.0001);	assertEquals(1.0,prEval.recall(),0.0001);	assertEquals(1.0,prEval.fMeasure(),0.0001);	assertEquals(1.0,scorer.mucPrecision(),0.0001);	assertEquals(1.0,scorer.mucRecall(),0.0001);	assertEquals(1.0,scorer.mucF(),0.0001);	assertEquals(1.0,scorer.b3ElementPrecision(),0.0001);	assertEquals(1.0,scorer.b3ElementRecall(),0.0001);	assertEquals(1.0,scorer.b3ElementF(),0.0001);	assertEquals(1.0,scorer.b3ClusterPrecision(),0.0001);	assertEquals(1.0,scorer.b3ClusterRecall(),0.0001);	assertEquals(1.0,scorer.b3ClusterF(),0.0001);	//  TP=104 TN=40	//  FP=0 FN=0	scorer = new ClusterScore(partition1234589ABC_67,partition1234589ABC_67);	prEval = scorer.equivalenceEvaluation();	assertEquals(1.0,prEval.precision(),0.0001);	assertEquals(1.0,prEval.recall(),0.0001);	assertEquals(1.0,prEval.fMeasure(),0.0001);	assertEquals(1.0,scorer.mucPrecision(),0.0001);	assertEquals(1.0,scorer.mucRecall(),0.0001);	assertEquals(1.0,scorer.mucF(),0.0001);	assertEquals(1.0,scorer.b3ElementPrecision(),0.0001);	assertEquals(1.0,scorer.b3ElementRecall(),0.0001);	assertEquals(1.0,scorer.b3ElementF(),0.0001);	assertEquals(1.0,scorer.b3ClusterPrecision(),0.0001);	assertEquals(1.0,scorer.b3ClusterRecall(),0.0001);	assertEquals(1.0,scorer.b3ClusterF(),0.0001);	// TP=2 TN=0	// FP=2 FN=0	scorer = new ClusterScore(partition1_2,partition12);	prEval = scorer.equivalenceEvaluation();	assertEquals(0.5,prEval.precision(),0.0001);	assertEquals(1.0,prEval.recall(),0.0001);	assertEquals(0.66666,prEval.fMeasure(),0.0001);	assertEquals(0.0,scorer.mucPrecision(),0.0001);	assertEquals(1.0,scorer.mucRecall(),0.0001);	assertEquals(0.0,scorer.mucF(),0.0001);	assertEquals(0.5,scorer.b3ElementPrecision(),0.0001);	assertEquals(1.0,scorer.b3ElementRecall(),0.0001);	assertEquals(1.0/1.5,scorer.b3ElementF(),0.0001);	assertEquals(0.5,scorer.b3ClusterPrecision(),0.0001);	assertEquals(1.0,scorer.b3ClusterRecall(),0.0001);	assertEquals(1.0/1.5,scorer.b3ClusterF(),0.0001);	// TP=2 TN=0	// FP=0 FN=2	scorer = new ClusterScore(partition12,partition1_2);	prEval = scorer.equivalenceEvaluation();	assertEquals(1.0,prEval.precision(),0.0001);	assertEquals(0.5,prEval.recall(),0.0001);	assertEquals(0.66666,prEval.fMeasure(),0.0001);	assertEquals(1.0,scorer.mucPrecision(),0.0001);	assertEquals(0.0,scorer.mucRecall(),0.0001);	assertEquals(0.0,scorer.mucF(),0.0001);	assertEquals(1.0,scorer.b3ElementPrecision(),0.0001);	assertEquals(0.5,scorer.b3ElementRecall(),0.0001);	assertEquals(1.0/1.5,scorer.b3ElementF(),0.0001);	assertEquals(1.0,scorer.b3ClusterPrecision(),0.0001);	assertEquals(0.5,scorer.b3ClusterRecall(),0.0001);	assertEquals(1.0/1.5,scorer.b3ClusterF(),0.0001);	// TP=54 TN=70	// FP=20 FN=0	scorer = new ClusterScore(partition12345_67_89ABC,partition12345_6789ABC);	prEval = scorer.equivalenceEvaluation();	assertEquals(0.729729729,prEval.precision(),0.0001);	assertEquals(1.0,prEval.recall(),0.0001);	assertEquals(0.9,scorer.mucPrecision(),0.0001);	assertEquals(1.0,scorer.mucRecall(),0.0001);	assertEquals(0.7619,scorer.b3ElementPrecision(),0.0001);	assertEquals(1.0,scorer.b3ElementRecall(),0.0001);	assertEquals(0.7959,scorer.b3ClusterPrecision(),0.0001);	assertEquals(1.0,scorer.b3ClusterRecall(),0.0001);    	// TP=54 TN=70	// FP=0 FN=20	scorer = new ClusterScore(partition12345_6789ABC,partition12345_67_89ABC);	prEval = scorer.equivalenceEvaluation();	assertEquals(1.0,prEval.precision(),0.0001);	assertEquals(0.729729729,prEval.recall(),0.0001);	assertEquals(2.0 * 0.729729729 / (1.729729729),		     prEval.fMeasure(),0.0001);	assertEquals(20,prEval.falseNegative());	assertEquals(1.0,scorer.mucPrecision(),0.0001);	assertEquals(0.9,scorer.mucRecall(),0.0001);	assertEquals(1.0,scorer.b3ElementPrecision(),0.0001);	assertEquals(0.7619,scorer.b3ElementRecall(),0.0001);	assertEquals(1.0,scorer.b3ClusterPrecision(),0.0001);	assertEquals(0.7959,scorer.b3ClusterRecall(),0.0001);	// TP=54 TN=40	// FP=50 FN=0	scorer = new ClusterScore(partition12345_67_89ABC,partition1234589ABC_67);	prEval = scorer.equivalenceEvaluation();	assertEquals(0.519230769,prEval.precision(),0.0001);	assertEquals(1.0,prEval.recall(),0.0001);	assertEquals(0.9,scorer.mucPrecision(),0.0001);	assertEquals(1.0,scorer.mucRecall(),0.0001);	assertEquals(2 * .9 / 1.9,scorer.mucF(),0.0001);	assertEquals(0.58333,scorer.b3ElementPrecision(),0.0001);	assertEquals(1.0,scorer.b3ElementRecall(),0.0001);	assertEquals(0.75,scorer.b3ClusterPrecision(),0.0001);	assertEquals(1.0,scorer.b3ClusterRecall(),0.0001);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -