\documentclass[a4paper,11pt]{article}

% Packages
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{geometry}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{tcolorbox}
\usepackage{fancyhdr}
\usepackage{multicol}

% Configuration de la page
\geometry{margin=2cm}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{Page \thepage/4 -- Activité k-NN : Micro-régions}
\renewcommand{\headrulewidth}{0pt}

% Couleurs pour les micro-régions
\definecolor{region1}{RGB}{231,76,60}      % Rouge
\definecolor{region2}{RGB}{52,152,219}     % Bleu
\definecolor{region3}{RGB}{46,204,113}     % Vert
\definecolor{region4}{RGB}{241,196,15}     % Jaune
\definecolor{region5}{RGB}{155,89,182}     % Violet
\definecolor{lightblue}{RGB}{227,242,253}
\definecolor{lightyellow}{RGB}{255,243,205}

% Configuration TikZ
\usetikzlibrary{shapes.geometric,calc}

\begin{document}

% ============= PAGE 1 =============
\begin{center}
    {\Huge \textbf{Activité débranchée : k-NN}}\\[0.3cm]
    {\Large \textbf{Classification par micro-régions}}
\end{center}

\vspace{0.5cm}

\textbf{Objectif :} Utiliser l'algorithme k-NN pour déterminer à quelle micro-région appartient un nouveau point, en se basant sur ses plus proches voisins.

\vspace{0.3cm}

\begin{tcolorbox}[colback=lightblue,colframe=blue!75!black,title=\textbf{Principe}]
\begin{itemize}[leftmargin=*]
    \item On dispose de points classifiés en plusieurs \textit{zones} (micro-régions)
    \item Pour classifier un nouveau point, on identifie ses \textit{k} plus proches voisins
    \item La zone majoritaire parmi ces \textit{k} voisins devient la classification du point
    \item \textbf{Différence avec 2 classes :} Avec plusieurs zones, les votes sont plus complexes !
\end{itemize}
\end{tcolorbox}

\vspace{0.5cm}

\section*{Exercice 1 : Classification avec 5 zones}

Voici des points répartis en 5 zones de couleurs différentes. Le point noir ($\star$) est à classifier.

\vspace{0.3cm}

\begin{center}
\begin{tikzpicture}[scale=1.1]
    % Grille
    \draw[gray!30, step=1] (0,0) grid (10,10);
    
    % Cadre
    \draw[thick] (0,0) rectangle (10,10);
    
    % Zone 1 (Rouge) - En haut à gauche
    \foreach \point in {(1,9), (1.5,8.5), (2,9.5), (1,8), (2.5,8.5), (1.5,7.5)} {
        \fill[region1] \point circle (0.15);
    }
    
    % Zone 2 (Bleu) - En haut à droite
    \foreach \point in {(8,9), (8.5,8.5), (9,9.5), (8,8), (9.5,8.5), (8.5,7.5)} {
        \fill[region2] \point circle (0.15);
    }
    
    % Zone 3 (Vert) - En bas à gauche
    \foreach \point in {(1,2), (1.5,1.5), (2,2.5), (1,1), (2.5,1.5), (1.5,2.5)} {
        \fill[region3] \point circle (0.15);
    }
    
    % Zone 4 (Jaune) - En bas à droite
    \foreach \point in {(8,2), (8.5,1.5), (9,2.5), (8,1), (9.5,1.5), (8.5,2.5)} {
        \fill[region4] \point circle (0.15);
    }
    
    % Zone 5 (Violet) - Au centre
    \foreach \point in {(5,5), (5.5,5.5), (4.5,5.5), (5.5,4.5), (4.5,4.5), (5,6)} {
        \fill[region5] \point circle (0.15);
    }
    
    % Point à classifier (étoile noire)
    \node[star,star points=5,star point ratio=2.5,fill=black,draw=black,thick,minimum size=0.6cm] at (6.5,6) {};
    
\end{tikzpicture}

\vspace{0.3cm}

% Légende
\begin{tabular}{ccccccccc}
    \textcolor{region1}{$\bullet$} Zone 1 & \quad &
    \textcolor{region2}{$\bullet$} Zone 2 & \quad &
    \textcolor{region3}{$\bullet$} Zone 3 & \quad &
    \textcolor{region4}{$\bullet$} Zone 4 & \quad &
    \textcolor{region5}{$\bullet$} Zone 5
\end{tabular}
\end{center}

\vspace{0.5cm}

\subsection*{Questions avec k = 3 :}

