quando rodo o código onde separamos treino e teste utilizando a função train_test_split nao sai o valor igual do professor e o random ainda permanece ativado mesmo que eu tenha colocado o SEED certinho.
em outras publicações aqui no forúm foi dito que é só um aviso etc. Mas, porque então o professor não tem esse erro? e porque a gente não consegue parar o efeito randômico? porque toda vez que rodar esse codigo sai um valor diferente como se eu nao tivesse definido o radom_state.
Mas o do professor sai certinho, por quê?
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,
stratify = y,
test_size = 0.25)
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)
output:
Treinaremos com 1617 elementos e testaremos com 540 elementos
A acurácia foi 69.07%
/usr/local/lib/python3.6/dist-packages/sklearn/svm/_base.py:947: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
"the number of iterations.", ConvergenceWarning)