How to load String Array to RM? Java

kemoc
kemoc New Altair Community Member
edited November 5 in Community Q&A
Hi,
I don't know how to load string vales to RM?

Answers

  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    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,
    Marco
  • kemoc
    kemoc New Altair Community Member
    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
    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.
  • Marco_Boeck
    Marco_Boeck New Altair Community Member
    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();
    Regards,
    Marco