1
resposta

Pontos de Dúvidas em: classificar()

A função classificar foi definida:

def classificar(y, limiar = 0.5):
    return (y > limiar) * 1

Entretanto foi escrita (alterada no material disponibilizado) assim;

classificar(prever_prob(theta, x_train), y_train)

Alterada em ambos os exemplos:

classificar(prever_prob(theta, x_train), 0.5)
1 resposta

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!