1
resposta

Mesmo colocando SEED, acurácia altera?

Fiz esse código, relacionado a Aula 3 do Curso Machine Learning: Introdução a classificação com SKLearn, porém mesmo travando o SEED, cada RUN ALL ele altera? Normal? Isso porque tem 2 features?

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

SEED = 5

treino_x, teste_x, treino_y, teste_y = train_test_split (x, y, random_state=SEED, 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('Acuracia foi %.2f%%' % acuracia)

1 resposta

Olá Samuel,

Além de colocar um SEED no train_test_split, também podemos colocar no LinearSVC. É utilizado uma mistura/embaralhamento dos dados pelo LinearSVC e por isso o resultado de um modelo pode variar sem a remoção da aleatóriedade nessa mistura. Mais informações nesse link.

Você pode fazer assim para evitar:

SEED = 5
modelo = LinearSVC(random_state=SEED)