Boa tarde pessoal, tudo bem?
Estou fazendo o Challenge de DS daqui da Alura e estou tentando colocar em prática o que estou aprendendo nesse curso, mas cheguei num ponto que não sei se comi bola em algum ponto ou a "função" .fit() não é para usar como estou tentando. Abaixo a imagem da variável x:
Quando faço tudo exatamente como ensinado nesta aula, e chego nessa parte do código:
from sklearn.svm import LinearSVC
modelo = LinearSVC()
modelo.fit(treino_x, treino_y)
Aparece o seguinte erro:
ValueError: could not convert string to float: '0002-ORFBO'
Pesquisando nos fóruns e biblioteca, falam muito sobre o uso de virgula nessa conversão de strings, mas não falam de traço. Quando tiro a coluna 'customerID' onde se encontra esse '0002-ORFBO', ele dá o mesmo erro mas mostra o primeiro registro da coluna 'Genero', e assim por diante.
Pensando que no curso o Guilherme utiliza um exemplo com 0 e 1, pensei que utilizando o .fit() nessa circunstância ele aceitaria apenas 0 e 1. Sendo assim, retirei todas as colunas que tenham letras, e números que não sejam 0 e 1 como registro. Fazendo isso, e rodando o código recebemo o seguinte Warning:
DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
Vi um post neste fórum que o rapaz faz uma pergunta sobre esse 'ravel()', mas de longe o resultado que meu código apresenta é igual ao do Guilherme na aula, ai minha dúvida é a seguinte:
O .fit() deve ser usado apenas com 0 e 1? --> Se sim, blz, vou arrumar a minha base para que ela tenha 0 e 1 de vez 'Yes' ou 'No' por exemplo; --> Se não, onde pode estar o meu erro?
Desde já muito obrigado pela atenção, Abraço a todos