Na aula 5 do curso machine learning introducao a classificacao com sklearn, a acurácia do LinearSVC foi igual ao DummyClassifier. Devo incluir algum parâmetro adicional devido as versões de imports diferentes das utilizadas no vídeo ?
import pandas as pd
from datetime import datetime
import seaborn as sns
import sklearn as sklearn
from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import StandardScaler
from sklearn.dummy import DummyClassifier
import numpy as np
print("Versão do pandas:", pd.__version__)
print("Versão do seaborn:", sns.__version__)
print("Versão do sklearn:", sklearn.__version__)
print("Versão do numpy:", np.__version__)
Versão do pandas: 1.1.3
Versão do seaborn: 0.11.0
Versão do sklearn: 0.23.2
Versão do numpy: 1.19.2
x = dados[["preco", "idade_do_modelo", "km_por_ano"]]
y = dados["vendido"]
seed = 5
np.random.seed(seed)
treino_x, teste_x, treino_y, teste_y = train_test_split(x, y, test_size = 0.25, stratify = y)
print("Treinaremos com %d elementos e testaremos com %d elementos" % (len(treino_x), len(teste_x)))
modelo = LinearSVC(dual = False)
modelo.fit(treino_x, treino_y)
previsoes = modelo.predict(teste_x)
acuracia = accuracy_score(teste_y, previsoes) * 100
print("A acuracia foi %.2f%%" % acuracia)
Treinaremos com 7500 elementos e testaremos com 2500 elementos
A acuracia foi 65.40%
dummy = DummyClassifier()
dummy.fit(treino_x, treino_y)
previsoes = modelo.predict(teste_x)
acuracia = accuracy_score(teste_y, previsoes) * 100
print("A acuracia foi %.2f%%" % acuracia)
A acuracia foi 65.40%
C:\Users\marlo\anaconda3\lib\site-packages\sklearn\dummy.py:131: FutureWarning: The default value of strategy will change from stratified to prior in 0.24.
warnings.warn("The default value of strategy will change from "