Vizualize three values to a 3d point rapidminer

TalefjantenTalefjanten Member Posts: 9 Newbie
edited April 2023 in Help
Each line in the attached file correspond to 240 values of which they are supposed to be in tripple pairs, where each tripple of values correspond to one point in the x,y,z plane, how do i plot the first row in rapidminer, so I have 80 dots in the x,y,z plane 

Best Answer

  • jwpfaujwpfau Employee, Member Posts: 274 RM Engineering
    edited April 2023 Solution Accepted
    Hi,

    Something like this? (there is probably a way easier way to do this)

    <?xml version="1.0" encoding="UTF-8"?><process version="10.1.002">
      <context>
        <input/>
        <output/>
        <macros/>
      </context>
      <operator activated="true" class="process" compatibility="10.1.002" expanded="true" name="Process" origin="GENERATED_TUTORIAL">
        <parameter key="logverbosity" value="init"/>
        <parameter key="random_seed" value="2001"/>
        <parameter key="send_mail" value="never"/>
        <parameter key="notification_email" value=""/>
        <parameter key="process_duration_for_mail" value="30"/>
        <parameter key="encoding" value="SYSTEM"/>
        <process expanded="true">
          <operator activated="true" class="read_csv" compatibility="10.1.002" expanded="true" height="68" name="Read CSV" width="90" x="45" y="34">
            <parameter key="csv_file" value="https://us.v-cdn.net/6030995/uploads/editor/p5/vgkjyxg5z8uk.csv"/>
            <parameter key="column_separators" value=";"/>
            <parameter key="trim_lines" value="false"/>
            <parameter key="use_quotes" value="true"/>
            <parameter key="quotes_character" value="&quot;"/>
            <parameter key="escape_character" value="\"/>
            <parameter key="skip_comments" value="false"/>
            <parameter key="comment_characters" value="#"/>
            <parameter key="starting_row" value="1"/>
            <parameter key="parse_numbers" value="true"/>
            <parameter key="decimal_character" value="."/>
            <parameter key="grouped_digits" value="false"/>
            <parameter key="grouping_character" value=","/>
            <parameter key="infinity_representation" value=""/>
            <parameter key="date_format" value=""/>
            <parameter key="first_row_as_names" value="false"/>
            <list key="annotations"/>
            <parameter key="time_zone" value="SYSTEM"/>
            <parameter key="locale" value="English (United States)"/>
            <parameter key="encoding" value="UTF-8"/>
            <parameter key="read_all_values_as_polynominal" value="false"/>
            <list key="data_set_meta_data_information"/>
            <parameter key="read_not_matching_values_as_missings" value="true"/>
          </operator>
          <operator activated="true" class="filter_example_range" compatibility="10.1.002" expanded="true" height="82" name="Filter Example Range" width="90" x="179" y="34">
            <parameter key="first_example" value="1"/>
            <parameter key="last_example" value="1"/>
            <parameter key="invert_filter" value="false"/>
          </operator>
          <operator activated="true" class="rename_by_replacing" compatibility="10.1.002" expanded="true" height="82" name="Rename by Replacing" width="90" x="313" y="34">
            <parameter key="attribute_filter_type" value="all"/>
            <parameter key="attribute" value=""/>
            <parameter key="attributes" value=""/>
            <parameter key="use_except_expression" value="false"/>
            <parameter key="value_type" value="attribute_value"/>
            <parameter key="use_value_type_exception" value="false"/>
            <parameter key="except_value_type" value="time"/>
            <parameter key="block_type" value="attribute_block"/>
            <parameter key="use_block_type_exception" value="false"/>
            <parameter key="except_block_type" value="value_matrix_row_start"/>
            <parameter key="invert_selection" value="false"/>
            <parameter key="include_special_attributes" value="false"/>
            <parameter key="replace_what" value="att"/>
          </operator>
          <operator activated="true" class="concurrency:loop_attributes" compatibility="10.1.002" expanded="true" height="103" name="Loop Attributes" width="90" x="447" y="34">
            <parameter key="attribute_filter_type" value="all"/>
            <parameter key="attribute" value=""/>
            <parameter key="attributes" value=""/>
            <parameter key="use_except_expression" value="false"/>
            <parameter key="value_type" value="attribute_value"/>
            <parameter key="use_value_type_exception" value="false"/>
            <parameter key="except_value_type" value="time"/>
            <parameter key="block_type" value="attribute_block"/>
            <parameter key="use_block_type_exception" value="false"/>
            <parameter key="except_block_type" value="value_matrix_row_start"/>
            <parameter key="invert_selection" value="false"/>
            <parameter key="include_special_attributes" value="false"/>
            <parameter key="attribute_name_macro" value="loop"/>
            <parameter key="reuse_results" value="true"/>
            <parameter key="enable_parallel_execution" value="false"/>
            <process expanded="true">
              <operator activated="true" class="multiply" compatibility="10.1.002" expanded="true" height="103" name="Multiply" width="90" x="45" y="34"/>
              <operator activated="true" class="blending:select_attributes" compatibility="10.1.002" expanded="true" height="82" name="Select Attributes" width="90" x="112" y="340">
                <parameter key="type" value="include attributes"/>
                <parameter key="attribute_filter_type" value="one attribute"/>
                <parameter key="select_attribute" value="%{loop}"/>
                <parameter key="select_subset" value=""/>
                <parameter key="also_apply_to_special_attributes_(id,_label..)" value="false"/>
              </operator>
              <operator activated="true" class="generate_macro" compatibility="10.1.002" expanded="true" height="82" name="Generate Macro" width="90" x="246" y="340">
                <list key="function_descriptions">
                  <parameter key="attribute" value="concat(&quot;tripplet_&quot;, str(floor((round(parse(%{loop}))-1)/3)))"/>
                </list>
              </operator>
              <operator activated="true" class="generate_empty_attribute" compatibility="10.1.002" expanded="true" height="82" name="Generate Empty Attribute" width="90" x="380" y="340">
                <parameter key="name" value="%{attribute}"/>
                <parameter key="value_type" value="integer"/>
              </operator>
              <operator activated="true" class="operator_toolbox:merge" compatibility="2.14.000" expanded="true" height="103" name="Merge Attributes (2)" width="90" x="514" y="85">
                <parameter key="handling_of_duplicate_attributes" value="keep_only_first"/>
                <parameter key="handling_of_special_attributes" value="keep_only_first"/>
                <parameter key="handling_of_duplicate_annotations" value="keep_only_first"/>
              </operator>
              <operator activated="true" class="blending:generate_columns" compatibility="10.1.002" expanded="true" height="82" name="Generate Attributes" width="90" x="715" y="85">
                <list key="function_descriptions">
                  <parameter key="%{attribute}" value="if(missing(cell_value(%{attribute}, 1, NOMINAL)), cell_value(%{loop}, 1, NOMINAL), concat(cell_value(%{attribute} , 1, NOMINAL), &quot; &quot;, cell_value(%{loop},1, NOMINAL)))"/>
                </list>
                <parameter key="keep_all_columns" value="true"/>
              </operator>
              <operator activated="true" class="blending:select_attributes" compatibility="10.1.002" expanded="true" height="82" name="Select Attributes (2)" width="90" x="849" y="85">
                <parameter key="type" value="exclude attributes"/>
                <parameter key="attribute_filter_type" value="one attribute"/>
                <parameter key="select_attribute" value="%{loop}"/>
                <parameter key="select_subset" value=""/>
                <parameter key="also_apply_to_special_attributes_(id,_label..)" value="false"/>
              </operator>
              <connect from_port="input 1" to_op="Multiply" to_port="input"/>
              <connect from_port="input 2" to_op="Merge Attributes (2)" to_port="example set 1"/>
              <connect from_op="Multiply" from_port="output 1" to_port="output 1"/>
              <connect from_op="Multiply" from_port="output 2" to_op="Select Attributes" to_port="example set input"/>
              <connect from_op="Select Attributes" from_port="example set output" to_op="Generate Macro" to_port="through 1"/>
              <connect from_op="Generate Macro" from_port="through 1" to_op="Generate Empty Attribute" to_port="example set input"/>
              <connect from_op="Generate Empty Attribute" from_port="example set output" to_op="Merge Attributes (2)" to_port="example set 2"/>
              <connect from_op="Merge Attributes (2)" from_port="merged set" to_op="Generate Attributes" to_port="table input"/>
              <connect from_op="Generate Attributes" from_port="table output" to_op="Select Attributes (2)" to_port="example set input"/>
              <connect from_op="Select Attributes (2)" from_port="example set output" to_port="output 2"/>
              <portSpacing port="source_input 1" spacing="0"/>
              <portSpacing port="source_input 2" spacing="0"/>
              <portSpacing port="source_input 3" spacing="0"/>
              <portSpacing port="sink_output 1" spacing="0"/>
              <portSpacing port="sink_output 2" spacing="0"/>
              <portSpacing port="sink_output 3" spacing="0"/>
            </process>
          </operator>
          <operator activated="true" class="transpose" compatibility="10.1.002" expanded="true" height="82" name="Transpose" width="90" x="581" y="34"/>
          <operator activated="true" class="split" compatibility="10.1.002" expanded="true" height="82" name="Split" width="90" x="715" y="34">
            <parameter key="attribute_filter_type" value="all"/>
            <parameter key="attribute" value=""/>
            <parameter key="attributes" value=""/>
            <parameter key="use_except_expression" value="false"/>
            <parameter key="value_type" value="nominal"/>
            <parameter key="use_value_type_exception" value="false"/>
            <parameter key="except_value_type" value="file_path"/>
            <parameter key="block_type" value="single_value"/>
            <parameter key="use_block_type_exception" value="false"/>
            <parameter key="except_block_type" value="single_value"/>
            <parameter key="invert_selection" value="false"/>
            <parameter key="include_special_attributes" value="false"/>
            <parameter key="split_pattern" value="\s"/>
            <parameter key="split_mode" value="ordered_split"/>
          </operator>
          <operator activated="true" class="guess_types" compatibility="10.1.002" expanded="true" height="82" name="Guess Types" width="90" x="849" y="34">
            <parameter key="attribute_filter_type" value="all"/>
            <parameter key="attribute" value=""/>
            <parameter key="attributes" value=""/>
            <parameter key="use_except_expression" value="false"/>
            <parameter key="value_type" value="attribute_value"/>
            <parameter key="use_value_type_exception" value="false"/>
            <parameter key="except_value_type" value="time"/>
            <parameter key="block_type" value="attribute_block"/>
            <parameter key="use_block_type_exception" value="false"/>
            <parameter key="except_block_type" value="value_matrix_row_start"/>
            <parameter key="invert_selection" value="false"/>
            <parameter key="include_special_attributes" value="false"/>
            <parameter key="decimal_point_character" value="."/>
          </operator>
          <connect from_op="Read CSV" from_port="output" to_op="Filter Example Range" to_port="example set input"/>
          <connect from_op="Filter Example Range" from_port="example set output" to_op="Rename by Replacing" to_port="example set input"/>
          <connect from_op="Rename by Replacing" from_port="example set output" to_op="Loop Attributes" to_port="input 1"/>
          <connect from_op="Loop Attributes" from_port="output 2" to_op="Transpose" to_port="example set input"/>
          <connect from_op="Transpose" from_port="example set output" to_op="Split" to_port="example set input"/>
          <connect from_op="Split" from_port="example set output" to_op="Guess Types" to_port="example set input"/>
          <connect from_op="Guess Types" from_port="example set output" 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>

