The Case Base Maintainer manages tasks related to the case base. It should be able to add data to the case base, update the cases, and remove cases that aren't improving the system's performance.
To-Dos
[x] Case Base class
[x] Implement methods for CB class which are listed in the features section below
[ ] Data Source Adapter for CB class to interact with the actual data source (when removing unused cases or increasing the utility count)
[ ] Implement validator that validates the conditions provided by the vocabulary
[x] Implement method that fills empty columns with 0s
[ ] Add tests
Features
add_data()
Add data to the case base of the instance
Params: data (list of cases), validate (boolean), _fillempty (boolean)
Returns: None
update_utils()
Increase the utils count for the specific case
The utils count increases whenever the case was used to solve another case
This means that the util count is a performance measurement for a case
Params: case
Returns: None
prune()
Removes cases from the case base that meet a specific criteria (e.g. util score)
Params: threshold (int)
Returns: None
get_current_casebase()
Returns the current case base to the user, so the user can update it in their datasource
The Case Base Maintainer manages tasks related to the case base. It should be able to add data to the case base, update the cases, and remove cases that aren't improving the system's performance.
To-Dos
Features
add_data()
update_utils()
prune()
get_current_casebase()