Ensembling's back for it's alpha release, evolutionary algorithms are doing our hyperparameter search now, we've handled a bunch of dependency updates, and a bunch of smaller performance tweaks.
Using quantile regression, we can now return prediction intervals.
Another minor change is adding in a column of absolute changes for feature_responses
LightGBM and sklearn's gbm now use warm_starting or iterative training to find the best number of trees
Avoids double training deep learning models, changes how we sort and order features for analytics reporting, and adds a new `_all_small_categories` category to categorical ensembling.
Feature responses allows linear-model-like interpretations for non-linear models.
Avoids mutating input DF
Standardizes examples and tests to use `load_ml_model()`
Feature learning and categorical ensembling are really cool features that each get us 2-5% accuracy gains!
For full info, check the docs.
Enough incremental improvements have added up that we're now ready to mark a 2.0 release!
Part of the progress also means deprecating a few unused features that were adding unnecessary complexity and preventing us from implementing new features like ensembling properly.
New changes for the 2.0 release:
- Refactored and cleaned up code. Ensembling should now be much easier to add in, and in a way that's fast enough to be used in production (getting predictions from 10 models should take less than 10x as long as getting predictions from 1 model)
- Deprecated compute_power
- Deprecated several methods for grid searching over transformation_pipeline hyperparameters (different methods for feature selection, whether or not to do feature scaling, etc.). We just directly made a decision to prioritize the final model hyperparameter search.
- Deprecated the current implementation of ensembling. It was implemented in such a way that it was not quick enough to make predictions in prod, and thus, did not meet the primary use cases of this project. Part of removing it allows us to reimplement ensembling in a way that is prod-ready.
- Deprecated X_test and y_test, except for working with calibrate_final_model.
- Added better documentation on features that were in silent alpha release previously.
- Improved test coverage!
Major changes since the 1.0 release:
- Integrations for deep learning (using TensorFlow and Keras)
- Integration of Microsoft's LightGBM, which appears to be a possibly better version of XGBoost
- Quite a bit more user logging, warning, and input validation/input cleaning
- Quite a few edge case bug fixes and minor performance improvements
- Fully automated test suite with decent test coverage!
- Better documentation
- Support for pandas DataFrames- much more space efficient than lists of dictionaries
This will be our final release before v2.
Includes many recent changes- Deep Learning with Keras/TensorFlow, more efficient hyperparameter optimization, Microsoft's LightGBM, more advanced logging for scoring, and quite a few minor usability improvements (like improved logging when input is not as expected).
As of the 1.3 release, we now support taking in Pandas DataFrames, in addition to a list of dictionaries.
This is much more memory efficient, allowing us to now train subpredictors in parallel.
There's also better input validation and message logging to the users.