How to load String Array to RM? Java
kemoc
New Altair Community Member
Answers
-
Hi,
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,
Marco0 -
I would load to the RM data with String values from Java file, for example from Map<Integer, ArrayList<String>>, it represent a table.Marco Boeck wrote:
Hi,
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
com.rapidminer.example.set.* - accept only numeric values.
0 -
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:
Regards,
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();
Marco0