weka - online - Omitir la función al clasificar, pero mostrar la función en la salida
online meta tags wizard (2)
Digamos que follwo son los atributos en bbcsport.arff que desea eliminar y se encuentra en un archivo attributes.txt línea por línea.
serena
servir
Servicio
conjuntos
sorprendentes
tenis
tiebreak
torneos
Wimbledon
..
Aquí es cómo puede incluir o excluir los atributos estableciendo verdadero o falso. (mutuamente esquivo) remove.setInvertSelection ( falso )
BufferedReader datafile = new BufferedReader(new FileReader("bbcsport.arff"));
BufferedReader attrfile = new BufferedReader(new FileReader("attributes.txt"));
Instances data = new Instances(datafile);
List<Integer> myList = new ArrayList<Integer>();
String line;
while ((line = attrfile.readLine()) != null) {
for (n = 0; n < data.numAttributes(); n++) {
if (data.attribute(n).name().equalsIgnoreCase(line)) {
if(!myList.contains(n))
myList.add(n);
}
}
}
int[] attrs = myList.stream().mapToInt(i -> i).toArray();
Remove remove = new Remove();
remove.setAttributeIndicesArray(attrs);
remove.setInvertSelection(false);
remove.setInputFormat(data); // init filter
Instances filtered = Filter.useFilter(data, remove);
''filtrado'' tiene los atributos finales ..
Mi blog ... http://ojaslabs.com/include-exclude-attributes-in-weka
He creado un conjunto de datos que contiene +/- 13000 filas con +/- 50 características. Sé cómo dar salida a cada resultado de clasificación: predicción y real, pero me gustaría poder mostrar algún tipo de ID con esos resultados. Así que agregué una columna de ID a mi conjunto de datos, pero no sé cómo ignorar la ID al momento de la clasificación, al mismo tiempo que puedo generar la ID con cada resultado de predicción. Sé cómo seleccionar características para dar salida con cada predicción.