RapidMiner

Decsion Tree Weight Base with different Criterion

Learner I Kian
Learner I

Decsion Tree Weight Base with different Criterion

How i can do Decision tree weight base with different criterion (like gain_ratio,information_gain, gini_index, accuracy) with RapidMiner software.

in Decision tree (weight_base) operator, there is not this option.

Thanks

10 REPLIES
Highlighted
RM Certified Expert
RM Certified Expert

Re: Decsion Tree Weight Base with different Criterion

To help me understand better, are you referring to feeding weighted examples into the Decision Tree operator? If yes, you can do that with something like a Weight by Stratification operator and feed in the data into the Decision Tree operator. From there you can selec the gain_ration, information_gain, etc. 

 

If you want to weigh attributes by gain_ratio, etc. You can use the Weight by Information Gain, Weight by Gini, etc operators. 

Learner I Kian
Learner I

Re: Decsion Tree Weight Base with different Criterion

Thanks for reply, i think i should explain more.

I did weighting on my main dataset and create datasets result in several weighitng operator.

so i have a main dataset and several datast result in weighting operator in this dataset i have important attribute only.

at second section i want to do deciosion tree weight base with different criterion.

Example: dataset resultin gain ratio>> dicision tree weight base for examample with accuracy criterion and etc.

IN Decision Tree operator there are 4 criterion but in Decision Tree weight-base operator there is not this option!

RM Certified Expert
RM Certified Expert

Re: Decsion Tree Weight Base with different Criterion

Yes, that is correct. In the Decision Tree operator you can select 4 different criterion. The Weight by <....> operators allow only one scheme of splitting. 

Learner I Kian
Learner I

Re: Decsion Tree Weight Base with different Criterion

Are there any solutions?!

RM Certified Expert
RM Certified Expert

Re: Decsion Tree Weight Base with different Criterion

You could do something like this. If you need to feed in the weights from one Weight By <...> downstream, use the Weights to Data operator. 

 

<?xml version="1.0" encoding="UTF-8"?><process version="7.5.003">
  <context>
    <input/>
    <output/>
    <macros/>
  </context>
  <operator activated="true" class="process" compatibility="7.5.003" expanded="true" name="Process">
    <process expanded="true">
      <operator activated="true" class="retrieve" compatibility="7.5.003" expanded="true" height="68" name="Retrieve Iris" width="90" x="45" y="34">
        <parameter key="repository_entry" value="//Samples/data/Iris"/>
      </operator>
      <operator activated="true" class="weight_by_information_gain" compatibility="7.5.003" expanded="true" height="82" name="Weight by Information Gain" width="90" x="179" y="34"/>
      <operator activated="true" class="weight_by_information_gain_ratio" compatibility="7.5.003" expanded="true" height="82" name="Weight by Information Gain Ratio" width="90" x="380" y="85"/>
      <operator activated="true" class="weight_by_gini_index" compatibility="7.5.003" expanded="true" height="82" name="Weight by Gini Index" width="90" x="581" y="187"/>
      <connect from_op="Retrieve Iris" from_port="output" to_op="Weight by Information Gain" to_port="example set"/>
      <connect from_op="Weight by Information Gain" from_port="weights" to_port="result 1"/>
      <connect from_op="Weight by Information Gain" from_port="example set" to_op="Weight by Information Gain Ratio" to_port="example set"/>
      <connect from_op="Weight by Information Gain Ratio" from_port="weights" to_port="result 2"/>
      <connect from_op="Weight by Information Gain Ratio" from_port="example set" to_op="Weight by Gini Index" to_port="example set"/>
      <connect from_op="Weight by Gini Index" from_port="weights" to_port="result 3"/>
      <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>
Learner I Kian
Learner I

Re: Decsion Tree Weight Base with different Criterion

Thans Dear Thomas for your reply

for weighting dataset there are solustion by using operatrs, but my problem is doing decision tree weight-base with different criterion! 

my problem is in operator "decision tree weight base" there are not option for 4 criterion (accuracy gini index and etc).

RM Certified Expert
RM Certified Expert

Re: Decsion Tree Weight Base with different Criterion

Can you post a process, I'm not clear on what it is you want to do exactly. Thanks.

Learner I Kian
Learner I

Re: Decsion Tree Weight Base with different Criterion

 
Learner I Kian
Learner I

Re: Decsion Tree Weight Base with different Criterion

3.jpg is the process and 2 is subprocess of decision tree, problem is in decision tree weight base operator there is not optopn for criterion.