\begin{enumerate}
    \item Identifiez les 3 points les plus proches du point noir $\star$. Tracez les distances.
    
    \vspace{0.3cm}
    Les 3 plus proches : Zone \underline{\hspace{1cm}}, Zone \underline{\hspace{1cm}}, Zone \underline{\hspace{1cm}}
    
    \vspace{0.3cm}
    \item Comptez les votes pour chaque zone parmi ces 3 voisins :
    
    \vspace{0.2cm}
    Zone 1 : \underline{\hspace{1cm}} \quad Zone 2 : \underline{\hspace{1cm}} \quad Zone 3 : \underline{\hspace{1cm}}
    
    Zone 4 : \underline{\hspace{1cm}} \quad Zone 5 : \underline{\hspace{1cm}}
    
    \vspace{0.3cm}
    \item Quelle est la zone majoritaire ? \underline{\hspace{4cm}}
    
    \vspace{0.3cm}
    \item Y a-t-il égalité entre plusieurs zones ? \underline{\hspace{4cm}}
\end{enumerate}

% ============= PAGE 2 =============
%\newpage

\section*{Exercice 2 : Influence de k avec plusieurs classes}

Reprenez le même graphique que l'exercice 1.

\vspace{0.5cm}

\subsection*{a) Avec k = 5 (5 voisins)}

\begin{itemize}
    \item Listez les 5 points les plus proches :
    
    \vspace{0.2cm}
    Zone \underline{\hspace{1.5cm}}, Zone \underline{\hspace{1.5cm}}, Zone \underline{\hspace{1.5cm}},
    
    Zone \underline{\hspace{1.5cm}}, Zone \underline{\hspace{1.5cm}}
    
    \vspace{0.3cm}
    \item Votes par zone :
    
    \vspace{0.2cm}
    Zone 1 : \underline{\hspace{1cm}} \quad Zone 2 : \underline{\hspace{1cm}} \quad Zone 3 : \underline{\hspace{1cm}}
    
    Zone 4 : \underline{\hspace{1cm}} \quad Zone 5 : \underline{\hspace{1cm}}
    
    \vspace{0.3cm}
    \item Classification du point noir : Zone \underline{\hspace{3cm}}
\end{itemize}

\vspace{0.8cm}

\subsection*{b) Avec k = 7 (7 voisins)}

\begin{itemize}
    \item Votes par zone :
    
    \vspace{0.2cm}
    Zone 1 : \underline{\hspace{1cm}} \quad Zone 2 : \underline{\hspace{1cm}} \quad Zone 3 : \underline{\hspace{1cm}}
    
    Zone 4 : \underline{\hspace{1cm}} \quad Zone 5 : \underline{\hspace{1cm}}
    
    \vspace{0.3cm}
    \item Classification du point noir : Zone \underline{\hspace{3cm}}
\end{itemize}

\vspace{1cm}

\begin{tcolorbox}[colback=lightyellow,colframe=orange!75!black,title=\textbf{Réflexion : Plusieurs classes}]

