Olá, Kleber! Tudo bem com você?
Há algumas ressalvas a serem feitas em relação ao classificador utilizado.
- Atualizaram o parâmetro padrão do
strategy
. A versão utilizada durante o curso é a 0.20.0, e na versão 0.24 esse parâmetro foi modificado, conforme nos avisa a documentação:
Alterado na versão 0.24: O valor padrão da strategy foi alterado para “prior” na versão 0.24.
Portanto, se você não passar nada para esse parâmetro, a estratégia usada será diferente da usada durante o vídeo, que é a stratified
.
- Durante o vídeo, o instrutor não muda o parâmetro padrão, deixando-o da seguinte forma:
dummy_stratified = DummyClassifier()
dummy_mostfrequent = DummyClassifier()
Portanto, ao fazer isso, realmente os classificadores apresentados sairão iguais, justamente porque não é modificado esse parâmetro padrão.
A forma correta de fazer é especificando qual estratégia utilizar durante o treinamento da seguinte forma:
stratified
from sklearn.dummy import DummyClassifier
dummy_stratified = DummyClassifier(strategy='stratified')
dummy_stratified.fit(treino_x, treino_y)
previsoes = dummy_stratified.predict(teste_x)
acurácia = accuracy_score(teste_y, previsões) * 100
print("A acurácia do dummy foi %.2f%%" % acurácia)
most_frequent
dummy_mostfrequent = DummyClassifier(strategy="most_frequent")
dummy_mostfrequent.fit(treino_x, treino_y)
previsoes = dummy_mostfrequent.predict(teste_x)
acurácia = accuracy_score(teste_y, previsões) * 100
print("A acurácia do dummy most frequent foi %.2f%%" % acurácia)
Dessa forma, você terá dois classificadores dummy diferentes.
Vale ressaltar que os cursos de machine learning estão passando por um processo de atualização.
Qualquer dúvida estou à disposição. Bons estudos.