2
respostas

[Dúvida] Não tá fazendo sentido o notebook do professor.

No LogisticRegression, o professor usa a variável "teste" no modelo_lr.transform. Vide seta abaixo:

from pyspark.ml.classification import LogisticRegression
lr = LogisticRegression()
modelo_lr = lr.fit(treino)
previsoes_lr_teste = modelo_lr.transform(teste) # <----
previsoes_lr_teste.show()

Na árvore de decisão ele faz diferente, em vez de usar "teste" ele usa o "treino". Vide seta abaixo:

from pyspark.ml.classification import DecisionTreeClassifier
dtc = DecisionTreeClassifier(seed=SEED)
modelo_dtc = dtc.fit(treino)
previsoes_dtc_treino = modelo_dtc.transform(treino) # <---
previsoes_dtc_treino.show()

Ele não deveria ter pego a variável teste para predizer?

Fiquei confuso.

2 respostas

É isso mesmo, acredito que na hora de fazer o código acabou confundindo as variáveis. Normalmente se faz o fit usando os dados de treino e as previsões são feitas com dados que não foram usado no fit, no caso, os dados de teste.

Vi agr que em outra aula ele usou o treino pra saber se o modelo estava se ajustando bem com os dados de treino.

Olá Dgeison e Damodara, tudo bem ? Espero que sim.

No vídeo Métricas é explicado o porque é necessário validar o modelo tanto com os dados treino quanto com os de teste.

O que gerou a confusão é porque houve um erro de digitação na aula de LogisticRegression, sinto muito por isso.

Vamos incluir um aviso na aula para deixar isso mais claro, desculpa pela confusão pessoal.

Se ainda tiverem alguma duvida ou algum ponto podem falar que eu vou ajudar.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!