\textbf{1. Qu'est-ce qui change par rapport à 2 classes seulement ?}

\vspace{0.8cm}
\underline{\hspace{14cm}}

\vspace{0.4cm}
\underline{\hspace{14cm}}

\vspace{0.5cm}

\textbf{2. Peut-il y avoir des égalités entre zones ? Donnez un exemple.}

\vspace{0.8cm}
\underline{\hspace{14cm}}

\vspace{0.4cm}
\underline{\hspace{14cm}}

\vspace{0.5cm}

\textbf{3. Comment résoudre une égalité ?}

\vspace{0.8cm}
\underline{\hspace{14cm}}

\vspace{0.4cm}
\underline{\hspace{14cm}}

\end{tcolorbox}

% ============= PAGE 3 =============
%\newpage

\section*{Exercice 3 : Cas complexe avec 4 zones}

Voici une nouvelle situation avec 4 zones différentes. Classifiez le point $\star$ avec k = 5.

\vspace{0.3cm}

\begin{center}
\begin{tikzpicture}[scale=1.2]
    % Grille
    \draw[gray!30, step=1] (0,0) grid (10,10);
    
    % Cadre
    \draw[thick] (0,0) rectangle (10,10);
    
    % Zone A (Rouge) - Dispersée
    \foreach \point in {(1,8), (2,7), (1,6), (3,8.5), (2.5,6.5), (1.5,9)} {
        \fill[region1] \point circle (0.15);
    }
    
    % Zone B (Bleu) - Coin supérieur droit
    \foreach \point in {(8,8), (9,8.5), (8.5,7.5), (9,9), (8,9.5), (7.5,8)} {
        \fill[region2] \point circle (0.15);
    }
    
    % Zone C (Vert) - En bas
    \foreach \point in {(3,2), (4,1.5), (5,2), (6,1.5), (4,2.5), (5,1)} {
        \fill[region3] \point circle (0.15);
    }
    
    % Zone D (Violet) - Centre-droit
    \foreach \point in {(6,5), (7,5.5), (6.5,4.5), (7.5,5), (6,6), (7,6.5)} {
        \fill[region5] \point circle (0.15);
    }
    
    % Point à classifier
    \node[star,star points=5,star point ratio=2.5,fill=black,draw=black,thick,minimum size=0.6cm] at (5.5,5.5) {};
    
\end{tikzpicture}

\vspace{0.3cm}

% Légende
\begin{tabular}{ccccccc}
    \textcolor{region1}{$\bullet$} Zone A & \quad &
    \textcolor{region2}{$\bullet$} Zone B & \quad &
    \textcolor{region3}{$\bullet$} Zone C & \quad &
    \textcolor{region5}{$\bullet$} Zone D
\end{tabular}
\end{center}

\vspace{0.5cm}

\subsection*{Travail à faire :}

\begin{enumerate}
    \item Identifiez les 5 plus proches voisins et tracez les distances sur le graphique
    
    \vspace{0.3cm}
    \item Complétez le tableau de votes :
    
    \vspace{0.3cm}
    \begin{center}
    \begin{tabular}{|c|c|c|c|}
    \hline
    Zone A & Zone B & Zone C & Zone D \\
    \hline
    \hspace{1.5cm} & \hspace{1.5cm} & \hspace{1.5cm} & \hspace{1.5cm} \\[0.5cm]
    \hline
    \end{tabular}
    \end{center}
    
    \vspace{0.3cm}
    \item Classification finale : Zone \underline{\hspace{4cm}}
    
    \vspace{0.3cm}
    \item Cette classification vous semble-t-elle cohérente visuellement ? Pourquoi ?
    
    \vspace{0.8cm}
    \underline{\hspace{14cm}}
    
    \vspace{0.4cm}
    \underline{\hspace{14cm}}
\end{enumerate}

% ============= PAGE 4 =============
%\newpage

\section*{Exercice 4 : Création libre}

Créez votre propre situation avec au moins 3 zones différentes.

\vspace{0.5cm}

\begin{center}
\begin{tikzpicture}[scale=1.3]
    % Grille
    \draw[gray!20, step=1] (0,0) grid (12,12);
    
    % Cadre
    \draw[very thick] (0,0) rectangle (12,12);
    
    % Graduations
    \foreach \x in {0,2,4,6,8,10,12} {
        \node[below] at (\x,-0.2) {\small \x};
    }
    \foreach \y in {0,2,4,6,8,10,12} {
        \node[left] at (-0.2,\y) {\small \y};
    }
\end{tikzpicture}
\end{center}

\vspace{0.5cm}

\begin{tcolorbox}[colback=lightblue,colframe=blue!75!black,title=\textbf{Instructions}]
\begin{itemize}
    \item Choisissez 3 à 5 zones (utilisez des couleurs différentes)
    \item Placez au moins 5 points par zone
    \item Placez une étoile noire (point à classifier)
    \item Utilisez k = 5 et déterminez la zone du point noir
\end{itemize}
\end{tcolorbox}

\vspace{0.5cm}

\textbf{Vos zones :}

Zone 1 : \underline{\hspace{3cm}} (couleur : \underline{\hspace{2cm}})

Zone 2 : \underline{\hspace{3cm}} (couleur : \underline{\hspace{2cm}})

Zone 3 : \underline{\hspace{3cm}} (couleur : \underline{\hspace{2cm}})

\vspace{0.3cm}

\textbf{Classification avec k = 5 :} Zone \underline{\hspace{4cm}}

\vspace{1cm}

\section*{Pour aller plus loin}

\subsection*{Applications avec plusieurs classes}

L'algorithme k-NN avec plusieurs classes est utilisé pour :
\begin{itemize}
    \item \textbf{Reconnaissance de chiffres} : Classifier 0, 1, 2, ..., 9 (10 classes)
    \item \textbf{Classification de fleurs} : Différentes espèces (iris, rose, tulipe...)
    \item \textbf{Zonage géographique} : Micro-régions, quartiers, zones climatiques
    \item \textbf{Diagnostic médical} : Plusieurs types de maladies possibles
    \item \textbf{Reconnaissance vocale} : Identifier différents phonèmes ou mots
\end{itemize}

\vspace{0.5cm}

\subsection*{Défis avec plusieurs classes}

\begin{enumerate}
    \item \textbf{Égalités plus fréquentes} : Avec 2 classes, égalité rare. Avec 5 classes, beaucoup plus probable !
    
    \item \textbf{Choix de k important} : Si k est trop petit, risque de ne pas capturer la diversité. Si trop grand, perd la précision locale.
    
    \item \textbf{Classes déséquilibrées} : Si une zone a beaucoup plus de points qu'une autre, elle sera sur-représentée.
    
    \item \textbf{Frontières complexes} : Avec plusieurs zones, les frontières peuvent être très irrégulières.
\end{enumerate}

\vspace{0.5cm}

\begin{tcolorbox}[colback=lightyellow,colframe=orange!75!black,title=\textbf{Question finale}]
Pourquoi est-il préférable d'utiliser un \textit{k} impair lorsqu'on a un nombre pair de classes ?

\vspace{1cm}
\underline{\hspace{14cm}}

\vspace{0.4cm}
\underline{\hspace{14cm}}
\end{tcolorbox}

\end{document}
