Neural Networks in scikit-learn

scikit-learn is my first choice when it comes to classical Machine Learning in Python. It has a good set of algorithms, supports sparse datasets, it is fast and has many utility functions, like cross-validation, grid search, etc.

When it comes to advanced modeling, scikit-learn many times falls shorts. If you need Boosting, Neural Networks or t-SNE,it is better to avoid scikit-learn.

scikit-learn has two basic implementations for Neural Nets. There is MLPClassifier for classification and MLPRegressor for regression. While both have a rich set of arguments, there isn’t an option to customize layers of a Neural Network (beyond setting the number of hidden units for each layer). There is also no GPU support.

Image for post

A rich set of arguments for a MultiLayer Perceptron in sklearn

Meet scikit-neuralnetwork

Image for post

Gif from giphy

scikit-neuralnetwork addresses the issues with scikit-learn mentioned above. While there are already superior libraries available like PyTorch or Tensorflow, scikit-neuralnetwork may be a good choice for those coming from a scikit-learn ecosystem.

From developers

scikit-neuralnetwork is a deep neural network implementation without the learning cliff! This library implements multi-layer perceptrons as a wrapper for the powerful pylearn2 library that’s compatible with scikit-learn for a more user-friendly and Pythonic interface.

#neural-networks #machine-learning #artificial-intelligence #data-science #deep-learning #deep learning

Deep Learning with scikit-learn
3.70 GEEK