"Octave extension puts incorrect number of attributes into exampleSet"

owenowen Member Posts: 22 Contributor II
edited June 2019 in Help
Hello all,

I have an issue where Octave extension for RapidMiner does not create the expected attributes.

My data has 10 attributes consisting of 1 with id role and 9 with regular role.
After import using Octminer, the resulting ExampleSet has 1 id attribute and only 1 regular attribute.
And the summary line of the metadata view reads "ExampleSet (4 examples, 2 special attributes, 0 regular attribute)"
I expected "ExampleSet (4 examples, 1 special attribute, 9 regular attributes)".

RM version 5.3.015
Octave plugin 2.1.005
Octave version 3.2.4
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.1) (7u65-2.5.1-4ubuntu1~0.12.04.2)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

To recreate the issue,
1. Have RapidMiner Octave extension installed.
2. Save the quoted XML below as a process
3. Store the quoted data file into Local Repository/m-files/OctMinerAttributeIssue.mat . You may have to create a folder "m-files" in your repo.

What is stored in the .mat file is the desired exampleset in two alternative formats.
resultCellES is output of /RapidminerOctave/RapidMiner_Plugin_Octave_Vega_SupportFunctions-2.0.2/m/createCellExampleSet.m
resultStructES is output of /RapidminerOctave/RapidMiner_Plugin_Octave_Vega_SupportFunctions-2.0.2/m/createStructExampleSet.m
Neither format is successfully converted to a RapidMiner ExampleSet.
The process is configured to attempt to convert resultCellES.

In summary, the data in the mat file has dimension (4,10) but is loaded into RapidMiner with dimension (4,2).

I appreciate any suggestions you might have on how to resolve this.

Quoted below is first the process code, then the datafile code.

Regards,

Owen

Process
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.3.015">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="5.3.015" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="octave:octave_script_op" compatibility="2.1.005" expanded="true" height="76" name="OctaveScript" width="90" x="179" y="120">
        <parameter key="script" value="%% ================= New octave script ===================&#10;%&#10;% Useful properties: &lt;UUID&gt;, &lt;Current_Directory&gt;, &lt;Rapidminer_Directory&gt; &#10;% Useful commands: &#10;% * save(&quot;-v7&quot;,&quot;&lt;Current_Directory&gt;\\test.mat&quot;,&quot;VariableName&quot;);&#10;% * addpath(&quot;&lt;Current_Directory&gt;\\myFunction.m&quot;);&#10;% &#10;% * [encodedData name role levels]=openExampleSet(Input);&#10;% * StructOutput= createStructExampleSet(encodedData,name,role,levels);&#10;% * CellOutput= createCellExampleSet(encodedData,name,role,levels);&#10;% &#10;%% ================ (enter your code below) ============ &#10;cur_dir_&lt;UUID&gt; = '&lt;Current_Directory&gt;';&#10;cur_dir_&lt;UUID&gt;(cur_dir_&lt;UUID&gt;=='\')='/'; % force forward slash&#10;addpath([cur_dir_&lt;UUID&gt;,'/../m-files']);&#10;load OctMinerAttributeIssue.mat&#10;exampleSetOut_&lt;UUID&gt; = resultCellES;&#10;%exampleSetOut_&lt;UUID&gt; = resultStructES; &#10;&#10;"/>
        <list key="inputs"/>
        <list key="results">
          <parameter key="exampleSetOut_&lt;UUID&gt;" value="Data Table"/>
        </list>
      </operator>
      <connect from_op="OctaveScript" from_port="output 1" to_port="result 1"/>
      <portSpacing port="source_input 1" spacing="0"/>
      <portSpacing port="sink_result 1" spacing="0"/>
      <portSpacing port="sink_result 2" spacing="0"/>
    </process>
  </operator>
