Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.
Deep Learning 1.0 Error when testing regression-style problems
jacobcybulski
Member, University Professor Posts: 391 Unicorn
When training a model on a regression data, i.e. with numerical label (such as "sea shells ages"), the model trains fine with training data only. When we connect the test port (e.g. by splitting data into training and testing partition), the following error is generated:
Oct 21, 2020 9:06:59 PM WARNING: Example set has no nominal label: using shuffled partition instead of stratified partition
Oct 21, 2020 9:06:59 PM SEVERE: Process failed: operator cannot be executed (The method getNominalMapping() is not supported by numerical attributes! You probably tried to execute an operator on a numerical data which is only able to handle nominal values. You could use one of the discretization operators before this application.). Check the log messages...
When we train the model on a classification data, i.e. with a nominal label (such as "iris flowers"), the process completes without any problems.
I am running those examples with Deep Learning extension 1.0, on RapidMiner 9.8, with CPU-OpenBLAS and with GPU-CUDA (CUDA 10.1), on Ubuntu 18.04 and Ubuntu 20.04.
Here is a modified "sea shells ages" sample process (the "Deep Learning" operator has not been altered).
<?xml version="1.0" encoding="UTF-8"?><process version="9.8.000">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="9.4.000" expanded="true" name="Process" origin="GENERATED_SAMPLE">
<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="retrieve" compatibility="9.8.000" expanded="true" height="68" name="Retrieve Abalone" origin="GENERATED_SAMPLE" width="90" x="45" y="34">
<parameter key="repository_entry" value="//Samples/Deep Learning/data/Abalone"/>
<description align="center" color="transparent" colored="false" width="126">Loading data</description>
</operator>
<operator activated="true" class="set_role" compatibility="9.8.000" expanded="true" height="82" name="Set Role" origin="GENERATED_SAMPLE" width="90" x="45" y="136">
<parameter key="attribute_name" value="Age"/>
<parameter key="target_role" value="label"/>
<list key="set_additional_roles"/>
</operator>
<operator activated="true" class="nominal_to_numerical" compatibility="9.8.000" expanded="true" height="103" name="Nominal to Numerical" origin="GENERATED_SAMPLE" width="90" x="45" y="238">
<parameter key="return_preprocessing_model" value="false"/>
<parameter key="create_view" value="false"/>
<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="coding_type" value="dummy coding"/>
<parameter key="use_comparison_groups" value="false"/>
<list key="comparison_groups"/>
<parameter key="unexpected_value_handling" value="all 0 and warning"/>
<parameter key="use_underscore_in_name" value="false"/>
</operator>
<operator activated="true" class="split_data" compatibility="9.8.000" expanded="true" height="124" name="Split Data" origin="GENERATED_SAMPLE" width="90" x="179" y="238">
<enumeration key="partitions">
<parameter key="ratio" value="0.6"/>
<parameter key="ratio" value="0.2"/>
<parameter key="ratio" value="0.2"/>
</enumeration>
<parameter key="sampling_type" value="automatic"/>
<parameter key="use_local_random_seed" value="false"/>
<parameter key="local_random_seed" value="1992"/>
</operator>
<operator activated="true" class="deeplearning:dl4j_sequential_neural_network" compatibility="1.0.000" expanded="true" height="145" name="Deep Learning" origin="GENERATED_SAMPLE" width="90" x="380" y="34">
<parameter key="loss_function" value="Mean Squared Error (Linear Regression)"/>
<parameter key="epochs" value="70"/>
<parameter key="use_early_stopping" value="false"/>
<parameter key="condition_strategy" value="score improvement"/>
<parameter key="patience" value="5"/>
<parameter key="minimal_score_improvement" value="0.0"/>
<parameter key="best_epoch_score" value="0.01"/>
<parameter key="max_iteration_score" value="3.0"/>
<parameter key="max_iteration_time" value="10"/>
<parameter key="use_miniBatch" value="false"/>
<parameter key="batch_size" value="4"/>
<parameter key="updater" value="Adam"/>
<parameter key="learning_rate" value="0.01"/>
<parameter key="momentum" value="0.9"/>
<parameter key="rho" value="0.95"/>
<parameter key="epsilon" value="1.0E-6"/>
<parameter key="beta1" value="0.9"/>
<parameter key="beta2" value="0.999"/>
<parameter key="RMSdecay" value="0.95"/>
<parameter key="weight_initialization" value="Xavier"/>
<parameter key="bias_initialization" value="0.0"/>
<parameter key="use_regularization" value="false"/>
<parameter key="l1_strength" value="0.1"/>
<parameter key="l2_strength" value="0.1"/>
<parameter key="optimization_method" value="Stochastic Gradient Descent"/>
<parameter key="cudnn_algo_mode" value="Prefer fastest"/>
<parameter key="backpropagation" value="Standard"/>
<parameter key="backpropagation_length" value="50"/>
<parameter key="infer_input_shape" value="true"/>
<parameter key="network_type" value="Simple Neural Network"/>
<parameter key="log_each_epoch" value="true"/>
<parameter key="epochs_per_log" value="10"/>
<parameter key="use_local_random_seed" value="false"/>
<parameter key="local_random_seed" value="1992"/>
<process expanded="true">
<operator activated="true" class="deeplearning:dl4j_dense_layer" compatibility="1.0.000" expanded="true" height="68" name="Add Fully-Connected Layer" origin="GENERATED_SAMPLE" width="90" x="112" y="136">
<parameter key="neurons" value="8"/>
<parameter key="activation_function" value="ReLU (Rectified Linear Unit)"/>
<parameter key="use_dropout" value="false"/>
<parameter key="dropout_rate" value="0.25"/>
<parameter key="overwrite_networks_weight_initialization" value="false"/>
<parameter key="weight_initialization" value="Normal"/>
<parameter key="overwrite_networks_bias_initialization" value="false"/>
<parameter key="bias_initialization" value="0.0"/>
<description align="center" color="transparent" colored="false" width="126">Number of input attributes - number of output neurons<br>= 9 - 1 = 8.</description>
</operator>
<operator activated="true" class="deeplearning:dl4j_dense_layer" compatibility="1.0.000" expanded="true" height="68" name="Add Fully-Connected Layer (2)" origin="GENERATED_SAMPLE" width="90" x="313" y="136">
<parameter key="neurons" value="1"/>
<parameter key="activation_function" value="None (identity)"/>
<parameter key="use_dropout" value="false"/>
<parameter key="dropout_rate" value="0.25"/>
<parameter key="overwrite_networks_weight_initialization" value="false"/>
<parameter key="weight_initialization" value="Normal"/>
<parameter key="overwrite_networks_bias_initialization" value="false"/>
<parameter key="bias_initialization" value="0.0"/>
<description align="center" color="transparent" colored="false" width="126">Number of neurons = 1 because one value is estimated. And &quot;None (Identity)&quot; is chosen because a regression is performed.</description>
</operator>
<connect from_port="in layerArchitecture" to_op="Add Fully-Connected Layer" to_port="layerArchitecture"/>
<connect from_op="Add Fully-Connected Layer" from_port="layerArchitecture" to_op="Add Fully-Connected Layer (2)" to_port="layerArchitecture"/>
<connect from_op="Add Fully-Connected Layer (2)" from_port="layerArchitecture" to_port="out layerArchitecture"/>
<portSpacing port="source_in layerArchitecture" spacing="0"/>
<portSpacing port="sink_out layerArchitecture" spacing="0"/>
<description align="center" color="yellow" colored="false" height="281" resized="true" width="190" x="62" y="46">The number of neurons chosen is selected by a rule of thumb here:</description>
<description align="center" color="yellow" colored="false" height="325" resized="true" width="195" x="271" y="47">The last layer of the network. Notice how number of neurons and the activation function are chosen.</description>
</process>
</operator>
<operator activated="true" class="apply_model" compatibility="9.8.000" expanded="true" height="82" name="Apply Model" origin="GENERATED_SAMPLE" width="90" x="581" y="238">
<list key="application_parameters"/>
<parameter key="create_view" value="false"/>
</operator>
<operator activated="true" class="performance_regression" compatibility="9.8.000" expanded="true" height="82" name="Performance" origin="GENERATED_SAMPLE" width="90" x="715" y="238">
<parameter key="main_criterion" value="first"/>
<parameter key="root_mean_squared_error" value="false"/>
<parameter key="absolute_error" value="false"/>
<parameter key="relative_error" value="true"/>
<parameter key="relative_error_lenient" value="false"/>
<parameter key="relative_error_strict" value="false"/>
<parameter key="normalized_absolute_error" value="false"/>
<parameter key="root_relative_squared_error" value="false"/>
<parameter key="squared_error" value="false"/>
<parameter key="correlation" value="false"/>
<parameter key="squared_correlation" value="false"/>
<parameter key="prediction_average" value="false"/>
<parameter key="spearman_rho" value="false"/>
<parameter key="kendall_tau" value="false"/>
<parameter key="skip_undefined_labels" value="true"/>
<parameter key="use_example_weights" value="true"/>
</operator>
<connect from_op="Retrieve Abalone" from_port="output" to_op="Set Role" to_port="example set input"/>
<connect from_op="Set Role" from_port="example set output" to_op="Nominal to Numerical" to_port="example set input"/>
<connect from_op="Nominal to Numerical" from_port="example set output" to_op="Split Data" to_port="example set"/>
<connect from_op="Split Data" from_port="partition 1" to_op="Deep Learning" to_port="training set"/>
<connect from_op="Split Data" from_port="partition 2" to_op="Deep Learning" to_port="test set"/>
<connect from_op="Split Data" from_port="partition 3" to_op="Apply Model" to_port="unlabelled data"/>
<connect from_op="Deep Learning" from_port="model" to_op="Apply Model" to_port="model"/>
<connect from_op="Deep Learning" from_port="history" to_port="result 3"/>
<connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/>
<connect from_op="Performance" from_port="performance" to_port="result 1"/>
<connect from_op="Performance" from_port="example set" to_port="result 2"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
<portSpacing port="sink_result 3" spacing="0"/>
<portSpacing port="sink_result 4" spacing="0"/>
</process>
</operator>
</process>
Jacob
Tagged:
0
Best Answer
-
pschlunder Employee, RapidMiner Certified Analyst, RapidMiner Certified Expert, RMResearcher, Member Posts: 96 RM ResearchHi @jacobcybulski ,this is a bug and will be fixed in the next release, thanks a lot for reporting it!5
Answers