Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida - randon_state = seed

Gostaria de saber qual a função do Random State e por que criar uma variável "SEED", com um valor =20, como nesse meu caso abaixo

from sklearn.svm import LinearSVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import pandas as pd

uri='https://gist.githubusercontent.com/guilhermesilveira/2d2efa37d66b6c84a722ea627a897ced/raw/10968b997d885cbded1c92938c7a9912ba41c615/tracking.csv'

data=pd.read_csv(uri)

x=data[["home", "how_it_works", "contact"]]
y=data["bought"]

seed=20

treino_x, teste_x, treino_y, teste_y = train_test_split(x, y, random_state=seed, test_size=0.25, stratify=y)

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

print("Taxa de acerto:", acuracia * 100, "%" )
3 respostas
solução!

Olá Fellipe,

A variável seed, é usada para fixar o gerador de aleatoriedade do algoritmo.

Dessa forma, sempre que você executar o código as amostras aleatórias serão sempre as mesmas.

Você pode alterar o padrão de aleatoriedade alterando o valor da variável seed.

Abs

Mas qual a unidade desse valor? Por exemplo, no meu caso utilizei 20, isso representa 20% de aleatoriedade ou ele não tem uma unidade? Se não, qual seria o range desse número (0 a 20, sendo 20 nenhuma aleatoriedade e 0 totalmente aleatório)?

Oi Fellipe,

O número não tem unidade definida. Ele é um número para iniciar o gerador de valores aleatórios.

Não exatamente como funciona esse processo de geração de valores aleatórios, só sei que várias linguagens usam a data do sistema operacional para gerar valores aleatórios, mas quando vc seta o seed, o valor inicial que o computador vai usar é o que você atribui em seed.

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