The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
"Getting error msg: Wrong argument types for singular function gensym13:=exp(id)."
Inside a FeatureGeneration node, I am trying to compute a probability from a log-odds value for both a prediction value and a label value. For the prediction is it working fine. For the label, I am getting the error message:
Wrong argument types for singular function gensym13:=exp(id).
This is being done inside a MultipleLabelIterator operator. The label for each run is renamed to a static name so I can perform the mathematical operations on it (a workaround for not being able to use macros inside computations). The relevant excerpt is:
1
2.718
7.389
20.086
54.598
...
But as mentioned, the corresponding near-identical code for calculations on the predictions works fine:
For now, I'm going to workaround this by computing the values outside the MultipleLabelIterator loop, and before I change the roles to label1, label2, label3, as it seems (at the moment) to work properly there. But I'd be really curious to know why it isn't working as I was attempting it above.
Also, I am running the latest CVS version of RM as of Monday, not the public 4.2 release.
Thanks,
Keith
Wrong argument types for singular function gensym13:=exp(id).
This is being done inside a MultipleLabelIterator operator. The label for each run is renamed to a static name so I can perform the mathematical operations on it (a workaround for not being able to use macros inside computations). The relevant excerpt is:
The values in the data table after executing these operators appear to be the exponentiation of (row number - 1):
<operator name="Rename actual column" class="ChangeAttributeName">
<parameter key="new_name" value="actual_val"/>
<parameter key="old_name" value="label_%{a}"/>
</operator>
<operator name="FeatureGeneration" class="FeatureGeneration" breakpoints="after">
<list key="functions">
<parameter key="this_is_a_new_attrib" value="exp(actual_val)"/>
</list>
<parameter key="keep_all" value="true"/>
</operator>
1
2.718
7.389
20.086
54.598
...
But as mentioned, the corresponding near-identical code for calculations on the predictions works fine:
Also of interest, the value type for this this_is_a_new_attrib is "numeric" whereas both the source values of predict_val and actual_val as well as the correctly computed pred_odds column are "real".
<operator name="Rename prediction column" class="ChangeAttributeName">
<parameter key="new_name" value="predict_val"/>
<parameter key="old_name" value="prediction(label_%{a})"/>
</operator>
<operator name="Calculate Predicted Probability" class="FeatureGeneration">
<list key="functions">
<parameter key="pred_odds" value="exp(predict_val)"/>
</list>
<parameter key="keep_all" value="true"/>
</operator>
For now, I'm going to workaround this by computing the values outside the MultipleLabelIterator loop, and before I change the roles to label1, label2, label3, as it seems (at the moment) to work properly there. But I'd be really curious to know why it isn't working as I was attempting it above.
Also, I am running the latest CVS version of RM as of Monday, not the public 4.2 release.
Thanks,
Keith
Tagged:
0