Example: 0 or 1, pass or fail, male or female, etc.
Example: Laptop, monitor, CPU, etc.
Example: Low, medium, high.
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
df = pd.read_csv("insurance_data.csv")
x = df[["age"]].values
y = df["bought_insurance"]
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)
logistic_regressor = LogisticRegression()
logistic_regressor.fit(x_train, y_train)
print("Model score is")
print(logistic_regressor.score(x_test, y_test))
print("Customer buy insurance")
print(logistic_regressor.predict([[25]]))
print(logistic_regressor.predict([[35]]))
print(logistic_regressor.predict([[45]]))
Model score is
1.0
Customer buy insurance
[0]
[0]
[1]
# Cross verify using Logistic Regression formula
import math
def sigmoid(x):
y = 1 / (1 + math.exp(-x))
return y
def predict_using_formula(x):
a0 = logistic_regressor.intercept_
a1 = logistic_regressor.coef_
predicted_y = a0 + a1 * x
y = sigmoid(predicted_y)
return y
def person_buy_insurance(age):
y = predict_using_formula(age)
buy_insurance = 0
if y > 0.5:
buy_insurance = 1
else:
buy_insurance = 0
return buy_insurance
print("Customer buy insurance")
print(person_buy_insurance(25))
print(person_buy_insurance(35))
print(person_buy_insurance(45))
Customer buy insurance
0
0
1