Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Acurácia dos Dados

Eu propositalmente aumentei o percentual do "test_size" de 0.25 para 0.95, pois, imaginei que, com menos dados para treinar e com mais dados para testar, a acurácia, seria significativamente menor.

Porém, ela foi tão alta quantos antes, batendo os 96% de acurácia, mesmo treinando com pouquíssimos dados.

Eu até resetei o ambiente de execução para evitar qualquer interferência, mas mesmo assim, a acurácia continuou sendo alta mesmo com um treino reduzido.

Alguém saberia explicar?

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.95, 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)
1 resposta
solução!

Olá Lucas, tudo bem? Espero que sim!

Por se tratar de dados muito simples - com apenas 3 variáveis e todas elas binárias - não há muita diferenciação nos dados, o que faz com que muitos registros sejam idênticos. Desse modo, ainda que você pegue poucos dados para treinamento, o padrão será reconhecido mais facilmente.

De todo modo, na maior parte dos conjuntos de dados, que envolvem muitas variáveis, sendo categóricas e numéricas, não seria interessante escolher um valor muito pequeno a quantidade de dados de teste, podendo gerar underfitting.

Bons estudos!