Summary: Create a class hierarchy for learning algorithms and the models those algorithms produce.
This is a super-task of several sub-tasks (but JIRA does not allow subtasks of subtasks). See the "requires" links below for subtasks.
- give intuitive structure to API, both for developers and for generated documentation
- support meta-algorithms (e.g., boosting)
- support generic functionality (e.g., evaluation)
- reduce code duplication across classes