Skip to content

Instantly share code, notes, and snippets.

@ksivaman
Created July 13, 2019 23:47
Show Gist options
  • Save ksivaman/3567180312f7dfc7d65a0d4d5c8d955e to your computer and use it in GitHub Desktop.
Save ksivaman/3567180312f7dfc7d65a0d4d5c8d955e to your computer and use it in GitHub Desktop.
Utils for binary classification in a feed forward neural net.
#binary cross entropy loss
def cross_entropy_loss(y_pred, train_Y):
num_samples = y_pred.shape[1]
cost = -1 / num_samples * (np.dot(train_Y, np.log(y_pred).T) + np.dot(1 - train_Y, np.log(1 - y_pred).T))
return np.squeeze(cost)
#convert probabilities to class prediction with threshold 0.5
def get_class_from_probs(probabilities):
class_ = np.copy(probabilities)
class_[class_ > 0.5] = 1
class_[class_ <= 0.5] = 0
return class_
#accuracy of predictions (0 to 1)
def accuracy_metric(y_pred, train_Y):
y_pred_class = get_class_from_probs(y_pred)
return (y_pred_class == train_Y).all(axis=0).mean()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment