Untitled

 avatar
user_8080122
plain_text
2 years ago
1.3 kB
4
Indexable
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