在Java中使用weka:手动生成并输出对分类器的评估
2014-11-02 23:34
316 查看
书读的少,翻译的不好别打我
文章地址:http://weka.wikispaces.com/Generating+classifier+evaluation+output+manually
在命令行执行分类时,下面的这些代码片段可以解释怎么生成weka输出生成器。可以在 Evaluation类中参考 weka.classifiers.Evaluation。这篇文章仅仅作为综述,需要了解细节的参考 Evaluation类的文档。
模型
如果一个分类器支持输出模型,那么可以在训练之后使用toString()方法。
注意:weka总是基于完全训练集(提供 -t 属性)输出模型,不管交叉验证是否被使用,或者是一个指定的测试集(via-T),十字交叉验证产生的10个模型从来没被输出过。如果你想输出这些模型,你必须自己模拟十字交叉验证(参考 Generating
cross-validation folds (Java approach) 和 Displaying
results of cross-validation folds)。
统计
统计也可以叫做评估的总结。可以通过toSummaryString()方法产生。下面是一个J48交叉验证产生总结的例子。
详细类统计
你可以使用toClassDetailsString()方法,来对每个类产生详细的统计(通过
-i 命令行)。下面再次使用J48交叉验证的列子。
混淆矩阵
混淆矩阵是使用 Evaluation 类的简单的toMatrixString() 或者 toMatrixString(String)方法来进行输出。下面使用基于数据集的J48交叉验证,来输出标准混淆矩阵。
文章地址:http://weka.wikispaces.com/Generating+classifier+evaluation+output+manually
在命令行执行分类时,下面的这些代码片段可以解释怎么生成weka输出生成器。可以在 Evaluation类中参考 weka.classifiers.Evaluation。这篇文章仅仅作为综述,需要了解细节的参考 Evaluation类的文档。
模型
如果一个分类器支持输出模型,那么可以在训练之后使用toString()方法。
Instances data = ... // from somewhere Classifier cls = new weka.classifiers.trees.J48(); cls.buildClassifier(data); System.out.println(cls);
注意:weka总是基于完全训练集(提供 -t 属性)输出模型,不管交叉验证是否被使用,或者是一个指定的测试集(via-T),十字交叉验证产生的10个模型从来没被输出过。如果你想输出这些模型,你必须自己模拟十字交叉验证(参考 Generating
cross-validation folds (Java approach) 和 Displaying
results of cross-validation folds)。
统计
统计也可以叫做评估的总结。可以通过toSummaryString()方法产生。下面是一个J48交叉验证产生总结的例子。
Classifier cls = new J48(); Evaluation eval = new Evaluation(data); Random rand = new Random(1); // using seed = 1 int folds = 10; eval.crossValidateModel(cls, data, folds, rand); System.out.println(eval.toSummaryString());
详细类统计
你可以使用toClassDetailsString()方法,来对每个类产生详细的统计(通过
-i 命令行)。下面再次使用J48交叉验证的列子。
Classifier cls = new J48(); Evaluation eval = new Evaluation(data); Random rand = new Random(1); // using seed = 1 int folds = 10; eval.crossValidateModel(cls, data, folds, rand); System.out.println(eval.toClassDetailsString());
混淆矩阵
混淆矩阵是使用 Evaluation 类的简单的toMatrixString() 或者 toMatrixString(String)方法来进行输出。下面使用基于数据集的J48交叉验证,来输出标准混淆矩阵。
Classifier cls = new J48(); Evaluation eval = new Evaluation(data); Random rand = new Random(1); // using seed = 1 int folds = 10; eval.crossValidateModel(cls, data, folds, rand); System.out.println(eval.toMatrixString());
相关文章推荐
- 在Java中使用weka:ZeroR分类器
- 【java】 iText使用PDF模板生成输出PDF 这个比较清晰
- 【java】 iText使用PDF模板生成输出PDF
- Java IText使用PDF模板 生成 输出PDF
- Weka各类分类器的使用(Java)
- Weka里面各种分类器的使用(Java)
- 【java】 iText使用PDF模板生成输出PDF
- Java IText使用PDF模板 生成 输出PDF
- 如何正确使用Java I/O输出和读入数据
- 使用Java 输出/输出流读写数据
- 用Java生成PDF,iText使用.
- 如何使用JAVA 去很好的控制输出的时间
- 如何正确使用Java I/O输出和读入数据
- java高品质缩略图生成方法,Jmagick使用2
- 使用 Java 进行图像处理 - 编码输出高分辨率图像
- 使用Axis 把WSDL生成JAVA类的命令
- 使用 Java 进行图像处理 - 图像编码输出
- Java使用流读入字符,正确输出读入的字符.
- 使用ASP.NET 2.0 CSS 控件适配器生成CSS友好的HTML输出
- 使用Java 输出/输出流读写数据