please be more specific. I have absolutely no clue what you want to achieve. But for starters, I'll just post a link that might be interesting to you ... Regards, Marco
I would load to the RM data with String values from Java file, for example from Map<Integer, ArrayList<String>>, it represent a table. com.rapidminer.example.set.* - accept only numeric values.
0
Marco_BoeckAdministrator, Moderator, Employee, Member, University ProfessorPosts: 1,985 RM Engineering
Hi,
please consider loading the data via one of the RM operators in a process you designed. If for some reason that is not feasible, and you really need to do it programmatically, you could try using something along these lines:
MemoryExampleTable table = new MemoryExampleTable(copiedListOfAttributes); double[] doubleArray = null; [...] for (int j=0; j<copiedListOfAttributes.size(); j++) { Attribute a = copiedListOfAttributes.get(j); value = rowList.get(j); // if numerical attribute if (a.isNumerical()) { // put it into the array if (value == null) { doubleArray = Double.NaN; } else { doubleArray = Double.parseDouble(value); } // non-numerical attribute } else { // special case: date attribute if (Ontology.ATTRIBUTE_VALUE_TYPE.isA(a.getValueType(), Ontology.DATE ) || Ontology.ATTRIBUTE_VALUE_TYPE.isA(a.getValueType(), Ontology.DATE_TIME) || Ontology.ATTRIBUTE_VALUE_TYPE.isA(a.getValueType(), Ontology.TIME)) { if (value == null) { doubleArray = Double.NaN; } else { doubleArray = Double.parseDouble(value); } } else { // create a new mapping (cleared earlier) if needed, add resulting index to array if (value == null) { doubleArray = Double.NaN; } else { doubleArray = a.getMapping().mapString(rowList.get(j)); } } } } [...] // add the double array for each row to the ExampleSet table.addDataRow(new DoubleArrayDataRow(doubleArray)); // create example set ExampleSet exSet = table.createExampleSet();
Answers
please be more specific. I have absolutely no clue what you want to achieve.
But for starters, I'll just post a link that might be interesting to you
Click here.
Regards,
Marco
com.rapidminer.example.set.* - accept only numeric values.
please consider loading the data via one of the RM operators in a process you designed. If for some reason that is not feasible, and you really need to do it programmatically, you could try using something along these lines: Regards,
Marco