让我们从一些亮点开始。
- weka将每个实例值存储为double []。因此,您创建double [] instancevalue1并将值添加到此数组。
- 偶数字符串也存储在此double []中。您可以使用以下代码添加字符串值:
instancevalue1 [0] = dataRaw.attribute(0).addStringValue(“这是一个字符串!”);
- 实例是接口,由两个类{SparseInstance,DenseInstance}实现。我们使用以下代码将值数组添加到数据集中:
dataRaw.add(new DenseInstance(1.0,instancevalue1));
这是完整的运行示例:
import java.util.ArrayList;import weka.core.Attribute;import weka.core.DenseInstance;import weka.core.Instance;import weka.core.Instances;public class Program { public static void main(String[] args) { ArrayList<Attribute> atts = new ArrayList<Attribute>(2); ArrayList<String> classVal = new ArrayList<String>(); classVal.add("A"); classVal.add("B"); atts.add(new Attribute("content",(ArrayList<String>)null)); atts.add(new Attribute("@@class@@",classVal)); Instances dataRaw = new Instances("TestInstances",atts,0); System.out.println("Before adding any instance"); System.out.println("--------------------------"); System.out.println(dataRaw); System.out.println("--------------------------"); double[] instancevalue1 = new double[dataRaw.numAttributes()]; instancevalue1[0] = dataRaw.attribute(0).addStringValue("This is a string!"); instancevalue1[1] = 0; dataRaw.add(new DenseInstance(1.0, instancevalue1)); System.out.println("After adding a instance"); System.out.println("--------------------------"); System.out.println(dataRaw); System.out.println("--------------------------"); double[] instancevalue2 = new double[dataRaw.numAttributes()]; instancevalue2[0] = dataRaw.attribute(0).addStringValue("This is second string!"); instancevalue2[1] = 1; dataRaw.add(new DenseInstance(1.0, instancevalue2)); System.out.println("After adding second instance"); System.out.println("--------------------------"); System.out.println(dataRaw); System.out.println("--------------------------"); }}其输出如下:
Before adding any instance--------------------------@relation TestInstances@attribute content string@attribute @@class@@ {A,B}@data--------------------------After adding a instance--------------------------@relation TestInstances@attribute content string@attribute @@class@@ {A,B}@data'This is a string!',A--------------------------After adding second instance--------------------------@relation TestInstances@attribute content string@attribute @@class@@ {A,B}@data'This is a string!',A'This is second string!',B--------------------------


