利用有监督的离散算法对数据集的属性进行离散,并保存离散后的数据集

本文介绍了一个使用WEKA进行数据离散化的Java示例程序。该程序读取了ARFF文件格式的数据集,并利用WEKA的Discretize过滤器对数据进行了离散化处理,最终将处理后的数据保存为新的ARFF文件。

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

import weka.core.Instances;
import weka.core.converters.ArffLoader;
import weka.core.converters.ArffSaver;  
import weka.core.converters.CSVLoader;
import weka.core.converters.ConverterUtils.DataSink;
import weka.core.converters.ConverterUtils.DataSource;
import weka.filters.Filter;
import weka.filters.supervised.attribute.Discretize;
import weka.filters.unsupervised.attribute.Standardize;


import java.io.File;  
import java.io.IOException;  




public class Test_2 {


/**
* @param args
* @throws Exception 
*/


void Discretize_Data(String filename) throws Exception
{
Instances instances=DataSource.read(filename); 
System.out.println(instances.toSummaryString());


instances.setClassIndex(instances.numAttributes() - 1); 


Discretize discretize = new Discretize(); 
String[] options = new String[6]; 
options[0] = "-B"; 
options[1] = "8"; 
options[2] = "-M"; 
options[3] = "-1.0"; 
options[4] = "-R"; 
options[5] = "2-last"; 
discretize.setOptions(options); 
discretize.setInputFormat(instances); 
Instances newInstances2 = Filter.useFilter(instances, discretize); 
System.err.println(newInstances2.toSummaryString()); 
DataSink.write("C:/Users/PC/Desktop/newcpu.arff", newInstances2); 
}



public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub

Test_2 t =new Test_2();
String data_file="C:/Program Files (x86)/Weka-3-5/data/segment-challenge.arff";
t.Discretize_Data(data_file);
}


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值