Adding support for Neural Network Embedding
[please review the Contribution Guidelines prior to submitting your pull request. go ahead and delete this line if you've already reviewed said guidelines.]
What does this PR do?
Attempts to resolve #809
Where should the reviewer start?
Have a look at tpot.builtins.embedding_estimator
How should this PR be tested?
It has been tested on Python 3.7 on two environments; one with tensorflow 2.0.0a installed and one without tensorflow installed at all. It was tested via:
python3 -m nose tests/embedding_estimator_tests.py
Any background context you want to provide?
See also #809 - as requested. I've made an attempt to ensure the API is compliant and sensible
What are the relevant issues?
#809
Screenshots (if appropriate)
Questions:
- Do the docs need to be updated? Maybe - let me know what you need me to do.
- Does this PR add new (Python) dependencies? Adds new optional dependencies. You can use the MLPClassifier as part of existing dependencies (scikit-learn)
Coverage increased (+0.04%) to 96.172% when pulling 5719a8709ae9ae41e6fa0de62e5e2affff0e7bdf on chappers:feat/deeplearning_embedding into 815b0e28c7c8c4935363298bb6ce4713d280cece on EpistasisLab:master.
is this still happening?
Up to the maintainers
I am sorry for late response due to out of office for more than one month. I think removing MLPClassifier/MLPRegessor (only using Keras wraper) in this transformer is more practical because MLPClassifier/MLPRegessor are too slow on large dataset. As mentioned above, it will be an optional transformer. Also, it should be highly suggested on user guide that using Keras on GPU is highly recommended when using this transformer.
Please reimplement to the newest tpot implementation