Python scikit-learn: no se puede clonar un objeto ... ya que el constructor no parece establecer el parámetro
Modifiqué elBernoulliRBM clase de scikit-learn para usar grupos de unidades visibles softmax. En el proceso, agregué una matriz Numpy adicionalvisible_config
como un atributo de clase que se inicializa en el constructor de la siguiente manera usando:
self.visible_config = np.cumsum(np.concatenate((np.asarray([0]),
visible_config), axis=0))
dóndevisible_config
es una matriz Numpy pasada como entrada al constructor. El código se ejecuta sin errores cuando uso directamente elfit()
función para entrenar al modelo. Sin embargo, cuando uso elGridSearchCV
estructura, me sale el siguiente error
Cannot clone object SoftmaxRBM(batch_size=100, learning_rate=0.01, n_components=100, n_iter=100,
random_state=0, verbose=True, visible_config=[ 0 21 42 63]), as the constructor does not seem to set parameter visible_config
Esto parece ser un problema en la verificación de igualdad entre la instancia de la clase y su copia creada porsklearn.base.clone porquevisible_config
no se copia correctamente No estoy seguro de cómo solucionar esto. Dice en la documentación quesklearn.base.clone
usa undeepcopy()
, entonces no deberíavisible_config
también se copian? ¿Puede alguien explicarme qué puedo probar aquí? ¡Gracias!