# Task 2:
 
def sigmoid(x):
    return 1 / (1 + np.e**(-x))
def predict_class(x_data):
    prediction =  np.dot(x_data, model.coef_.T) + model.intercept_
    prediction = sigmoid(prediction)
 
    return (prediction >= 0.5).reshape(-1).astype(int)
 
 
# Task 3:
def calc_accuracy(y_true, y_pred):
    total = len(y_true)
    cnt = 0
    for i in range(total):
        if y_true[i] == y_pred[i]:
            cnt += 1
    return cnt / total
 
 
# Task 4: Test these 2 functions
				IyBUYXNrIDI6CgpkZWYgc2lnbW9pZCh4KToKICAgIHJldHVybiAxIC8gKDEgKyBucC5lKiooLXgpKQpkZWYgcHJlZGljdF9jbGFzcyh4X2RhdGEpOgogICAgcHJlZGljdGlvbiA9ICBucC5kb3QoeF9kYXRhLCBtb2RlbC5jb2VmXy5UKSArIG1vZGVsLmludGVyY2VwdF8KICAgIHByZWRpY3Rpb24gPSBzaWdtb2lkKHByZWRpY3Rpb24pCiAgIAogICAgcmV0dXJuIChwcmVkaWN0aW9uID49IDAuNSkucmVzaGFwZSgtMSkuYXN0eXBlKGludCkKICAgICAgCgojIFRhc2sgMzoKZGVmIGNhbGNfYWNjdXJhY3koeV90cnVlLCB5X3ByZWQpOgogICAgdG90YWwgPSBsZW4oeV90cnVlKQogICAgY250ID0gMAogICAgZm9yIGkgaW4gcmFuZ2UodG90YWwpOgogICAgICAgIGlmIHlfdHJ1ZVtpXSA9PSB5X3ByZWRbaV06CiAgICAgICAgICAgIGNudCArPSAxCiAgICByZXR1cm4gY250IC8gdG90YWwKCgojIFRhc2sgNDogVGVzdCB0aGVzZSAyIGZ1bmN0aW9ucw==