Neural Network

A multi-layer perceptron (MLP) algorithm with backpropagation.


  • Data: input dataset

  • Preprocessor: preprocessing method(s)


  • Learner: multi-layer perceptron learning algorithm

  • Model: trained model

The Neural Network widget uses sklearn's Multi-layer Perceptron algorithm that can learn non-linear models as well as linear.


  1. A name under which it will appear in other widgets. The default name is "Neural Network".

  2. Set model parameters:

    • Neurons per hidden layer: defined as the ith element represents the number of neurons in the ith hidden layer. E.g. a neural network with 3 layers can be defined as 2, 3, 2.

    • Activation function for the hidden layer:

      • Identity: no-op activation, useful to implement linear bottleneck

      • Logistic: the logistic sigmoid function

      • tanh: the hyperbolic tan function

      • ReLu: the rectified linear unit function

    • Solver for weight optimization:

      • L-BFGS-B: an optimizer in the family of quasi-Newton methods

      • SGD: stochastic gradient descent

      • Adam: stochastic gradient-based optimizer

    • Alpha: L2 penalty (regularization term) parameter

    • Max iterations: maximum number of iterations

    Other parameters are set to sklearn's defaults.

  3. Produce a report.

  4. When the box is ticked (Apply Automatically), the widget will communicate changes automatically. Alternatively, click Apply.


Neural Network uses default preprocessing when no other preprocessors are given. It executes them in the following order:

  • removes instances with unknown target values

  • continuizes categorical variables (with one-hot-encoding)

  • removes empty columns

  • imputes missing values with mean values

  • normalizes the data by centering to mean and scaling to standard deviation of 1

To remove default preprocessing, connect an empty Preprocess widget to the learner.


The first example is a classification task on iris dataset. We compare the results of Neural Network with the Logistic Regression.


The second example is a prediction task, still using the iris data. This workflow shows how to use the Learner output. We input the Neural Network prediction model into Predictions and observe the predicted values.