我在下面有这个类,我根据wiki和论文中给出的例子构建它,为什么SympleKMeans不能处理数据?该类可以打印Datasource dados,因此处理文件没有任何问题,错误在构建上.
package slcct;
import weka.clusterers.ClusterEvaluation;
import weka.clusterers.SimpleKMeans;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
public class Cluster {
public String path;
public Instances dados;
public String[] options = new String[2];
public Cluster(String caminho, int nclusters, int seed ){
this.path = caminho;
this.options[0] = String.valueOf(nclusters);
this.options[1] = String.valueOf(seed);
}
public void ledados() throws Exception{
DataSource source = new DataSource(path);
dados = source.getDataSet();
System.out.println(dados)
if(dados.classIndex()==-1){
dados.setClassIndex(dados.numAttributes()-1);
}
}
public void imprimedados(){
for(int i=0; i<dados.numInstances();i++)
{
Instance actual = dados.instance(i);
System.out.println((i+1) + " …Run Code Online (Sandbox Code Playgroud) 我有以下代码,其中逐行读取.csv文件,并存储在String [] nextline中,其中nextline [i]由解析文件的相应内容填充.我在读取.csv文件时没有遇到任何问题,但我确实将它们存储在另一个String []中,因为System.out.println()为所有行提供了以下结果:
Nextline[1]=Jan 4, 2011 18:33:15.988422000 / predata=null / Nextline[4]=54 / size:0
Run Code Online (Sandbox Code Playgroud)
如您所见,Strin []具有null值,为什么内容未传递?提前致谢
public class Amostra {
int[] id = new int[20000];
String[] predata = new String[20000];
int[] size = new int[20000];
Amostra(String namefile) throws FileNotFoundException, IOException {
Csv2Array(namefile);
}
private void Csv2Array(String newfile) throws FileNotFoundException, IOException
{
String[] nextline;
int j = 0;
int i = 0;
CSVReader reader = new CSVReader(new FileReader(newfile), ';', '\'', 1);
while((nextline = reader.readNext()) != null){
predata[i] = nextline[1];
size[i] …Run Code Online (Sandbox Code Playgroud)