1
resposta

Usando o 'predict()'

Como o 'predict()' sabe que ele precisa necessariamente prever as 'tags'? Pois só foi passado um único paraâmetro que foi as perguntas, como mostra o código abaixo:

from sklearn.metrics import hamming_loss

previsao_onevsrest = classificador_onevsrest.predict(perguntas_test_tfidf)
hamming_loss_onevsrest = hamming_loss(tags_teste_array, previsao_onevsrest)
print("Hamming Loss {0: .2f}".format(hamming_loss_onevsrest))
1 resposta

Olá João, tudo bem? Espero que sim!

Desculpe pela demora em retornar.

Ao criar o objeto classificador_onevsrest e utilizar o método fit() nos seus dados, os códigos por trás desse método serão responsáveis por encontrar um padrão nos seus dados e criam uma "fórmula" que poderá predizer novos dados.

Ao aplicar o método predict() nesse modelo treinado passando as variáveis explicativas, que no caso são as perguntas, e ele utilizará aquela "fórmula" criada através do método fit() para determinar o resultado dessa previsão.

Darei um exemplo de um modelo de função matemática, mas que funciona de forma parecida para os modelos de Machine Learning:

Imagine que você possua o seguinte conjunto de dados:

XY
24
12
-3-6
00

Temos na primeira coluna a variável X, entendida como variável explicativa de Y, a variável que queremos prever.

Rodando um modelo através do método fit(), encontraremos a função Y = 2X. Já que para todos os pontos, temos que Y é o dobro do valor de X.

A partir daí, caso queiramos prever o valor de X = 4 por exemplo, já teremos construída a nossa fórmula e poderemos encontrar que o valor de Y = 8, ou seja, só precisamos das variáveis explicativas para encontrar o resultado da variável Y.

A mesma ideia pode ser aplicada nos modelos de Machine Learning.

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!