arbitrary attribute metadata

kgeiskgeis Member Posts: 5 Contributor II
edited June 2019 in Help
I would like to be able to attach arbitrary metadata to an attribute.  For example, a flag that says whether it is possible for that attribute to be null/missing.  Certain of my custom learners would understand this metadata.  I only really need this in the API, not necessarily the UI.

I've tried to figure out how to do this with the existing API.  I could have my own implementation of Attribute, but then I would also need my own BinomialAttribute, DateAttribute, etc.  And then, I would need to modify AttributeFactory; I see no support for replacing the AttributeFactory.  Maybe AttributeFactory should be a singleton object, not a set of static methods (except for something like setInstance/getInstance.) 

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    perhaps it would be a better solution not to change the attributes, but implement an own exampleset, providing a method for getting arbitrary meta data on the attributes. It could simply store a map from attribute to your meta data. Your learner then would only need to ensure, it get's the correct type of exampleset.

    Greetings,
      Sebastian
  • kgeiskgeis Member Posts: 5 Contributor II
    Thanks for the idea!
  • kgeiskgeis Member Posts: 5 Contributor II
    I've realized that this solution does not work very well.  Many pre-processing operators will return a new example set, and it will not contain the attribute metadata I want.
  • cherokeecherokee Member Posts: 82 Maven
    Hi!

    You could create another IOObject that contains your meta data and pass it around with you true data. Your learners just need to have another ioport.

    Best regards,
    chero

    P.S.: If you don't use preprocessing operators Sebastians solution works. I've used it some time ago.
Sign In or Register to comment.