Releases: paypal/Iguanas
Releases · paypal/Iguanas
Release list
v0.1.4
Added:
- Added
Boundsclass tometricsmodule. - Added examples in docstrings of all classes.
- Added
warningsmodules for custom warnings. - Added
infer_dtypesparameter to rule generator classes. If set toTrue, column datatypes are inferred from the data (same as previous versions); if set toFalse, the datatypes from the dataset are used.
Changed:
- Allow empty
Rulesclass to be created.
Improvements:
- Added the following operators to those supported by rule converters:
greater_field,greater_or_equal_field,less_field,less_or_equal_field. - Parallelised
DirectSearchOptimiserclass. - Added try/except to
ParallelPipelineto allow it to run even when a step fails to generate a rule set. - Added verbosity > 1 to
BayesSearchCV.
v0.1.3
Improvements
- Added verbosity to
LinearPipelineandParallelPipelineclasses. - Added check for duplicate columns in
XorX_rulesfor relevant classes - an exception is now thrown if duplicate columns are found. - Updated rule optimiser classes to include non-optimisable rules in the final
rule_stringsattribute (this ensures that these rules remain in the set when a rule optimiser is used in a pipeline)
Changes
- In the rule optimiser, rules which use exclusively all null features are allocated to the zero variance group, rather than the non-optimisable group.
- Updated the
create_x0,create_boundsandcreate_initial_simplexesmethods in theDirectSearchOptimiserclass so thatnp.nanvalues are converted to 0. - Added pre- and post-optimisation methods to
_base_pipeline. - Updated documentation and notebooks to reflect changes.
v0.1.2
Changed
- Updated URLs in
LICENSEto use https.
Fixes
- Updated
_calc_tps_fps_tns_fns_numpyto use.to_numpy()when converting Pandas objects to numpy - fixes error seen when Pandas objects ofIntdtype are used.
v0.1.1
Fixes:
- Fixed error thrown when converting rules with exponentials (e.g.
1e-05) present in a condition from string to dictionary format.
v0.1.0
Added:
- Added
ParallelPipelineclass to pipeline module & unit tests. - Added
rulesparameter to filter modules, allowing a given rule set to be filtered. - Added
rulesparameter toRBSOptimiser, allowing a given rule set to be filtered to the rules remaining after optimisation. - Added
rulesattribute to rule generators (which is aRulesclass containing the generated rules). - Added example notebook for
ParallelPipelineclass. - Added advanced example notebook for
BayesSearchCVclass. - Added
__repr__toAgglomerativeClusteringReducerclass.
Changed:
- The
get_paramsmethod in theLinearPipelineandParallelPipelineclasses now returns a dictionary of parameters and their values for each pipeline step. - Removed
num_coresparameter fromRBSPipelineandRBSOptimiserclasses (as it was ignored anyway). - Updated
LinearPipelineandBayesSearchCVexample notebook with diagrams. - Relaxed versions of packages required in setup.py.
Improvements:
- Classes in later stages of a
LinearPipelinecan now use the initial datasets if required (e.g. if a rule optimiser is placed after a rule generator, the rule optimiser can be configured to use the initial feature set to optimise the generated rules). See theuse_init_dataparam inLinearPipelineclass. ClassAccessorclasses can now be used in parameters that are mutable iterables - this allows attributes from classes earlier in a pipeline to be passed to parameters of classes later in the pipeline that are mutable iterables (e.g. lists).- Users can set whether they want to use the
sample_weightwhen calculating themetricof the validation fold in theBayesSearchCVclass (prior to this, thesample_weightwas always used if provided). See thesample_weight_in_valparameter in theBayesSearchCVclass. Rulesclasses can now be combined using+andsum().
Fixes:
- Updated rule generators so rule names remain constant if the
fitmethod is applied more than once after class instantiation. intvalues are now properly parsed when converting fromrule_stringstorule_dictsin theRulesclass.- Added a check for the parameter name when updating a class parameter in a
LinearPipelineorParallelPipeline- if the parameter does not exist, an error is thrown (prior to this, no error was thrown). - Updated the
RBSPipelineclass to return the index ofX_rulesin the prediction.
v0.0.2
Added:
- Code of conduct
- Issue templates
- Contributing guidelines
- rule_names check in rule generator/optimiser unit tests
- Added Github workflow for CI/CD for Ubuntu and Mac OS
Changed:
- Reduced rule generator naming methods to one method in _BaseGenerator
- Rule generators calculate rule_lambdas at the end
- Removed TypeVars from iguanas.utils.typing, replaced with strings. Added unit tests.
Improvements:
- Reduced runtime of RBSPipeline
- Updated wording of introduction in documentation
- Updated test_bayes_search_cv to cover all methods
Fixes:
- Bug in AgglomerativeClusteringReducer which duplicated column names in cols_to_keep when cols_to_drop was empty
- Bug in BayesSearchCV which omitted all but one param from best_params when multiple params were including in search_space for a given pipeline step