Boa noite pessoal, tudo certo?
Estou com um erro aqui e não sei o que estou fazendo de errado.
O meu código:
classificador_mlknn = MLkNN(k=10)
classificador_mlknn.fit(perguntas_treino_tfidf, tags_treino_array)
resultado_mlknn = classificador_mlknn.score(perguntas_teste_tfidf, tags_teste_array)
print(f'Acurácia: {round(100 * resultado_mlknn, 2)}%')
previsao_mlknn = classificador_mlknn.predict(perguntas_teste_tfidf)
hamming_loss_mlknn = hamming_loss(tags_teste_array, previsao_mlknn)
print(f'Hamming Loss: {round(hamming_loss_mlknn, 2)}')
E o erro:
TypeError Traceback (most recent call last)
<ipython-input-26-8b4f0e30d2c9> in <module>()
1 classificador_mlknn = MLkNN(k=10)
2
----> 3 classificador_mlknn.fit(perguntas_treino_tfidf, tags_treino_array)
4 resultado_mlknn = classificador_mlknn.score(perguntas_teste_tfidf, tags_teste_array)
5
/usr/local/lib/python3.7/dist-packages/skmultilearn/adapt/mlknn.py in fit(self, X, y)
216 self._prior_prob_true, self._prior_prob_false = self._compute_prior(self._label_cache)
217 # Computing the posterior probabilities
--> 218 self._cond_prob_true, self._cond_prob_false = self._compute_cond(X, self._label_cache)
219 return self
220
/usr/local/lib/python3.7/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: __init__() takes 1 positional argument but 2 were given
Assim, no método fit()
do classificador MLkNN
eu não tenho que passar os dois argumentos, as perguntas de treino e as tags de treino? Não entendi pq ele tá me retornando esse erro.
E nem é problema com a errata que colocaram antes da aula.
Alguém poderia ajudar?