Skip to main content

MLPClassifier

#include <Skigen/NeuralNetwork>

template <typename Scalar = double>
class Skigen::MLPClassifier(hidden_layer_sizes={100}, activation=MLPActivation::ReLU, solver=MLPSolver::Adam, alpha=1e-4, learning_rate_init=1e-3, max_iter=200, tol=1e-4, batch_size=0, random_state=std::nullopt, beta_1=0.9, beta_2=0.999, epsilon=1e-8)

Multi-layer perceptron classifier (binary + multiclass).

Mirrors sklearn.neural_network.MLPClassifier.

Architecture: hidden layers with the chosen activation, followed by a logistic (sigmoid) output unit for binary or softmax for multiclass. Trained by mini-batch SGD or Adam on the cross-entropy loss with L2 weight regularisation (alpha).



Attributes:

  • hidden_layer_sizes : const std::vector< int > &

  • activation : MLPActivation

  • solver : MLPSolver

  • classes : const Eigen::VectorXi

  • n_classes : int

  • n_iter_run : int

  • loss : Scalar

  • coefs : const std::vector< MatrixType > &

  • intercepts : const std::vector< VectorType > &


Methods

SKIGEN_PARAMS()


predict(X)


predict_proba(X)

Probability matrix shape (n_samples, n_classes).