"""Lesson 15 starter: sigmoid probabilities and score thresholds."""
import numpy as np

scores = np.array([-3., -1., 0., 0.5, 2.])

def sigmoid(z):
    return 1 / (1 + np.exp(-z))

prob = sigmoid(scores)

# Probability rule
classes_from_prob = np.where(prob >= 0.5, 1, -1)

# Equivalent score rule
classes_from_score = np.where(scores >= 0, 1, -1)

print("scores =", scores)
print("probabilities =", prob)
print("classes from probability threshold =", classes_from_prob)
print("classes from score threshold =", classes_from_score)
print("same classes? ", np.array_equal(classes_from_prob, classes_from_score))
