Source code for ml_grid.model_classes.NeuralNetworkClassifier_class

"""Defines the NeuralNetworkClassifier model class."""

from typing import Optional

import pandas as pd
from ml_grid.util import param_space

# from ml_grid.model_classes.nni_sklearn_wrapper import *
from ml_grid.model_classes.nni_sklearn_wrapper import NeuralNetworkClassifier

print("Imported NeuralNetworkClassifier class")


[docs] class NeuralNetworkClassifier_class: """NeuralNetworkClassifier with a predefined parameter space.""" def __init__( self, X: Optional[pd.DataFrame] = None, y: Optional[pd.Series] = None, parameter_space_size: Optional[str] = None, ): """Initializes the NeuralNetworkClassifier_class. Args: X (Optional[pd.DataFrame]): Feature matrix for training. Defaults to None. y (Optional[pd.Series]): Target vector for training. Defaults to None. parameter_space_size (Optional[str]): Size of the parameter space for optimization. This is not used in the current implementation as the parameter space is hardcoded. Defaults to None. """
[docs] self.X = X
[docs] self.y = y
[docs] self.algorithm_implementation = NeuralNetworkClassifier()
[docs] self.method_name = "NeuralNetworkClassifier"
[docs] self.parameter_vector_space = param_space.ParamSpace(parameter_space_size)
[docs] self.parameter_space = [ { "hidden_units_1": [1, 2, 3], "hidden_units_2": [1, 2, 3], "dropout_rate": [0.2, 0.3, 0.4], "learning_rate": [1e-4, 1e-3, 1e-2], "activation_func": ["relu", "tanh", "sigmoid"], "epochs": [5, 10, 15], "batch_size": [1], } ]
return None
# print("init log reg class ", self.parameter_space)