Breaking changes.
- [CHANGED] Default case now does NOT attack cases with same characterisation but different outcome.
- [FIXED] Cases incoherent with default cases were not being added in cautious aacbr.
- [FIXED] Issues with cases with same characterisation as default.
- [FIXED] Bugs with sorting fixed, solving issues with remove_spikes not working properly, among others.
- [FIXED] When the default case is passed as argument and has a different outcome than originally set in the Aacbr instance as default outcome, now this is taken intou account, respecting the explicitly sent default case.
API is kept, but massive speed-ups.
- [CHANGED] Fitting, for both cautious and non-cautious, is now much faster.
In the slowest scenarios in benchmarking contained in
tests/
, 85% speed-up in non-cautious, and 99.89% speed-up in cautious.
More compatible with the sklearn API, although still not passing sklearn automated testing.
- [CHANGED]
X
andy
arguments can be used infit
instead ofcasebase
andoutcomes
- [CHANGED] Attributes only (properly) set after training are now defined in
fit
, not in initialisation.
- [CHANGED] When the argument
factors
ofCase
is aset
, it is converted tofrozenset
instead. This is done in order to guarantee that cases are hashable. If modifying a case, create a new one with different values. - [CHANGED] Hashes for
Case
instances are now cached via an attribute. - [CHANGED]
past_case_attacks
now does not check whether its arguments are in the active casebase. This is now assumed, instead of verified.