\input{tikz/asset/data}


\begin{tikzpicture}
    \def\h{3.5} %décalage modèle
    \def\i{1.5} %décalage split
    \def\j{4.5} %décalage données synthétique

    %\draw[fill=red] (-1.1,1) rectangle (7.2,-2.5);
    %\draw[fill=green] (-1.1,-2.5) rectangle (7.2,-5);
    %\draw[fill=blue] (-1.1,-5) rectangle (7.2,-8);
    %\draw[fill=white,fill opacity=0.8] (-1.1,1) rectangle (7.2,-8);

    %\node[single arrow, anchor=west, very thick, fill=lightgray, fill opacity=0.9,
    %  minimum width = 30pt, single arrow head extend=3pt,
    %  minimum height=89mm,
    %  rotate=-90] () at (3,1){};

    \node[database,label={[align=left]left:Données\\réelles}] (d) at (0,0){};
    \node[rectangle,draw,align=center] (overfit) at (2,0) {OVR\\CTRL};
    \draw[->] (d) to node[midway,above] {80\%} (overfit);
    \node[database,label=above:$m$] (realtr) at (4,0){};
    \draw[->] (overfit) to (realtr);
    \node[rectangle,draw,align=center] (gen) at (6+\h,0) {Modèle\\génératif};
    \draw[->] (realtr) to node[midway,above] {entraînement} (gen);
    \pause

    \node[database,label={[align=left]right:Données\\synthétiques}] (syn) at (5+\j,-2) {};
    \draw[->] (gen) to (syn);
    \node[database,label=below:$\bar{m}$] (realte) at (0,-1.5) {};
    \draw[->,blue] (d) to node[midway,left] {20\%}(realte);
    \node[rectangle,draw,align=center] (tarmod) at (2,-2) {Modèle\\cible};
    \draw[->,blue] (realte) to[out=0,in=130] node[midway,above] {eval} (tarmod);
    \draw[->,red] (realtr) to node[midway,right] {eval} (tarmod);
    \draw[->] (syn) to[out=180,in=0] node[midway,above] {entraînement} (tarmod);
    \pause
    \node[database,label={[align=center]left:coût\\$\bar{m}$}] (miam) at (1.5,-5) {};
    \node[database,label={[align=center]right:coût\\$m$}] (mian) at (2.5,-5) {};
    \node[database,label={[align=center]below:Base\\MIA}] (mia) at (2,-6.5) {};
    \draw[->,blue] (tarmod) to node[midway,fill=white] (aiabranch) {\small prédiction} (miam);
    \draw[->,red] (tarmod) to (mian);
    \draw[->,blue] (miam) to (mia);
    \draw[->,red] (mian) to (mia);
    
    \node[database,label=above:Entraînement] (miatr) at (4+\i,-6.5) {};
    \node[database,label=below:Evaluation] (miate) at (4+\i,-7) {};
    \draw[->] (mia) to node[midway,above] {80\%} (miatr);
    \draw[->] (mia) to node[midway,below] {20\%} (miate);
    \node[rectangle,draw,align=center] (miamod) at (6.5+\h,-6) {Modèle\\MIA};
    %\draw[->] (miatr) to node[midway,above] {entraînement} (miamod);
    \draw[->] (miatr) to (miamod);
    \node[align=center] (miares) at (6.5+\h,-7) {Résultat\\MIA};
    \draw[->] (miate) to node[midway,below] {eval} (miamod);
    \draw[->] (miamod) to (miares);
    \pause

    \node[blue,database,label={[align=center]above:Base\\AIA}] (aiad) at (3.2,-3.6){};
    \node[align=center] (ures) at (-1,-3.6) {Résultat\\utilité};
    \draw[->,blue] (aiabranch) to (aiad);
    \draw[->,blue] (aiabranch) to (ures);
    \node[database,label=above:Entraînement] (aiatr) at (4.5+\i,-3.6) {};
    \node[database,label=below:Evaluation] (aiate) at (4.5+\i,-4.1) {};
    \draw[->] (aiad) to node[midway,above] {80\%} (aiatr);
    \draw[->] (aiad) to node[midway,below] {20\%} (aiate);
    \node[rectangle,draw,align=center] (aiamod) at (6.5+\h,-3.8) {Modèle\\AIA};

    \draw[->] (aiatr) to node[midway,above] {entraînement} (aiamod);
    \draw[->] (aiate) to node[midway,below] {eval} (aiamod);
    \node[align=center] (aiares) at (6.5+\h,-5) {Résultat\\AIA};
    \draw[->] (aiamod) to (aiares);
\end{tikzpicture}

