# Complex demo: Recap basic stats and visualization from previous days
import pandas as pd
import numpy as np
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
import seaborn as sns

def recap_demo1():
    iris = load_iris()
    df = pd.DataFrame(iris.data, columns=iris.feature_names)
    df['Target'] = iris.target
    stats = df.describe()
    print("Recap Stats:\n", stats)
    correlation = df.corr()
    sns.heatmap(correlation, annot=True, cmap='coolwarm')
    plt.title('Recap Correlation Heatmap for Iris')
    plt.annotate('High Corr', xy=(0, 0), xytext=(1, 1), arrowprops=dict(facecolor='black', shrink=0.05))
    plt.show()
    plt.scatter(df['sepal length (cm)'], df['sepal width (cm)'], c=df['Target'], cmap='viridis')
    plt.title('Recap Scatter Plot for Iris')
    plt.xlabel('Sepal Length')
    plt.ylabel('Sepal Width')
    plt.annotate('Cluster Separation', xy=(6, 3), xytext=(7, 3.5), arrowprops=dict(facecolor='black', shrink=0.05))
    plt.show()

recap_demo1()