from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score
SEED = 20
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_y)))
modelo = LinearSVC()
modelo.fit(treino_x, treino_y)
previsao = modelo.predict(teste_x)
acuracia = accuracy_score(teste_y, previsao)*100
print("A acurácia foi %.2f%%" % acuracia)
respostas:
Treinaremos com 1617 elementos e testaremos com 540 elementos A acurácia foi 47.41%
Treinaremos com 1617 elementos e testaremos com 540 elementos A acurácia foi 48.52%
Treinaremos com 1617 elementos e testaremos com 540 elementos A acurácia foi 49.44%
Treinaremos com 1617 elementos e testaremos com 540 elementos A acurácia foi 54.63%
Treinaremos com 1617 elementos e testaremos com 540 elementos A acurácia foi 57.78%
Pergunta:
Quando rodamos o modelo, o valor da acurácia está se alterando, esse valor não deveria ser fixo quando utilizamos o random state? Isso significa que o modelo não consegue se ajustar pois os dados precisam ser normalizados ?