1
resposta

ConvergenceWarning

Bom dia, ao executar o código:

from sklearn.model_selection import train_test_split from sklearn.svm import LinearSVC from sklearn.metrics import accuracy_score

SEED = 5 np.random.seed(SEED) treino_x, teste_x, treino_y, teste_y = train_test_split(x, y, test_size = 0.25, stratify = y) print("Treinaremos com %d elementos e testaremos com %d elementos" % (len(treino_x), len(teste_x)))

modelo = LinearSVC() modelo.fit(treino_x, treino_y) previsoes = modelo.predict(teste_x)

acuracia = accuracy_score(teste_y, previsoes) * 100 print("A acurácia foi %.2f%%" % acuracia)

Recebo a mensagem abaixo:

C:\ProgramData\Anaconda3\lib\site-packages\sklearn\svm\base.py:929: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. "the number of iterations.", ConvergenceWarning)

1 resposta

Olá Anderson,

Para gerar o melhor modelo que se adeque aos dados, o algoritmo usa um função matemática deve ser otimizada a cada iteração.

Geralmente existem dois critérios de parada de execução do algoritmo.

  1. A otimização da função deve ser inferior à um limite pré-estabelecido
  2. Caso o limite do ponto 1 não seja atingido, o algoritmo deve continuar sua otimização até um determinado número de iterações.

No seu caso, a função não convergiu para o valor pré-definido. Então o algoritmo parou sua execução de acordo com o limite máximo de iterações.

Abs

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software