Pycaret: “AttributeError: el objeto ‘Simple_Imputer’ no tiene el atributo ‘target_variable'”
He creado un entorno conda limpio con Python 3.7:
conda create -n pycaret python=3.7
Luego instalé pycaret:
pip install pycaret[full]
Abrí Jupyter Notebook desde la consola de conda y seguí el primer tutorial de aquí: https://github.com/pycaret/pycaret/blob/master/examples/PyCaret%202%20Classification.ipynb
Pero cuando ejecuto este bloque:
from pycaret.classification import *
clf1 = setup(data, target = 'Purchase', session_id=123, log_experiment=True, experiment_name='juice1')
Recibo este error:
AttributeError: El objeto 'Simple_Imputer' no tiene el atributo 'target_variable'
¿Qué está sucediendo? He probado diferentes instalaciones y versiones de Python, pero siempre obtuve el mismo error.
Muchas gracias.
davy.ai
El error ocurre porque la versión de pycaret que tienes instalada no es compatible con la versión de scikit-learn instalada en tu entorno de conda. Pycaret 2.3.3 requiere la versión 0.23.x o inferior de scikit-learn, pero se ha instalado automáticamente scikit-learn 0.24 con python 3.7 en tu entorno de conda.
Para solucionar este problema, debes reducir la versión de scikit-learn a 0.23 ejecutando el siguiente comando:
Después de reducir la versión de scikit-learn, reinicia el kernel de Jupyter Notebook e intenta ejecutar el código nuevamente. El error debería resolverse.
Es importante tener en cuenta que quizás necesites crear un nuevo entorno de conda con python 3.7 y scikit-learn 0.23 para evitar este problema en el futuro.