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:
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!