Olá, Antoniel! Tudo joia?
Isso geralmente ocorre quando o formato dos dados não é o esperado pelo método que você está usando. No seu caso, o aviso está dizendo que um vetor de coluna foi passado quando um array 1D era esperado.
No trecho de código que você está usando para treinar o modelo:
from sklearn.svm import LinearSVC
modelo = LinearSVC()
modelo.fit(treino_x, treino_y)
O método fit
está esperando que treino_y
seja um array 1D, mas atualmente ele é um vetor de coluna (ou seja, um array 2D). Você pode resolver isso transformando treino_y
em um array 1D antes de passá-lo para o método fit
.
A função ravel()
do numpy pode ser usada para isso. Aqui está um exemplo de como você pode modificar seu código:
from sklearn.svm import LinearSVC
modelo = LinearSVC()
modelo.fit(treino_x, treino_y.values.ravel())
Neste exemplo, treino_y.values.ravel()
transforma treino_y
em um array 1D. O .values
é usado para obter os valores do DataFrame do pandas como um array numpy, e então ravel()
é usado para transformar esse array 2D em um array 1D.
Espero ter ajudado. Caso tenha mais problemas ou dúvidas referentes a este tópico, estarei à disposição para ajudá-lo.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.