ml_grid.model_classes.NeuralNetworkKerasClassifier

Keras Neural Network Classifier Wrapper.

This module provides a scikit-learn compatible wrapper for a Keras Sequential neural network for binary classification.

Classes

NeuralNetworkClassifier

Initializes the NeuralNetworkClassifier.

Module Contents

class ml_grid.model_classes.NeuralNetworkKerasClassifier.NeuralNetworkClassifier(hidden_layer_sizes: tuple[int, Ellipsis] = (64, 64), dropout_rate: float = 0.3, learning_rate: float = 0.001, activation_func: str = 'relu', epochs: int = 10, batch_size: int = 32, early_stopping_patience: int = 3, random_state: int | None = None)[source]

Bases: sklearn.base.BaseEstimator, sklearn.base.ClassifierMixin

Initializes the NeuralNetworkClassifier.

Parameters:
  • hidden_layer_sizes (tuple[int, ...]) – The number of units per hidden layer.

  • dropout_rate (float) – Dropout rate for the dropout layers.

  • learning_rate (float) – Learning rate for the Adam optimizer.

  • activation_func (str) – Activation function for the hidden layers.

  • epochs (int) – Number of epochs to train the model.

  • batch_size (int) – Number of samples per gradient update.

  • early_stopping_patience (int) – Number of epochs with no improvement on validation loss after which training will be stopped.

  • random_state (Optional[int]) – Seed for reproducibility. Defaults to None.

hidden_layer_sizes = (64, 64)[source]
dropout_rate = 0.3[source]
learning_rate = 0.001[source]
activation_func = 'relu'[source]
epochs = 10[source]
batch_size = 32[source]
early_stopping_patience = 3[source]
random_state = None[source]
model: tensorflow.keras.models.Sequential | None = None[source]
classes_: numpy.ndarray | None = None[source]
build_model(input_dim: int) tensorflow.keras.models.Sequential[source]

Builds and compiles the Keras Sequential model.

Parameters:

input_dim (int) – The number of input features.

Returns:

The compiled Keras model.

Return type:

Sequential

fit(X: numpy.ndarray, y: numpy.ndarray, **kwargs) NeuralNetworkClassifier[source]

Fits the neural network model to the training data.

Parameters:
  • X (np.ndarray) – The training input samples.

  • y (np.ndarray) – The target values.

Returns:

The fitted estimator.

Return type:

NeuralNetworkClassifier

predict(X: numpy.ndarray) numpy.ndarray[source]

Predicts class labels for samples in X.

Parameters:

X (np.ndarray) – The input samples to predict.

Returns:

The predicted class labels (0 or 1).

Return type:

np.ndarray

predict_proba(X: numpy.ndarray) numpy.ndarray[source]

Predicts class probabilities for samples in X.

Parameters:

X (np.ndarray) – The input samples.

Returns:

The class probabilities of the input samples.

Return type:

np.ndarray

score(X: numpy.ndarray, y: numpy.ndarray) float[source]

Returns the mean accuracy on the given test data and labels.

Parameters:
  • X (np.ndarray) – Test samples.

  • y (np.ndarray) – True labels for X.

Returns:

Mean accuracy of self.predict(X) wrt. y.

Return type:

float