Olá Andréa, tudo bem com você?
O erro que você está encontrando é devido a um pequeno equívoco na forma como você está tentando treinar o seu modelo. No seu código, você está tentando atribuir os dados e as classes ao método fit
do seu modelo, ao invés de chamá-lo com esses argumentos da seguinte forma: model.fit(dados, classes)
. Deixo abaixo a correção aplicada:
from sklearn.svm import LinearSVC
model = LinearSVC()
model.fit(dados, classes) # Aqui está a correção. Use parênteses, não igualdade.
O método 'fit' é uma função que treina o seu modelo nos dados e classes fornecidos. Quando você usa um sinal de igual (=), você está tentando redefinir a função 'fit' em si, ao invés de chamá-la.
Portanto, o seu código completo e corrigido ficaria assim:
# features (1 sim, 0 não)
# pelo longo?
# perna curta?
# faz au-au?
porco1 = [0, 1, 0]
porco2 = [0, 1, 1]
porco3 = [1, 1, 0]
cachorro1 = [0, 1, 1]
cachorro2 = [1, 0, 1]
cachorro3 = [1, 1, 1]
# 1 => porco, 0 => cachorro
dados = [porco1, porco2, porco3, cachorro1, cachorro2, cachorro3]
classes = [1, 1, 1, 0, 0, 0]
from sklearn.svm import LinearSVC
model = LinearSVC()
model.fit(dados, classes) # Aqui está a correção.
animal_misterioso = [1, 1, 1]
model.predict([animal_misterioso])
Após realizar a correção, basta dar continuidade na aula Primeiro treino e teste de um modelo de classificação a partir do minuto 8:10.
Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Em caso de dúvidas estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!