2
respostas

estou com problema para executar o MlKNN

Essa linha aqui do código não executa pra mim:

from skmultilearn.adapt import MLkNN

classificador_mlknn = MLkNN()
classificador_mlknn.fit(perguntas_treino_tfidf, tags_treino_array)
resultado_mlknn = classificador_mlknn.score(perguntas_test_tfidf, tags_teste_array)
previsao_mlknn = classificador_mlknn.predict(perguntas_test_tfidf)
hamming_loss_mlknn = hamming_loss(tags_teste_array, previsao_cadeia)
print("Hamming Loss {0: .2f}".format(hamming_loss_mlknn))
print("Resultado {0: .2f}%".format(resultado_mlknn*100))

erro:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-29-016fd69dbf81> in <cell line: 4>()
      2 
      3 classificador_mlknn = MLkNN()
----> 4 classificador_mlknn.fit(perguntas_treino_tfidf, zip_array_treino)
      5 resultado_mlknn = classificador_mlknn.score(perguntas_test_tfidf, tags_teste_array)
      6 previsao_mlknn = classificador_mlknn.predict(perguntas_test_tfidf)

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
2 respostas

Olá, tudo bem?

Houve algumas atualizações que acaba gerando esse erro. Para que o valor fique exatamente como na aula, você pode baixar uma versão específica do scikit-multilearn, uma versão anterior.

  • Portanto, na linha correspondente a instalação, você poderá baixar a versão 0.2.0.
install scikit-multilearn==0.2.0;
  • Reinicie e executar o ambiente de execução do colab.

Captura de tela do Colab. No menu superior no botao ambiente de execução, está selecionado a opção Reiniciar e executar tudo

Outro aluno também conseguiu com a versão do scikit para scikit-learn==0.24.1.

Espero ter ajudado.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!