# 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==