from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, confusion_matrix
df3 = pd.read_csv("car_data.csv", index_col = "User ID")
df3.head()
df3["Gender_dummy"] = df3["Gender"].replace({"Male":0, "Female":1})
df4 = df3.drop("Gender", axis = 1)
X = df4.iloc[:, [0,1,3]]
y = df4.iloc[:, 2]
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X = sc.fit_transform(X)
X
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state = 45)
logistic_reg = LogisticRegression()
logistic_reg.fit(X_train, y_train)
y_predict = logistic_reg.predict(X_test)
results= pd.DataFrame({"Actual": y_test, "Predicted": y_predict})
results
logistic_reg.intercept_
logistic_reg.coef_
from sklearn.metrics import confusion_matrix, accuracy_score, precision_score, recall_score, f1_score
cnf_matrix = confusion_matrix(y_test, y_predict)
cnf_matrix
sns.heatmap(pd.DataFrame(cnf_matrix), cmap = "coolwarm", annot = True)
plt.title("Confusion matrix", y = 1.1)
plt.ylabel("Actual label")
plt.xlabel("Predicted label")
accuracy = accuracy_score(y_test, y_pred)
accuracy
precision = precision_score(y_test, y_pred)
precision
recall = recall_score(y_test, y_pred)
recall
f1 = f1_score(y_test, y_pred)
f1