Ao utilizar o modelo LinearSVC(), o Random State não está funcionando... Ao rodar o modelo várias vezes, ele fornece um resultado diferente.
O código que eu utilizei foi esse:
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('Treino: %d elementos' % treino_x.shape[0])
print('Teste: %d elementos' % teste_x.shape[0])
modelo = LinearSVC()
modelo.fit(treino_x, treino_y)
previsoes = modelo.predict(teste_x)
acuracia = accuracy_score(teste_y, previsoes)*100
print('Acurária: %.2f%%' % acuracia)
E o resultado foi:
Treino: 1617 elementos Teste: 540 elementos Acurária: 47.41% <diretório>site-packages/sklearn/svm/_base.py:1244: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(