2013-04-21 4 views
0

설문 조사 온라인에서 얻은 ARFF 파일이 있습니다.
나는 사람들로부터 충분한 것을 얻을 수 없기 때문에 (리샘플링?) 더 많은 인스턴스를 생성하고 싶다.
WEKA 필터 resample (필터> 감독> 인스턴스> resample - sameplsSizePercent를 800.0)으로 시도했지만 많은 인스턴스가 정확히 일치하므로 100 %의 정확도를 얻었습니다.
파이썬이나 그 밖의 방법으로이를 수행하는 방법을 찾았지만 현재의 데이터 집합을 사용하여 더 많은 클러스터 지향적으로 인스턴스화하는 것을 선호합니다.스트림 생성기 ARFF

감사합니다,
Chura

답변

0

나는 강하게 당신이 그것을 자바 방법을 수행하는 것이 좋습니다. 배열에서 .arff 파일을 만드는 예제가 많이 있습니다. 거기에서 간단한 방법으로 속성과 값을 수동으로 변경할 수 있습니다. 예일 수 있습니다.

FastVector atts = new FastVector(); 
List<Instance> instances = new ArrayList<Instance>(); 
for(int dim = 0; dim < numDimensions; dim++) 
{ 
// Create new attribute/dimension 
Attribute current = new Attribute("Attribute" + dim, dim); 
// Create an instance for each data object 
if(dim == 0) 
{ 
    for(int obj = 0; obj < numInstances; obj++) 
    { 
     instances.add(new SparseInstance(numDimensions)); 
    } 
} 

// Fill the value of dimension "dim" into each object 
for(int obj = 0; obj < numInstances; obj++) 
{ 
    instances.get(obj).setValue(current, data[dim][obj]); 
} 

// Add attribute to total attributes 
atts.addElement(current); 
} 

// Create new dataset 
Instances newDataset = new Instances("Dataset", atts, instances.size()); 

// Fill in data objects 
for(Instance inst : instances) 
newDataset.add(inst); 
+1

결과를 다시 샘플링하기 위해 SMOTE를 사용할 수 있었으므로 괜찮습니다. 나는 그것의 더 많은 것이 "최소한"연장한다고 생각한다. – Chura