The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
arbitrary attribute metadata
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.)
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.)
0
Answers
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
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.