weka java 分类算法_调用Weka算法实现文本分类

本文介绍了一个利用Weka的Java程序,通过StringToWordVector过滤器预处理文本,然后使用J48分类器进行文本分类。程序允许用户训练模型或使用已有的模型对文本进行分类。
摘要由CSDN通过智能技术生成

1介绍:嵌入式机器学习,在自己的算法中调用Weka实现文本分类,是一个小的数据挖掘程序,虽然实用价值不是很大,但对于Weka的理解和使用是有帮助的。本例子来自《数据挖掘:实用机器学习技术》第2版(好像是倒数第三章)。大家可以到http://blogger.org.cn/blog/message.asp?name=DMman#23691下载该书察看对算法的详细解释。算法中作了详细的注释,虽然是英文的,但还是比较简单。下面对例子的使用作了浅显的介绍,有兴趣的朋友可以研究。

2功能:使用weka中的j48分类器实现了文本分类的一个小程序。文本文件通过weka的过滤器StringToWordVector预处理。

3注意:把weka.jar加入你的classpath中,才可以通过编译。

4使用方法:

命令行参数:

-t 文本文件路径

-m 你的模型文件路径

-c 可选,类别(hit 或 miss)

如果提供了-c则用于训练,否则被模型分类,输出该文本的类型(hit或miss)

模型是动态建立的,第一次使用命令行必须指定-c参数,才可以建立模型。

1) 建立模型

>java MessageClassifier -t data/1.bmp -m myModel -c hit

可以看到myModel建立了。然后继续训练一下这个模型。使用的文本实例越多,模型的分类性能越好

>java MessageClassifier -t data/2.bmp -m myModel -c hit

>java MessageClassifier -t data/1.gif -m myModel -c miss

......

2) 使用模型分类

有了模型,就可以使用它为文本文件分类了,如

>java MessageClassifier -t data/2.gif -m myModel

3) 可以使用提供-c参数的命令继续完善模型

原文件MessageClassifier .java/**

* Java program for classifying text messages into two classes.

*/

import weka.core.Attribute;

import weka.core.Instance;

import weka.core.Instances;

import weka.core.FastVector;

import weka.core.Utils;

import weka.classifiers.Classifier;

import weka.classifiers.trees.J48

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值