Answers

  • jwpfaujwpfau Employee, Member Posts: 274 RM Engineering
    Hi,

    the attached excel file appears to be empty.

    Does the file suppose to look like this?

    x
    y
    z
    x
    y
    z

    Greetings,
    Jonas
  • TalefjantenTalefjanten Member Posts: 9 Newbie
    Hi, im so sorry i attached the right file now, namned data! 
    The data is structured as x,y,z,x,y,z and so on for 240 columns
    And each row represent a new movement or position, i would just like to be able to visualize, one row with 240 attributes which will be 80 dots in 3d-space 
  • TalefjantenTalefjanten Member Posts: 9 Newbie
    edited April 2023
    Omg this is exacly what I want, i made it work in python, so the picture is right, but when i load the process it does'nt work? 
    I have some dummy process in loop attributes,
    When i load the process you wrote, it gives dummy operator, etc, but I can see it works correct for you 
  • TalefjantenTalefjanten Member Posts: 9 Newbie
    edited April 2023
    I have here attached the real original file, without my interference, its an csv file with one cell and hundreds of rows, i know how to read in the file and remove unwanted attributes on the last two rows, but the process you sent up there gave you the right vizual effect, but did'nt work at all for me, so maybe there is something corrupt with the file i sent before, or do you have any idea as why it did'nt work for me and gave me dummy attributes etc 
    It has some holes in the data that I will fix with the replace missing values operator
  • jwpfaujwpfau Employee, Member Posts: 274 RM Engineering
    Hi,

    which RapidMiner Studio version are you using?

    The Generate Attributes operator was rewritten for Version 10.1.1 i think.

    Greetings,
    Jonas
  • TalefjantenTalefjanten Member Posts: 9 Newbie
    Hi,

    Im using version 10.1.002

    But im using the educational version, could that be the problem? 


  • jwpfaujwpfau Employee, Member Posts: 274 RM Engineering
    Hi,

    i accidently used an non-core operator from the Operator Toolbox extension, you can install it via the Marketplace.

    https://marketplace.rapidminer.com/UpdateServer/faces/product_details.xhtml?productId=rmx_operator_toolbox

    Greetings,
    Jonas
Sign In or Register to comment.