No momento de instanciar e treinar o LinearSVC()
recebi um warning de :
/usr/local/lib/python3.7/site-packages/sklearn/svm/_base.py:947: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.
"the number of iterations.", ConvergenceWarning)
Além do Warning, meu modelo teve acurácia diferente nas diversas vezes q executei, mesmo estratificando e tendo um SEED
para o random_state
e uma estratificação.
from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score
SEED = 20
train_x, test_x, train_y, test_y = train_test_split(x, y, test_size = 0.25, random_state = SEED, stratify = y)
print('Treinaremos com %d e testaremos com %d elementos' % (len(train_x), len(test_x)))
model = LinearSVC()
model.fit(train_x, train_y)
predictions = model.predict(test_x)
accuracy = accuracy_score(test_y, predictions) * 100
print('Tivemos uma precisão de %.2f%%' % (accuracy))
Tentei aumentar o número de iterações com
model = LinearSVC(max_iter = 10000)
mas não tive resultados por maior q fossem os números de iterações que tentei.