Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Proyecto] NO FUNCIONA EL MODELO MLKNN !

HOLA!

EL MODELO MLKNN PARA CALCULAR PRECISION Y HAMMING LOSS NO FUNCIONA, EL PROFESOR INSTALO LA VERSION DE SCKIT-LEARN==0.24.1 PARA PODER UTILIZAR EL CODIGO EN ESE MODELO EN COLAB, PERO NO EJECUTA EL CODIGO DEL MODELO YA QUE DA ERROR EN EL ENTRENAMIENTO.

VERSION INSTALADA POR EL PROFESOR: !pip install scikit-learn==0.24.1

ERROR: Collecting scikit-learn==0.24.1 Using cached scikit-learn-0.24.1.tar.gz (7.4 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: numpy>=1.13.3 in /usr/local/lib/python3.10/dist-packages (from scikit-learn==0.24.1) (1.26.4) Requirement already satisfied: scipy>=0.19.1 in /usr/local/lib/python3.10/dist-packages (from scikit-learn==0.24.1) (1.13.1) Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.10/dist-packages (from scikit-learn==0.24.1) (1.4.2) Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from scikit-learn==0.24.1) (3.5.0) Building wheels for collected packages: scikit-learn error: subprocess-exited-with-error

× Building wheel for scikit-learn (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. Building wheel for scikit-learn (pyproject.toml) ... error ERROR: Failed building wheel for scikit-learn Failed to build scikit-learn ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (scikit-learn)

---------------------------------------------------------------------------

MODELO MLKNN:

clasificador_mlknn = MLkNN(k=200)

clasificador_mlknn.fit(preguntas_train_tfidf, tags_train_array) Linea del codigo con ERROR

resultado_mlknn = clasificador_mlknn.score(preguntas_test_tfidf, tags_test_array)

print("Resultado {0: .2f}%".format(resultado_mlknn*100))

pronostico_mlknn = clasificador_mlknn.predict(preguntas_test_tfidf)

hamming_loss_mlknn = hamming_loss(tags_test_array, pronostico_mlknn)

print("Hamming Loss{0: .2f}".format(hamming_loss_mlknn))

ERROR:

TypeError Traceback (most recent call last) in <cell line: 2>() 1 clasificador_mlknn = MLkNN(k=200) ----> 2 clasificador_mlknn.fit(preguntas_train_tfidf, tags_train_array) # Entrenamos 3 resultado_mlknn = clasificador_mlknn.score(preguntas_test_tfidf, tags_test_array) 4 print("Resultado {0: .2f}%".format(resultado_mlknn*100)) 5 # Ahora utilizamos el PRONOSTICADOR de HAMMING LOSS:

1 frames /usr/local/lib/python3.10/dist-packages/skmultilearn/adapt/mlknn.py in compute_cond(self, X, y) 163 """ 164 --> 165 self.knn = NearestNeighbors(self.k).fit(X) 166 c = sparse.lil_matrix((self._num_labels, self.k + 1), dtype='i8') 167 cn = sparse.lil_matrix((self._num_labels, self.k + 1), dtype='i8')

TypeError: NearestNeighbors.init() takes 1 positional argument but 2 were given

1 respuesta

¡Hola! Parece que estás experimentando un problema con el modelo MLKNN al tratar de ejecutar el código en Colab. El error que estás recibiendo parece estar relacionado con la inicialización de la clase **NearestNeighbors en el módulo skmultilearn. **

El error específico que estás viendo es: "TypeError: NearestNeighbors.init() takes 1 positional argument but 2 were given". Esto indica que el método init() de NearestNeighbors está recibiendo más argumentos de los que espera.

Una posible solución para este problema podría ser verificar la versión de la biblioteca scikit-learn que estás utilizando. A veces, ciertas versiones de las bibliotecas pueden tener cambios en la forma en que se inicializan ciertas clases, lo que puede causar conflictos.

Te recomendaría intentar actualizar la versión de scikit-learn a la última disponible, ya que los errores de construcción de ruedas a menudo pueden estar relacionados con problemas de compatibilidad entre versiones. Puedes probar ejecutar el siguiente comando en una celda de código en Colab:

!pip install -U scikit-learn

Después de actualizar la biblioteca, intenta ejecutar tu código nuevamente para ver si el problema persiste. Si el error continúa, es posible que necesites buscar una solución específica para la versión de skmultilearn que estás utilizando.

Espero que esta información te sea útil y que puedas resolver el problema con el modelo MLKNN.Si tienes alguna otra pregunta, no dudes en preguntar.

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!