text: from __future__ import print_function, division
  from builtins import range
  # Note: you may need to update your version of future
  # sudo pip install -U future
  
  
  import numpy as np
  from process import get_binary_data
  
  X, Y, _, _ = get_binary_data()
  
  # randomly initialize weights
  D = X.shape[1]
  W = np.random.randn(D)
  b = 0 # bias term
  
  # make predictions
  def sigmoid(a):
      return 1 / (1 + np.exp(-a))
  
  def forward(X, W, b):
      return sigmoid(X.dot(W) + b)
  
  P_Y_given_X = forward(X, W, b)
  predictions = np.round(P_Y_given_X)
  
  # calculate the accuracy
  def classification_rate(Y, P):
      return np.mean(Y == P)
  
  print("Score:", classification_rate(Y, predictions))