All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Increase minimum version of
tensorflow
to v1.15.4 to fix the security vulnerability reported in https://github.com/advisories/GHSA-4g9f-63rx-5cw4 (#105) - Set more specific
scikit-learn
version requirements to avoid incompatibilities and test failures (#105)
- Remove Python 3.5 support (#105)
- Fixed an issue with builds failing due to numerical issues (#103)
- Increase minimum version of
tensorflow
to v1.15.2 to fix the security vulnerability reported in https://github.com/tensorflow/tensorflow/security/advisories/GHSA-977j-xj7q-2jr9 (#101). - Dropped support for Python 2.7 and 3.4 (#101).
- Allowed a recent version of
scikit-learn
(#99).
- Updated tests for changes in new versions of
scipy
,scikit-learn
, andflake8
(#98). - Increased required version of
tensorflow
due to published CVEs in older versions (#98).
- Added
prediction_gradient
method for understanding the impact of different features in MLPs with dense inputs. - Added support for SELU activations with alpha dropout.
- Added sample weights for the
FMClassifier
. - Added
FMRegressor
.
- Exposed
muffnn.__version__
. - Fixed bug in
FMClassifier
where it failed for predicting one example. - Fixed ValueError for type of target in
MLPClassifier
andFMClassifier
(#90).
- Updated requirements on numpy to 1.14 or higher.
- Updated requirements on scipy to 1.0 or higher.
- Added support for the
sample_weight
keyword argument to thefit
method of MLPClassifier and MLPRegressor (#75).
- Switched from requiring TensorFlow 1.x to 1.4.x because 1.5.0 was causing Travis CI failures with Python 3.6 (#78).
- Added a
transform_layer_index
keyword andtransform
method to the MLPClassifier and MLPRegressor to extract features from a hidden layer (#62).
- Moved the MLPClassifier and MLPRegressor to using Xavier initialization (#68).
- Python 2.7 compatibility (#57).
- Added a
monitor
keyword to the autoencoder (#58). - Added a factorization machine classifier (#50).
- Moved to Travis instead of CircleCI (#57).
- Upgraded to TensorFlow 1.3.X.
- Upgraded to numpy 1.13.1.
- Upgraded to scipy 0.19.1.
- Upgraded to scikit-learn 0.19.0.
- Upgraded to python 3.6.2.
- Upgraded requirements to match python 2 properly (#59).
- Hid slow import of
tf.contrib
(#54).
- Upgraded to TensorFlow 1.1.X.
- Fixed bug in grid search over solver settings.
- Fixed bug in
classes_
attribute for multilabel MLP problems.
- Added
MANIFEST.in
to fix python packaging bug.
- Add ability to set the solver and its parameters for the
MLPClassifier
andMLPRegressor
.
- Removed Docker build.
- Added
install_requires
tosetup.py
. - Updated tests of MLP base class to silence
pytest
warning.
- Fixed
score
method for multilabel classification.
- Upgraded to TensorFlow 1.0.0.
- Add an autencoder implementation.
- Add optional monitor functionality for MLP classes, for logging, early stopping, checkpointing, etc.
- Add top-level base class for pickling TensorFlow models.
- Add partial fitting functionality for the MLP.
- Add support for missing labels during multilabel classification.
- Make sparse input more efficient in MLP classes.
- Stop adding dropout nodes to MLP graphs if
keep_prob
is 1. - Change
dropout
keyword argument tokeep_prob
for consistency with TensorFlow. - Updated dependencies (notably, scikit-learn and TensorFlow).
LabelEncoder
in the MLPClassifier is pickled properly.- Fix multilabel classification, which was broken previously.
- Multilayer Perceptron Classifier and Regressor implementations.