weka学习(2)——Classifier(类别)

本文介绍了Weka中Classifier的基本使用,包括通过Instances.numAttributes()获取参数数量,使用Instances.setClassIndex(int)设置类别位置,理解J48分类器的原理,以及如何运用Classifier.buildClassifier(Instances)进行文本实例分类,以及Classifier.classifyInstance(Instance)来获取单个记录的类别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:http://quweiprotoss.blog.163.com/blog/static/40882883200810287352690/

 

 

public class ClassifierTest {
	private Instances m_instances = null;

	public void getFileInstances(String fileName) throws Exception {

		FileReader frData = new FileReader(fileName);

		m_instances = new Instances(frData);

		//1、Instances.numAttributes():记录参数的个数
		//2、Instances.setClassIndex(int):设置类别是那一列数据 (列标是从0开始)
		m_instances.setClassIndex(m_instances.numAttributes() - 1);

	}

	public void classify() throws Exception {
		//3、J48是分类器
		J48 classifier = new J48();
		//4、Classifier.buildClassifier(Instances):对文本实例分类
		classifier.buildClassifier(m_instances);
		//5、Classifier.classifyInstance(Instance):获取单个记录的类别
		System.out.println(classifier.classifyInstance(m_instances.instance(0)));
	}

	public static void main(String[] args) throws Exception {
		ClassifierTest ctest = new ClassifierTest();

		ctest.getFileInstances("C:/Program Files/Weka-3-6/data/breast-cancer.arff");

		ctest.classify();
	}
}


 

1、Instances.numAttributes():记录参数的个数

 

2、Instances.setClassIndex(int):设置类别是那一列数据 (列标是从0开始)

 

3、J48是分类器,继承Classifier;

 

4、Classifier.buildClassifier(Instances):对文本实例分类

 

5、Classifier.classifyInstance(Instance):获取单个记录的类别

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值