design pattern for extracting features I am looking for a design pattern that is relevant to a module that extracts features.
I want to define a certain number of features over my data points, and then according to the performance and the feature selection, I may want to remove some of them and add others, and also I may want to consider any subsets of them to test.

What is a good design pattern to do that? Did I miss something obvious? I am neither an engineer nor a developer, so I never study such things but I understand that it could help me a lot!

Thanks for any help,
When I think about how to implement a certain ML or data mining process in an OOP (like Java), I usually go to see how smarter people than me designed their system.
In this case, I'd see how Weka, RapidMiner, JAVA ML or others decided to tackle this problem.

In your case of feature/attribute selection, i'm adding a link to Weka's API.
If you want to better understand how it's done, you should download Weka and play with the source code.

http://weka.sourceforge.net/doc.dev/weka/classifiers/meta/AttributeSelectedClassifier.html

Without getting into specific implementations, I think that a linked list of any sort would do the trick, since you want to select a subset of all features.