import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from sklearn.datasets import load_iris
from sklearn.metrics import confusion_matrix
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
iris = load_iris() # Load the iris dataset
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, random_state=42)
model = DecisionTreeClassifier(random_state=42)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
cm = confusion_matrix(y_test, y_pred)
# Plot the confusion matrix using matplotlib
fig, ax = plt.subplots()
im = ax.imshow(cm, cmap=plt.cm.Blues)
for i in range(len(iris.target_names)):
for j in range(len(iris.target_names)):
text = ax.text(j, i, cm[i, j],
ha="center", va="center", color="w")
ax.set_title('Confusion Matrix')
ax.set_xlabel('Predicted Labels')
ax.set_ylabel('Actual Labels')
ax.set_xticks(np.arange(len(iris.target_names)))
ax.set_yticks(np.arange(len(iris.target_names)))
ax.set_xticklabels(iris.target_names)
ax.set_yticklabels(iris.target_names)
plt.colorbar(im)
plt.show()