我在Java代码中使用了Stanford NLP文本分类器(ColumnDataClassifier)。我有两个主要问题。
1-)如何打印更详细的评估信息,例如混淆矩阵。
2-)我的代码已经进行了预处理并提取了术语的数字特征(向量),例如二进制特征或TF-IDF值。如何使用这些功能来训练和测试分类器。
答案 0 :(得分:1)
我在here中提出了相关问题。 ColumnDataClassifier
无法在混淆矩阵中输出指标。但是,如果查看ColumnDataClassifier.java处的代码,您可以看到TP,FP,TN,FN输出到stdin的位置。这个地方有您需要的原始值。它可以用于将这些聚合成混淆矩阵并在运行后输出的方法,但您必须自己编写此代码。
wiki有一个如何使用ColumnDataClassifier
的数字要素的示例。如果您使用数字特征,请查看API中允许您应用某些转换的这些选项:
realValued boolean false Treat this column as real-valued and do not perform any transforms on the feature value. Value
logTransform boolean false Treat this column as real-valued and use the log of the value as the feature value. Log
logitTransform boolean false Treat this column as real-valued and use the logit of the value as the feature value. Logit
sqrtTransform boolean false Treat this column as real-valued and use the square root of the value as the feature value. Sqrt