Need help with example based costs sensitive classification

mtgreenmtgreen Member Posts: 9 Contributor II
edited November 2018 in Help
Hi, I'm new with rapid miner but rapidly catching up to speed. 

My situation:

I have an example set (saved ARFF file) where one attribute represents data that I use solely to calculate the costs of misclassifying that example.  My learner is really a meta leaner and uses arbitrary inner learners (standard Rapid Miner learners) for the actual classification.

Not surprisingly, when I submit the data to the learner, it uses that attribute for classifying examples (not desired).  I have figured out that giving that attribute the "weight" special designation will cause the average learner to ignore my special attribute it unless it specifically uses weights.  For many standard rapid miner learners, I can usually de-select the "use weights" parameter to prevent this.  However, I've discovered that some learners use weights and do not always allow me to turn that off.  So I'm looking for a more general solution.

My question:
Is there an alternative to using the "weight" designation in order to specify an attribute as a "special attribute" that the average learner will ignore?

Any help would be greatly appreciated.  Thanks!

~Michael

Answers

  • TobiasMalbrechtTobiasMalbrecht Moderator, Employee, Member Posts: 294 RM Product Management
    Hi Michael,
    mtgreen wrote:

    Is there an alternative to using the "weight" designation in order to specify an attribute as a "special attribute" that the average learner will ignore?
    there is such an alternative and it is pretty easy. Simply define the cost attribute as a user specified special attribute. The operator [tt]ChangeAttributeRole[/tt] not only allows to mark attributes as a label, a weight or other RM specific special attributes but to define user special attributes as well. These will be ignored by learners.

    The following XML code gives an example:

        <operator name="ChangeAttributeRole" class="ChangeAttributeRole">
            <parameter key="name" value="att1"/>
            <parameter key="target_role" value="cost"/>
        </operator>
    Hope that helps,
    Tobias
  • mtgreenmtgreen Member Posts: 9 Contributor II
    Works perfectly.  Thanks!!
Sign In or Register to comment.