code: def fit(self, X, y):
      self.num_nodes_per_layer = int(self.num_nodes_per_layer)
      self.hidden_layer_depth = int(self.hidden_layer_depth)
      self.alpha = float(self.alpha)
  
      from sklearn.neural_network import MLPClassifier
  
      hidden_layer_sizes = tuple(
          self.num_nodes_per_layer
          for i in range(self.hidden_layer_depth)
      )
  
      self.estimator = MLPClassifier(
          hidden_layer_sizes=hidden_layer_sizes,
          activation=self.activation,
          alpha=self.alpha,
          solver=self.solver,
          random_state=self.random_state,
      )
      self.estimator.fit(X, y)
      return self
  
file_path: auto-sklearn/examples/80_extending/example_extending_classification.py
imports: from typing import Optional
  from pprint import pprint
  from ConfigSpace.configuration_space import ConfigurationSpace
  from ConfigSpace.hyperparameters import CategoricalHyperparameter, UniformIntegerHyperparameter, UniformFloatHyperparameter
  import sklearn.metrics
  from autosklearn.askl_typing import FEAT_TYPE_TYPE
  import autosklearn.classification
  import autosklearn.pipeline.components.classification
  from autosklearn.pipeline.components.base import AutoSklearnClassificationAlgorithm
  from autosklearn.pipeline.constants import DENSE, SIGNED_DATA, UNSIGNED_DATA, PREDICTIONS
  from sklearn.datasets import load_breast_cancer
  from sklearn.model_selection import train_test_split
label_desc: Use image node_id 2 for calling the MLPClassifier obj's underlying member method code with example usage: obj.fit(X, y) and returns: self