Altair RISE
A program to recognize and reward our most engaged community members
Nominate Yourself Now!
Home
Discussions
Community Q&A
How to detect attribute type
CharlieFirpo
Dear all!
How can I detect the type of an attribute? I have a Branch operator. If the type of an attribute is numerical then the IF should be run, if the attribute is nominal then the ELSE.
Thank you!!!
Find more posts tagged with
AI Studio
Accepted answers
All comments
CharlieFirpo
One way can be use a Numerical to Nominal operator. It works well even if the type of the input attribute is nominal. The RapidMiner functions like 'contains, str, finds...' does not work if the type of one of argument is wrong. And unfortunatelly there is no an 'isnum' function
After the Numerical to Nominal operator one should use a Generate Attribute operator that generates eg. the isNum attribute with this function:
finds(%{macro_of_attribute_name},"^[0-9]+$") It returns true only if the value of the given attribute consists of only numbers.
And at the Branch operator the condition type should be 'attribute_value_filter', and the condition value 'isNum=true'.
It is not difficult but maybe there is a simliest way to do this. Is there?
Nice day!
lukki
Here my solution:
I used the "Set Macro"-operator to define a Macro with the name "number" and value "0".
I used the "Handle Exception"-operator. In the "Catch"-branch I put the "Set Macros"-operatur and give my macro "number" the value "1". In the "Try"-branch I did a "Loop attributes"-operator und used at the option "attribute filter type" the value "value_type" and the option "value type" I gave the value "numeric".
In the "Loop attributes"-operator I put a "Set macros"-operator and gave my macro "number" the value "2".
So if my dataset have numeric attributes, the macro "number" have the value "2", if not the macro "number" have the value "1".
Quick Links
All Categories
Recent Discussions
Activity
Unanswered
日本語 (Japanese)
한국어(Korean)
Groups