数据挖掘-WEKA教程完整版.ppt
INSTANCES
ARFFFILE
3.5.5ANDNEWER使用DataSource类可读入ARFF、CSV以及其它可通过Converter导入的文件importweka.core.converters.ConverterUtils.DataSource;...DataSourcesource=newDataSource(/some/where/data.arff);Instancesdata=source.getDataSet();//settingclassattributeifthedataformatdoesnotprovidethisinformationif(data.classIndex()==-1)data.setClassIndex(data.numAttributes()-1);OPTIONHANDLINGWeka通过以下两个方法来设置和获取参数选项voidsetOptions(String[]options)String[]getOptions()有多种方式设置选项手工生成一个字符串String[]options=newString[2];options[0]=-R;options[1]=1;用splitOptions方法将一个命令行串变成字符串数组String[]options=weka.core.Utils.splitOptions(-R1);FILTER一个过滤器有两个重要性质supervised或unsupervisedattribute-based或instance-based大多数过滤器都实现了OptionHandler接口,这意味着你可以用String数组来设置选项,而无需用set-方法。例如,假设你要删除数据集的第一个实例,你可以执行weka.filters.unsupervised.attribute.Remove–R1设data为一个Instances对象,则可按以下方式创建和应用一个Filterimportweka.core.Instances;importweka.filters.Filter;importweka.filters.unsupervised.attribute.Remove;...String[]options=newString[2];options[0]=-R;//rangeoptions[1]=1;//firstattributeRemoveremove=newRemove();//newinstanceoffilterremove.setOptions(options);//setoptionsremove.setInputFormat(data);//informfilteraboutdataset**AFTER**settingoptionsInstancesnewData=Filter.useFilter(data,remove);BUILDINGACLASSIFIER
BATCH使用buildClassifier(Instances)方法在给定的数据集Instances上建立分类器importweka.classifiers.trees.J48;...String[]options=newString[1];options[0]=-U;//unprunedtreeJ48tree=newJ48();//newinstanceoftreetree.setOptions(options);//settheoptionstree.buildClassifier(data);//buildclassifierBUILDINGACLASSIFIER
INCREMENTAL实现了weka.classifiers.UpdateableClassifier接口的分类器可以被增量地训练,这样节省了内存,因为数据无需一次性地全部装入内存。训练增量分类器的过程:CallbuildClassifier(Instances)withthestructureofthedataset(mayormaynotcontainanyactualdatarows).SubsequentlycalltheupdateClassifier(I