Olá Bruno, tudo bem? Espero que sim!
Desculpe pela demora em retornar.
Na verdade, o material disponibilizado possui a definição da função classificar() da seguinte forma:
def classificar(y, limiar):
return y > limiar
A diferença está em não colocar o valor padrão 0.5, mas é indicado no texto em Markdown logo acima da célula:
E para classificar nossaas amostras, devemos simplesmente checar se a probabilidade está acima de um limiar desejado (geralmente 0.5).
As outras duas células que você citou estão no material, mas não são alterações da definição e sim da aplicação da função.
Em um primeiro momento a função foi utilizada com os dados X:
classificados = classificar(prever_prob(theta, X), 0.5)
E em outros momentos foi usada utilizando X_train e X_test:
classificados = classificar(prever_prob(theta, X_train), 0.5)
print((classificados == y_train).mean())
X_test = np.c_[np.ones(X_test.shape[0]), X_test]
classificados = classificar(prever_prob(theta, X_test), 0.5)
print((classificados == y_test).mean())
O material das aulas pode ser encontrado através do repositório do GitHub.
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!