</process>
OctMinerAttributeIssue.mat
# Created by Octave 3.2.4, Tue Oct 14 09:39:57 2014 EDT <[email protected]>
# name: resultCellES
# type: cell
# rows: 3
# columns: 10
# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
sample_1
# name: <cell-element>
# type: string
# elements: 1
# length: 2
id
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0
1
2
3

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
time_sec_2
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0
0.003333333333333334
0.006666666666666667
0.01

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 5
ECG_3
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
GSR real_4
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
temperature 1_5
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 5
ECG_6
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0
0
0
0

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 13
ECG quality_7
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 12
heart rate_8
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
72.005
72.005
72.005
72.005

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 6
SDRR_9
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0.31059375
0.31059375
0.31059375
0.31059375

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 11
activity_10
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
-0.00146520146520146
-0.00146520146520146
-0.00146520146520146
-0.00146520146520146

# name: resultStructES
# type: struct
# length: 4
# name: name
# type: cell
# rows: 1
# columns: 1
# name: <cell-element>
# type: cell
# rows: 1
# columns: 10
# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
sample_1

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
time_sec_2

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 5
ECG_3

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
GSR real_4

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
temperature 1_5

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 5
ECG_6

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 13
ECG quality_7

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 12
heart rate_8

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 6
SDRR_9

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 11
activity_10


# name: role
# type: cell
# rows: 1
# columns: 1
# name: <cell-element>
# type: cell
# rows: 1
# columns: 10
# name: <cell-element>
# type: string
# elements: 1
# length: 2
id

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular

# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular


# name: data
# type: cell
# rows: 1
# columns: 1
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 10
0 0 NaN NaN NaN 0 NaN 72.005 0.31059375 -0.00146520146520146
1 0.003333333333333334 NaN NaN NaN 0 NaN 72.005 0.31059375 -0.00146520146520146
2 0.006666666666666667 NaN NaN NaN 0 NaN 72.005 0.31059375 -0.00146520146520146
3 0.01 NaN NaN NaN 0 NaN 72.005 0.31059375 -0.00146520146520146

# name: levelname
# type: cell
# rows: 1
# columns: 1
# name: <cell-element>
# type: cell
# rows: 1
# columns: 10
# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0

# name: <cell-element>
# type: matrix
# rows: 0
# columns: 0


# name: resultES
# type: cell
# rows: 3
# columns: 10
# name: <cell-element>
# type: sq_string
# elements: 1
# length: 8
sample_1
# name: <cell-element>
# type: string
# elements: 1
# length: 2
id
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0
1
2
3

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
time_sec_2
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0
0.003333333333333334
0.006666666666666667
0.01

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 5
ECG_3
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 10
GSR real_4
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 15
temperature 1_5
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 5
ECG_6
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0
0
0
0

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 13
ECG quality_7
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
NaN
NaN
NaN
NaN

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 12
heart rate_8
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
72.005
72.005
72.005
72.005

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 6
SDRR_9
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
0.31059375
0.31059375
0.31059375
0.31059375

# name: <cell-element>
# type: sq_string
# elements: 1
# length: 11
activity_10
# name: <cell-element>
# type: string
# elements: 1
# length: 7
regular
# name: <cell-element>
# type: matrix
# rows: 4
# columns: 1
-0.00146520146520146
-0.00146520146520146
-0.00146520146520146
-0.00146520146520146

Tagged:

Answers

  • smariesmarie Member Posts: 3 Contributor I
    Hello Owen,

    This .mat data file is using the Octave 3.2.4 format. The octminer extension is only usable with octave 3.6.1 and compliant data formats !
    Best regards

    Sylvain
  • owenowen Member Posts: 22 Contributor II
    Hello Sylvain,

    Thank you for your answer.
    I reproduced the error also using Octave 3.8.1.
    But since you said, 3.6.1 (exactly), I think I should find and install Octave 3.6.1.
    Do you agree?

    Regards,

    Owen
  • owenowen Member Posts: 22 Contributor II
    I have struggled for some time to find a mirror or apt-get incantation that will permit me download and install Octave 3.6.1 on Linux. No luck. That version is contemporary with Ubuntu 12.10 that is at end of life. I'm running Xubuntu 12.04 that wants Octave 3.2, and Lubuntu 14.04 that wants Octave 3.8.1. Hmmm...
Sign In or Register to comment.