Getting values from Exampleset
alexman
New Altair Community Member
hi
I've a process and my output is an exampleset like this
Value1 Outlier_value1 Value2 Outlier_value2 Value3 Outlier_value3 value4 value5 value6
55555 true 9 false 55 no tall brown yellow
1 false 9 false 66 no short brown blue
2 false 3 false 65 no short brown red
3 false 2222 true 55 no short vbrown green
4 false 1 false 69 no short brown blue
5 false 2 false 45 no short brown blue
3 false 4 false 999595 yes short brown blue
which is the best way to get values 55555 (outlier_value1) 2222 (outlier_value2) and 999595 (outlier_value3)
in the same process?
Applying filters? thanks for your response
I've a process and my output is an exampleset like this
Value1 Outlier_value1 Value2 Outlier_value2 Value3 Outlier_value3 value4 value5 value6
55555 true 9 false 55 no tall brown yellow
1 false 9 false 66 no short brown blue
2 false 3 false 65 no short brown red
3 false 2222 true 55 no short vbrown green
4 false 1 false 69 no short brown blue
5 false 2 false 45 no short brown blue
3 false 4 false 999595 yes short brown blue
which is the best way to get values 55555 (outlier_value1) 2222 (outlier_value2) and 999595 (outlier_value3)
in the same process?
Applying filters? thanks for your response
Tagged:
0
Answers
-
What ho!
Because you are filtering on a group of attributes you can use the aggregation operator, like this...
<operator name="Root" class="Process" expanded="yes">
<operator name="ExampleSource" class="ExampleSource">
<parameter key="attributes" value="C:\Users\CJFP\Documents\rm_workspace\filter.aml"/>
</operator>
<operator name="AttributeAggregation" class="AttributeAggregation">
<parameter key="attribute_name" value="altogether"/>
<parameter key="aggregation_attributes" value="V.*"/>
<parameter key="aggregation_function" value="maximum"/>
</operator>
<operator name="ExampleFilter" class="ExampleFilter">
<parameter key="condition_class" value="attribute_value_filter"/>
<parameter key="parameter_string" value="altogether>1000"/>
</operator>
</operator>
( I'm assuming that you want to filter the above rows as examples, your question is a little unclear. )
0 -
Hi,
is not the maximum. I need to get values where outlier is true.
Value1 Outlier_value1 Value2 Outlier_value2 Value3 Outlier_value3 value4 value5 value6
55555 true 9 false 55 no tall brown yellow
1 false 9 false 66 no short brown blue
2 false 3 false 65 no short brown red
3 false 2222 true 55 no short vbrown green
4 false 1 false 69 no short brown blue
5 false 2 false 45 no short brown blue
3 false 4 false 999595 true short brown blue
I need to get 55555, 2222 and 999595 (in this case are the maximum, but you have to look at the outlier_valueX to get or not the value)
which is the best way to get those values isolated?
thanks haddock
0 -
Hi,
there are two ways:
You could either use the scripting operator for writing an own function (I waited nearly half a year for saying this )
or you could try to build a rather complex process involving Transpose, Attribute Construction, Attribute Filter and ExampleFilter operators.
At least now, I cannot imagine any other way around...
Greetings,
Sebastian0 -
ok Sebastian,
then I need a rapidminer api method that returns a row index where the attribute has a value ...
thanks sebastian
for(Attribute attribute: attributes) {
String name = attribute.getName()
es.recalculateAttributeStatistics(attribute)
System.out.println("Nombre del atributo "+name)
if (attribute.isNominal()){
}
else{
/*
is there a method of rapidminer api that returns
the row where this attribute has a value (true in this case)
after that i'd like to get values from the row --- > get the outlier
*/
}
}0 -
Hi,
you have to iterate over the exampleset and checking every example...
Greetings,
Sebastian0