"""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.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)