Olá Raphael, fico muito feliz que de alguma maneira estamos ajudando!
Para responder com precisão todas as perguntas precisaria entender mais afundo seu modelo e dados, mas vou tentar ajudar de uma forma mais geral!
- as Labels que ele não utiliza teria como colocar como zero?
R: Em relação ao BOW era para gerar um vetor sempre do mesmo tamanho, se o vocabulário tem 200 palavras era para gerar um vetor de 200 palavras. Será que vc não está retreinando o BOW com os dados de teste (No dados de teste não use o .fit nem .fit_trasform). Portanto as Labels que ele não utilizam já seriam zero e as labes desconhecidas pelo BOW seriam descartas.
- treinei meu modelo errado?
R: Não consigo garantir sem código e mais informação, vale debugar e escrever alguns testes unitários para tentar validar se está tudo correto.
- e se em algum momento o dataset de predição tiver mais Labels do que o dataset que meu modelo foi treinado, oque aconteceria?
R: Se está se referindo ao BOW elas seriam "descartadas", é como se aquelas labels não estive nos dados. Por isso e outros motivos! Vc precisa pensar em estratégias de como vc vai retreinar seu modelo, será depois de um tempo? Qual será esse tempo? Vou treinar a cada nova entrada?
Os dados são dinâmicos e mudam com o tempo, então precisa pensar nestas estratégias quando for colocar em produção!
- é possível selecionar só as Labels "n grams"?
R: Sim, se estiver usando o countvectorizer é só mudar o parâmetro ngram_range. Por exemplo, para usar só bigram use ngram_range = (2,2), se quer usar o token e o bigram juntos use ngram_range = (1,2).
- em produção como ficaria o bag of Word? Teria que pegar a base antiga e vetorizar tambem?
R: Em produção vc já vai ter seu BOW treinado e apenas fará a transformação dos dados, como eu disse anteriormente é preciso pensar em quando vc vai retreinar seu modelo com os novos dados e toda sua base antiga para deixalo cada vez mais abragente!
Bom, é difícil responder sem grandes informações, mas espero que tenha ajudado!
Bons estudos!