Boa noite. Ao executar a aula 03, seção 02 ("Testando em duas dimensões"), executei train_test_Split utilizando o parâmetro random_state. No entanto, ainda assim obtive valores diferentes de acurácia em cada iteração.
Utilizando o random_state igual a um valor fixo (nesse caso usei o valor 20), a acurácia obtida não deveria ser sempre a mesma? (considerando uma mesma base de dados)
Ex:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score
#Projetos finalizados: 1
#Projetos não finalizados: 0
uri = "https://gist.githubusercontent.com/guilhermesilveira/1b7d5475863c15f484ac495bd70975cf/raw/16aff7a0aee67e7c100a2a48b676a2d2d142f646/projects.csv"
dados = pd.read_csv(uri)
mapa = {
"unfinished":"nao_finalizados",
"expected_hours":"horas_esperadas",
"price":"preco"
}
troca = {
0 : 1,
1 : 0
}
dados = dados.rename(columns = mapa)
dados['finalizados'] = dados.nao_finalizados.map(troca)
SEED = 20
x = dados[['horas_esperadas', 'preco']]
y = dados['finalizados']
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("A acurácia foi %.2f%%" % acuracia)
Atenciosamente,