diff --git a/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb b/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb index 76e10cf..370d83b 100644 --- a/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb +++ b/M2/Machine Learning/TP_2/2025_TP_2_M2_ISF.ipynb @@ -43,7 +43,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "f6e62631", "metadata": {}, "outputs": [], @@ -57,6 +57,8 @@ "\n", "sns.set()\n", "import matplotlib.pyplot as plt # noqa: E402\n", + "import plotly.express as px\n", + "import plotly.graph_objects as gp\n", "from scipy.cluster.hierarchy import dendrogram, linkage # noqa: E402\n", "\n", "# Statistiques\n", @@ -1001,7 +1003,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "8051b5f4", "metadata": {}, "outputs": [ @@ -1050,7 +1052,7 @@ "type": "float" } ], - "ref": "314db81b-022c-4f29-bae3-9c57b89dc89d", + "ref": "96564cd0-30e4-4347-a31a-4e7519cd4c0b", "rows": [ [ "0", @@ -1533,45 +1535,991 @@ "name": "stdout", "output_type": "stream", "text": [ + "Coordonnées des centroïdes : \n", "[[1.45059813e-04]\n", " [2.06105405e-05]\n", " [9.89338927e-04]\n", " [3.13499008e-04]\n", - " [2.13297250e-04]]\n" + " [2.13297250e-04]]\n", + "Nombre d'itérations réalisées : \n", + "3\n", + "Partition : \n", + "[4 4 4 3 0 1 4 3 3 3 4 3 2 1 1 3 1]\n" ] - }, + } + ], + "source": [ + "# Initialisation de l'algorithme\n", + "kmeans_FREQ = KMeans(init='random', n_clusters=5, n_init=1, random_state=42, max_iter=300)\n", + "\n", + "# Transformation des données : plusieurs échantillons de 1 dimension\n", + "data_freq = data[\"FREQ\"].to_numpy()\n", + "data_freq = data_freq.reshape(-1, 1)\n", + "\n", + "# Fitting\n", + "kmeans_FREQ.fit(data_freq)\n", + "\n", + "# Centroïdes\n", + "print(\"Coordonnées des centroïdes : \")\n", + "print(kmeans_FREQ.cluster_centers_)\n", + "# Itérations nécessaire pour la résolution\n", + "print(\"Nombre d'itérations réalisées : \")\n", + "print(kmeans_FREQ.n_iter_)\n", + "# Classes\n", + "print(\"Partition : \")\n", + "print(kmeans_FREQ.labels_)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "277e3d46", + "metadata": {}, + "outputs": [ { "data": { - "image/png": "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", - "text/plain": [ - "
" - ] + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "Cluster_FREQ=4
FREQ=%{x}
Y=%{y}", + "legendgroup": "4", + "marker": { + "color": "#636efa", + "symbol": "circle" + }, + "mode": "markers", + "name": "4", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "DKJ1lcZbLz+MRDc7kRcqP8dbVN47cCs/rNRBzalUKD/efhelGZEuPw==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAAAAA=", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=3
FREQ=%{x}
Y=%{y}", + "legendgroup": "3", + "marker": { + "color": "#EF553B", + "symbol": "circle" + }, + "mode": "markers", + "name": "3", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "uSYT8OtHMT/+84zJ2d4zP04cFEbgvzI/BVFIUy1nOz8N79Acu3AyP6oYDnpJhzU/", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAAAAAA", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=0
FREQ=%{x}
Y=%{y}", + "legendgroup": "0", + "marker": { + "color": "#00cc96", + "symbol": "circle" + }, + "mode": "markers", + "name": "0", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "ER+STWYDIz8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AA==", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=1
FREQ=%{x}
Y=%{y}", + "legendgroup": "1", + "marker": { + "color": "#ab63fa", + "symbol": "circle" + }, + "mode": "markers", + "name": "1", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "3mpcj5mcFT8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAAAA==", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=2
FREQ=%{x}
Y=%{y}", + "legendgroup": "2", + "marker": { + "color": "#FFA15A", + "symbol": "circle" + }, + "mode": "markers", + "name": "2", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "ESaBlZY1UD8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AA==", + "dtype": "i1" + }, + "yaxis": "y" + } + ], + "layout": { + "legend": { + "title": { + "text": "Cluster_FREQ" + }, + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "FREQ" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Y" + } + } + } + } }, "metadata": {}, "output_type": "display_data" } ], "source": [ - "#Itinitialisation algo\n", - "kmeans = KMeans(init='random', n_clusters=5, n_init=1, random_state=42)\n", + "# Visualisation\n", + "data[\"Cluster_FREQ\"] = kmeans_FREQ.labels_\n", + "data[\"Cluster_FREQ\"] = data[\"Cluster_FREQ\"].astype(str)\n", + "data[\"Y\"] = 0\n", "\n", - "#Transformation des données : plusieurs échantillons de 1 dimension\n", - "data_x = data[\"FREQ\"].to_numpy()\n", - "data_x = data_x.reshape(-1,1)\n", - "\n", - "# Fitting\n", - "kmeans.fit(data_x)\n", - "\n", - "#Centroides finaux\n", - "final_centroids = kmeans.cluster_centers_\n", - "labels = kmeans.labels_\n", - "\n", - "print(final_centroids)\n", - "\n", - "#Représentation Graphique\n", - "y = np.zeros_like(data_x)\n", - "plt.scatter(data_x, y, c=labels, cmap='viridis')\n", - "plt.show()" + "fig = px.scatter(data, x=\"FREQ\", y=\"Y\", color=\"Cluster_FREQ\")\n", + "fig.show()" ] }, { @@ -1584,7 +2532,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "f461bfb8", "metadata": {}, "outputs": [ @@ -1592,45 +2540,991 @@ "name": "stdout", "output_type": "stream", "text": [ + "Coordonnées des centroïdes : \n", "[[ 5946.98129932]\n", " [ 0. ]\n", " [ 8629.52425 ]\n", " [ 3146.87642857]\n", - " [19418.42 ]]\n" + " [19418.42 ]]\n", + "Nombre d'itérations réalisées : \n", + "6\n", + "Partition : \n", + "[0 0 0 0 2 4 0 0 2 0 0 3 0 1 1 3 1]\n" ] - }, + } + ], + "source": [ + "# Initialisation de l'algorithme\n", + "kmeans_CM = KMeans(init='random', n_clusters=5, n_init=1, random_state=42)\n", + "\n", + "# Transformation des données : plusieurs échantillons de 1 dimension\n", + "data_cm = data['CM'].to_numpy()\n", + "data_cm = data_cm.reshape(-1,1)\n", + "\n", + "# Fitting\n", + "kmeans_CM.fit(data_cm)\n", + "\n", + "# Centroïdes\n", + "print(\"Coordonnées des centroïdes : \")\n", + "print(kmeans_CM.cluster_centers_)\n", + "# Itérations nécessaire pour la résolution\n", + "print(\"Nombre d'itérations réalisées : \")\n", + "print(kmeans_CM.n_iter_)\n", + "# Classes\n", + "print(\"Partition : \")\n", + "print(kmeans_CM.labels_)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "98b2a0bf", + "metadata": {}, + "outputs": [ { "data": { - "image/png": "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", - "text/plain": [ - "
" - ] + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "Cluster_CM=0
FREQ=%{x}
Y=%{y}", + "legendgroup": "0", + "marker": { + "color": "#636efa", + "symbol": "circle" + }, + "mode": "markers", + "name": "0", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "DKJ1lcZbLz+MRDc7kRcqP8dbVN47cCs/uSYT8OtHMT+s1EHNqVQoP/7zjMnZ3jM/BVFIUy1nOz/efhelGZEuPxEmgZWWNVA/", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAAAAAAAAAA", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_CM=2
FREQ=%{x}
Y=%{y}", + "legendgroup": "2", + "marker": { + "color": "#EF553B", + "symbol": "circle" + }, + "mode": "markers", + "name": "2", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "ER+STWYDIz9OHBRG4L8yPw==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAA=", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_CM=4
FREQ=%{x}
Y=%{y}", + "legendgroup": "4", + "marker": { + "color": "#00cc96", + "symbol": "circle" + }, + "mode": "markers", + "name": "4", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "3mpcj5mcFT8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AA==", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_CM=3
FREQ=%{x}
Y=%{y}", + "legendgroup": "3", + "marker": { + "color": "#ab63fa", + "symbol": "circle" + }, + "mode": "markers", + "name": "3", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "De/QHLtwMj+qGA56SYc1Pw==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAA=", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_CM=1
FREQ=%{x}
Y=%{y}", + "legendgroup": "1", + "marker": { + "color": "#FFA15A", + "symbol": "circle" + }, + "mode": "markers", + "name": "1", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAA", + "dtype": "i1" + }, + "yaxis": "y" + } + ], + "layout": { + "legend": { + "title": { + "text": "Cluster_CM" + }, + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "FREQ" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Y" + } + } + } + } }, "metadata": {}, "output_type": "display_data" } ], "source": [ - "#Itinitialisation algo\n", - "kmeans = KMeans(init='random', n_clusters=5, n_init=1, random_state=42)\n", + "# Visualisation\n", + "data[\"Cluster_CM\"] = kmeans_CM.labels_\n", + "data[\"Cluster_CM\"] = data[\"Cluster_CM\"].astype(str)\n", + "data[\"Y\"] = 0\n", "\n", - "#Transformation des données : plusieurs échantillons de 1 dimension\n", - "data_x = data['CM'].to_numpy()\n", - "data_x = data_x.reshape(-1,1)\n", - "\n", - "# Fitting\n", - "kmeans.fit(data_x)\n", - "\n", - "#Centroides finaux\n", - "final_centroids = kmeans.cluster_centers_\n", - "labels = kmeans.labels_\n", - "\n", - "print(final_centroids)\n", - "\n", - "#Représentation Graphique\n", - "y = np.zeros_like(data_x)\n", - "plt.scatter(data_x, y, c=labels, cmap='viridis')\n", - "plt.show()" + "fig = px.scatter(data, x=\"FREQ\", y=\"Y\", color=\"Cluster_CM\")\n", + "fig.show()" ] }, { @@ -1643,7 +3537,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 22, "id": "1d89f70e", "metadata": {}, "outputs": [ @@ -1651,45 +3545,990 @@ "name": "stdout", "output_type": "stream", "text": [ + "Coordonnées des centroïdes : \n", "[[ 6.88870225]\n", " [ 0.52077154]\n", " [ 26.14306157]\n", " [120.18837399]\n", - " [304.21208557]]\n" + " [304.21208557]]\n", + "Nombre d'itérations réalisées : \n", + "4\n", + "Partition : \n", + "[4 4 4 3 2 1 0 2 0 2 2 0 0 1 1 1 1]\n" ] - }, + } + ], + "source": [ + "# Initialisation de l'algorithme\n", + "kmeans_FREQ_CM = KMeans(init='random', n_clusters=5, n_init=1, random_state=42, max_iter=300)\n", + "\n", + "# Transformation des données : plusieurs échantillons de 1 dimension\n", + "data_x = data['FREQxCHARGE'].to_numpy()\n", + "data_x = data_x.reshape(-1,1)\n", + "\n", + "# Fitting\n", + "kmeans_FREQ_CM.fit(data_x)\n", + "\n", + "# Centroïdes\n", + "print(\"Coordonnées des centroïdes : \")\n", + "print(kmeans_FREQ_CM.cluster_centers_)\n", + "# Itérations nécessaire pour la résolution\n", + "print(\"Nombre d'itérations réalisées : \")\n", + "print(kmeans_FREQ_CM.n_iter_)\n", + "# Classes\n", + "print(\"Partition : \")\n", + "print(kmeans_FREQ_CM.labels_)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "48aa493b", + "metadata": {}, + "outputs": [ { "data": { - "image/png": "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", - "text/plain": [ - "
" - ] + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "Cluster_FREQ_CM=4
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "4", + "marker": { + "color": "#636efa", + "symbol": "circle" + }, + "mode": "markers", + "name": "4", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "DKJ1lcZbLz+MRDc7kRcqP8dbVN47cCs/", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "H4XrkX/tMUGuR+E6x38xQQAAAACcZD1B", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CM=3
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "3", + "marker": { + "color": "#EF553B", + "symbol": "circle" + }, + "mode": "markers", + "name": "3", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "uSYT8OtHMT8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "9ihcj+LRG0E=", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CM=2
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "2", + "marker": { + "color": "#00cc96", + "symbol": "circle" + }, + "mode": "markers", + "name": "2", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "ER+STWYDIz/+84zJ2d4zPwVRSFMtZzs/3n4XpRmRLj8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "9ihcj54vBkFmZmZmzhz1QHE9CtfPc/JA16NwPTpX9UA=", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CM=1
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "1", + "marker": { + "color": "#ab63fa", + "symbol": "circle" + }, + "mode": "markers", + "name": "1", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "3mpcj5mcFT8AAAAAAAAAAAAAAAAAAAAAqhgOekmHNT8AAAAAAAAAAA==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "FK5H4Zr20kAAAAAAAAAAAAAAAAAAAAAApHA9Clfap0AAAAAAAAAAAA==", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CM=0
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "0", + "marker": { + "color": "#FFA15A", + "symbol": "circle" + }, + "mode": "markers", + "name": "0", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "rNRBzalUKD9OHBRG4L8yPw3v0By7cDI/ESaBlZY1UD8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "4XoUrjcf3UAfhetRqOvfQOtRuB4FJ9ZAXI/C9ajQuEA=", + "dtype": "f8" + }, + "yaxis": "y" + } + ], + "layout": { + "legend": { + "title": { + "text": "Cluster_FREQ_CM" + }, + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "FREQ" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "CHARGE" + } + } + } + } }, "metadata": {}, "output_type": "display_data" } ], "source": [ - "#Itinitialisation algo\n", - "kmeans = KMeans(init='random', n_clusters=5, n_init=1, random_state=42)\n", + "# Visualisation\n", + "data[\"Cluster_FREQ_CM\"] = kmeans_FREQ_CM.labels_\n", + "data[\"Cluster_FREQ_CM\"] = data[\"Cluster_FREQ_CM\"].astype(str)\n", "\n", - "#Transformation des données : plusieurs échantillons de 1 dimension\n", - "data_x = data['FREQxCHARGE'].to_numpy()\n", - "data_x = data_x.reshape(-1,1)\n", - "\n", - "# Fitting\n", - "kmeans.fit(data_x)\n", - "\n", - "#Centroides finaux\n", - "final_centroids = kmeans.cluster_centers_\n", - "labels = kmeans.labels_\n", - "\n", - "print(final_centroids)\n", - "\n", - "#Représentation Graphique\n", - "y = np.zeros_like(data_x)\n", - "plt.scatter(data_x, y, c=labels, cmap='viridis')\n", - "plt.show()" + "fig = px.scatter(data, x=\"FREQ\", y=\"CHARGE\", color=\"Cluster_FREQ_CM\")\n", + "fig.show()" ] }, { @@ -1722,23 +4561,13 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 28, "id": "341bf2b2", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmEAAAGhCAYAAAAp9WNiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUIdJREFUeJzt3QmYXWV9+PF3lqyQIQTDIogtYRMUkLVUQkEiUkRFtIpKQTRQlxpFhIAgssgmKCWmiA1gIhpoFQERqRStuBRCFupSAiK2NFQIWpIMZmWW//M9f3+3Z25mMnMnM/POnXw/zzPPzNx77nnPec+7/M573nNuQ2dnZ2eSJEnSkGoc2uQkSZIEgzBJkqQMDMIkSZIyMAiTJEnKwCBMkiQpA4MwSZKkDAzCJEmSMjAIkyRJyqA5R6L1gGfYdnT07zm2jY0N/f5sf5mmadZruqZpmvWarmkOvzQbGxtSQ0NDqhcGYT3g4L/wwuqaP9fc3Ji23Xar1Nq6JrW1dQzKtpmmaY6UdE3TNOs1XdMcnmlOmrRVamqqnyDMy5GSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJkpSBQZgkSVIGBmGSJEkZGIRJkiRl0Jwj0ZGss7MzrVvfltZvaE9tbR1DkmZ7x8hKc/SoxtTQ0DCg65QkabgxCBvgAOyz8xanJ59ZlXtT6truu2yTzn/vgQZikqQRzcuRA2jDSx0GYAPg18+sKvJSkqSRzJGwQTL7rCNT0xCN5DQ3N6aJE8enlSvXDNnlyMFIc/1L7enjX/zJgKxLkqThziBskIwZ1ZSaGocuCBs7pjmNGT2y05QkaSTxcqQkSVIGBmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJkpSBQZgkSVIGBmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJkpSBQZgkSVIGBmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJklQPQVhHR0eaNWtWmjp1ajrggAPSGWeckZYtW9bj8itWrEhnn312OuSQQ9Khhx6aLrnkkrR27douy9x3333p+OOPT/vtt1868cQT00MPPVTzOo499ti01157dfk577zzat09SZKkIdFc6wduuOGGNH/+/HTVVVelHXfcMV1zzTVp+vTp6Z577kmjR4/eaPkZM2YUAdPcuXNTa2truuCCC9KaNWvS1VdfXbz/8MMPp3POOSede+656XWve1365je/mc4888x01113pSlTpvRpHfxNIPjlL3857bvvvpW0x44duzl5I0mSNDxGwjZs2JBuueWWIig66qij0t57752uu+669Nxzz6X7779/o+UfffTR9MgjjxTBEsHR4Ycfni699NJ09913p+XLlxfLzJkzJ02bNi2deuqpRdA1c+bMYtl58+b1eR2//vWvixG61772tWny5MmVnwkTJgxMLkmSJOUMwh5//PG0evXqIhAKLS0taZ999kkLFy7caPlFixYVwVCMaIHLiQ0NDWnx4sVF4LRkyZIu68Nhhx1WWV9v68ATTzyRXvayl6Vtttmmlt2RJEmqj8uRjHhhp5126vL69ttvX3mvjJGq6mW5ZDlx4sT07LPPFpcWuZTIZc2e1tfbOiIIGz9+fDFCR1C37bbbpre//e3F6FpjY//vPWhuru2z7R2dlb8bmxpSc9PQ3PfQ9Md04ne9plnOP/K+Ov9Hyn4OxzRzpWuaplmv6ZrmyEqzLoKwmAxfPfdrzJgxadWqVd0u3908MZZfv359WrduXY/r4/2+rANPPvlkEdC98Y1vTB/5yEeKETLmqrFNH/vYx1J/NDY2pG233aqmz6xb31b5u2XCuDR2TM1T7jZLS8u4IU1voNMs59/EieN7zL9638/hnGaudE3TNOs1XdMcWWkOtZqihJjoztyw8qR3gqFx4zbOLJZh2Wosz8gVgVSsr/r9WF9v64h5Zfwfc8C4M/IPf/hD+tKXvpQ++tGP9ms0rKOjM7W2rqnpM+s3tFf+bn1xbVq7ZuhGwiisra1rU3t7R92mWc6/lSvXpDGjmwY9zd5sKWnmStc0TbNe0zXN4ZlmS8u4uhpBqykIi8uCzz//fNp1110rr/M/gU81LjM+8MADXV4joFq5cmVxyZFLigRSfL6M/3fYYYc+rQOMlFWPlu25557FpU5Gw7g82R9tbR39Xr6jvTO1dQ5dIwQKa63bPJzSLK+Hv5saGwY9zb7aUtLMla5pmma9pmuaIyvNoVZTuMjdkFtvvXVasGBB5TUuAz722GPFM7yq8Rpzu55++unKa9zpiIMOOqiYXH/ggQdWXgus/+CDD+7TOjo7O4u7K2fPnt1lHb/4xS+KCf39DcAkSZKGzUgYo02nnHJKuvbaa9OkSZPSzjvvXMy9YrSKh6W2t7enF154obgsyGXE/fffvwiyzjrrrHTxxRcXI1MXXXRR8UDWGOk6/fTTi+eCcYflkUceme644460dOnSdPnllxfv92Udb3jDG9LNN9+cdtttt/TqV7+6eNjrTTfdVDxPTJIkaTiqeeY4dyC2tbWlCy+8sJhYz0gVAdCoUaPSM888k4455ph05ZVXppNOOqkY6WKEiifcn3baacUcsOOOOy6df/75lfUdccQR6YorrigeAsszx3bfffd04403Vh5J0Zd18DR9Rui+8IUvFKNmu+yySxGAvfOd7xyofJIkScobhDU1NRVPuOenGsEPj4so22677YqvOdoURrX46Ulv62hubi7uiuRHkiSpHtTPLQSSJEkjiEGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJkpSBQZgkSVIGBmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJkpSBQZgkSVIGBmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJkpSBQZgkSVIGBmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZWAQJkmSlIFBmCRJUgYGYZIkSRkYhEmSJGVgECZJkpSBQZgkSVIGBmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSPQRhHR0dadasWWnq1KnpgAMOSGeccUZatmxZj8uvWLEinX322emQQw5Jhx56aLrkkkvS2rVruyxz3333peOPPz7tt99+6cQTT0wPPfRQzesIGzZsSG9+85vTeeedV+uuSZIkDd8g7IYbbkjz589Pl112Wbr99tuLoGz69OlF8NOdGTNmpKeffjrNnTs3XX/99enBBx9MF198ceX9hx9+OJ1zzjnp5JNPTnfeeWc6/PDD05lnnpmeeuqpPq+j7HOf+1z61a9+VetuSZIkDd8gjEDrlltuKYKio446Ku29997puuuuS88991y6//77N1r+0UcfTY888ki6+uqr07777lsEWJdeemm6++670/Lly4tl5syZk6ZNm5ZOPfXUNGXKlDRz5sxi2Xnz5vV5HeHHP/5xMaq2xx57bF6uSJIkDbLmWhZ+/PHH0+rVq4tAKLS0tKR99tknLVy4MJ1wwgldll+0aFGaPHlyEVwFLic2NDSkxYsXp+OOOy4tWbJko0uHhx12WCWo620dXMbECy+8kM4///xihO4rX/lKGgjNzbUNFLZ3dFb+bmxqSM1NQzPlrumP6cTvek2znH/kfXX+j5T9HI5p5krXNE2zXtM1zZGVZl0EYYx4Yaeddury+vbbb195r4yRquplR48enSZOnJieffbZ1NramtasWZN23HHHHtfX2zrCBRdckI4++uj0+te/fkCCsMbGhrTttlvV9Jl169sqf7dMGJfGjqkpezdbS8u4IU1voNMs59/EieN7zL9638/hnGaudE3TNOs1XdMcWWkOtZqihJgMTxBUNmbMmLRq1apul69eNpZfv359WrduXY/r4/2+rAPMTWMO2ec///k0UDo6OlNr65qaPrN+Q3vl79YX16a1a4ZuJIzC2tq6NrW3d9RtmuX8W7lyTRozumnQ0+zNlpJmrnRN0zTrNV3THJ5ptrSMq6sRtJqCsLFjx1bmhsXfIBgaN27jiJVlupuwz/Ljx48vAqlYX/X7sb7e1vGb3/wmXXPNNenmm28u/h9IbW0d/V6+o70ztXUOXSMECmut2zyc0iyvh7+bGhsGPc2+2lLSzJWuaZpmvaZrmiMrzaFWU7gYlwWff/75Lq/z/w477LDR8lxmrF6WgGrlypXFJUcuKRI4bWp9va3ju9/9bjFP7fTTT0+vfe1rix/mkd1zzz3F35IkSXUfhHE35NZbb50WLFhQeY15XY899ljxDK9qvMbcLh4vEbjTEQcddFAxuf7AAw+svBZY/8EHH9yndZxyyinpe9/7XrrrrrsqP69+9auLuWH8LUmSVPeXI5mbRdBz7bXXpkmTJqWdd965uBTIaNWxxx6b2tvbi7sUJ0yYUFxG3H///Ysg66yzziqe68Uk/Isuuqh4IGuMdDGCxXPBuMPyyCOPTHfccUdaunRpuvzyy4v3+7IORtTKSHurrbZKr3zlKwcupyRJkgZQzbPXeEbYO97xjnThhRemd7/73ampqamYjzVq1KjibsUjjjiiuEQIRrpmz56ddtlll3Taaaelj3/840WgVX7QKstfccUV6bbbbktve9vbioe33njjjZVHUvRlHZIkSfWm5mcoEHTxhHt+qhEoPfHEE11e22677YqvOdoURrX46Ulf1lF266239nlZSZKkHOrnPk5JkqQRxCBMkiQpA4MwSZKkDAzCJEmSMjAIkyRJysAgTJIkKQODMEmSpAwMwiRJkjIwCJMkScrAIEySJCkDgzBJkqQMDMIkSZIyMAiTJEnKwCBMkiQpA4MwSZKkDAzCJEmSMjAIkyRJysAgTJIkKQODMEmSpAwMwiRJkjIwCJMkScrAIEySJCkDgzBJkqQMDMIkSZIyMAiTJEnKwCBMkiQpA4MwSZKkDAzCJEmSMjAIkyRJysAgTJIkKQODMEmSpAwMwiRJkjIwCJMkScrAIEySJCkDgzBJkqQMDMIkSZIyMAiTJEnKwCBMkiQpA4MwSZKkDAzCJEmSMjAIkyRJysAgTJIkKQODMEmSpAwMwiRJkjIwCJMkScrAIEySJCkDgzBJkqQMDMIkSZIyMAiTJEmqhyCso6MjzZo1K02dOjUdcMAB6YwzzkjLli3rcfkVK1aks88+Ox1yyCHp0EMPTZdccklau3Ztl2Xuu+++dPzxx6f99tsvnXjiiemhhx6qaR3t7e3FNh199NHFOk466aT0wx/+sNZdkyRJGr5B2A033JDmz5+fLrvssnT77bcXQdn06dPThg0bul1+xowZ6emnn05z585N119/fXrwwQfTxRdfXHn/4YcfTuecc046+eST05133pkOP/zwdOaZZ6annnqqz+vgtdtuuy195jOfSffee296wxvekD784Q+nX/7yl7XniCRJ0nALwgi0brnlliIoOuqoo9Lee++drrvuuvTcc8+l+++/f6PlH3300fTII4+kq6++Ou27775FgHXppZemu+++Oy1fvrxYZs6cOWnatGnp1FNPTVOmTEkzZ84slp03b16f1/HSSy+lCy64oNimV7ziFelDH/pQ2mqrrYoAT5Ikqe6DsMcffzytXr26CIRCS0tL2meffdLChQs3Wn7RokVp8uTJRXAVuJzY0NCQFi9eXIyiLVmypMv6cNhhh1XW19s6QOB2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BmGSJEkZGIRJkiRlYBAmSZKUgUGYJElSBgZhkiRJGRiESZIkZdCchqHXv/716X/+53+Kvz/72c+mt73tbWn27NnpzjvvLL4zct99900zZ84snqa/KatXry6e7n///fenNWvWFF9jxENed9ttty7LzZs3L1199dXFg2jx13/91+m8887rkuYrXvGK4v3f/va3abvttkvvfe970/vf//7ia5PCv/7rv6ZZs2YV3ySAxsbGdNhhh6ULL7ywkuYLL7xQPOz2vvvuK7YPf/qnf1qk9xd/8ReV78b84he/mL7xjW8UaWPbbbdN06dP75LmD3/4w2I5viWA90njJz/5SfFtBjw8t9oDDzyQPvKRjxRfP3X33Xentra2Ii/DX/7lXxZ5FfnANxF88pOf7Dbv+baCE044If393/99sY+Br5fi2xPChz/84eIhurFN1e/H69XHnM+Q12hubi7SJd9/+ctfprVr16ZXv/rV6dxzz0377LNPt+mW0yO/Fy9eXHxuzz33TDNmzCge5NtdOWNZvnkBr33ta3ssZ3/7t39bfIPD8uXLu6T5zne+s3i4MPiKrz/7sz8r8or3uiu7V111VfqP//iPdOutt25Udsm7hQsXFseDBxP/1V/9VfrUpz6VmpqaimU6OjqKb5Jg3S+99FIaNWpUOvLII4tvjHjLW95S2Te+OWLRokVFuWRdlMue9o0y8Z73vCdNnTo1ffSjH+2xDp166qnFt2OAbfj2t79dlMOe7Lrrrum///u/N3qdbSGf+PqzsPPOOxf1hNe32mqr4ntg2VfKPdvP+/xf/iqz6v3k8Yf8kFd80wf7SXlZtWpVUWafeOKJ4r0VK1ZstE2kQ9nh2FIXy44//vj0i1/8oiibbANpsA+vetWr0sUXX5z222+/og5ed9116de//nWx/RwX9mebbbYp6inl4w9/+EPxOsdt3LhxxTpefPHFoqzQHvzbv/1bpR6WUQc4JtEecYz5bGz3n//5nxcPqv6TP/mT9NBDDxXtEdtLOpHfHAuO37vf/e707LPPFm0Zv8uq20C2mfWTH/yeMGFCOvPMM4s2Kdoj9vuyyy5L//Vf/1XZHtLjG08uvfTSon2ijSRvnnzyySL/ytiOr3/965X/OW6vfOUri3zhIdwc93K7y+epq3Pnzq18d3B3adLuUa//8z//s1KOeno85tixYyvf+MJykydP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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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t9iRCQAAGIHQAwAAjEDoAQAARiD0AAAAIxB6AACAEQg9AADACIQeAABgBEIPAAAwAqEHAAAYgdADAACMQOgBAABGIPQAAAAjEHoAAIARCD0AAMAIhB4AAGAEQg8AADACoQcAABiB0AMAAIxA6AEAAEYg9AAAACMQegAAgBEIPQAAwAiEHgAAYARCDwAAMAKhBwAAGIHQAwAAjEDoAQAARiD0AAAAIxB6AACAEQg9AADACIQeAABgBEIPAAAwAqEHAAAYgdADAACMQOgBAABGIPQAAAAjEHoAAIARCD0AAMAIhB4AAGAEQg8AADACoQcAABiB0AMAAIzgsCzLEgOpX9vjsf9Xd7mc4nZ7bO8X/lHvwKHWgUOtA4daB1etnU6HOByOc368saEHAACYhctbAADACIQeAABgBEIPAAAwAqEHAAAYgdADAACMQOgBAABGIPQAAAAjEHoAAIARCD0AAMAIhB4AAGAEQg8AADACoQcAABiB0AMAAIxgdOjxeDwya9Ys6d27t3To0EFGjRole/furbR9Tk6OjB8/Xrp27SppaWkydepUKSgoKNPmww8/lKuuukouueQSGTJkiHz55Ze29xGMamOt1TnNnTtXrrzySn1OgwcPlnfeeUeCXW2sdWnFxcVyzTXXyP333y/BrrbWesuWLfK73/1O93HZZZfpc1TnGsxqa62XLFkiV199tbRv3173tWjRIgl2nhqodennHjlypMyePbvCfba8N1oGmz17ttWtWzfrs88+s7Zt22YNHz7cGjhwoFVUVOS3/bBhw6wbbrjB+uabb6wvvvjC6tevn3Xvvff67v/yyy+tdu3aWa+99pr13XffWY8//rh10UUX6e/t7CMY1cZaz5kzx+rSpYu1ZMkSa8+ePdaCBQustm3bWu+9954VzGpjrUubNm2a1apVK+u+++6zgl1trPWuXbus9u3bW3/5y1+s3bt3Wx999JHVsWNH6+9//7sVzGpjrVUf6m/GW2+9Zf3www/WG2+8YaWmplqff/65Fcxm10CtFdW/+rug/j7MmjWrzH12vTcaG3pUcdUfgvnz5/uOHT161LrkkkusxYsXV2i/adMm/UKULvDq1aut1q1bW5mZmfpn9Q9j7NixZR5300036T8+dvURjGprrXv37q2DT2kTJ060brnlFitY1dZae61atcrq2bOnNXjw4KAPPbW11qqu6g3I4/H42jz77LPW6NGjrWBVW2v9yCOPWNddd12ZPoYMGaKDfbAqqoFaK+np6frvwoABA/SH0fKhx673RmMvb2VkZEh+fr706NHDdywuLk7atm0rGzZsqNB+48aNkpSUJCkpKb5jahjP4XBIenq6HpLbtGlTmf6Ubt26+fqzo49gVFtrPX36dLnuuuvK9OF0OiUvL0+CVW2stVd2drZMnDhRpk2bJgkJCRLsamut16xZoy+3qGNeY8aMkb/97W8SrGprrevXry/ffvutrF27Vg0gyLp162Tnzp368kuwyqiBWisrV67Ul9PU5cHY2Ngybe18bwwRQ2VmZurbRo0alTmenJzsu6+0gwcPVmgbFhYm9erVkwMHDug3yuPHj0vDhg0r7c+OPoJRbay1Cjfl/wPav3+/vj4/dOhQCVa1sdZekyZNkn79+kn//v3llVdekWBXG2t97NgxOXTokH7TeOCBB2TVqlX6DUvNfxgxYoS4XC4JRrWx1sqtt96q50/ddttturZut1tGjx4t1157rQSrzBqotTJu3LhKz8nO90ZjR3q8k6zUi1NaeHi4FBUV+W1fvm3p9oWFhaftz44+glFtrHV5hw8f1pP11Ce3P/zhDxKsamutFyxYoD8Bq5GeuqI21lqFHkWNYp5//vny0ksv6UmhL774ot+JocGiNtZaUW/qahLv5MmTZeHChXpyvgr07777rgSrghqo9enY+d5o7EhPRESEbyWJ93tFFTAyMtJve9W2PNU+KipKF9/bX/n7vf3Z0Ucwqo21Lm3Xrl1yxx136E9pr7/+uv5kHKxqY61VfWfMmCHz5s2rUPtgVhtrHRJy8k96z5495a677tLft2nTRl9afP7552Xs2LFlLnsFi9pYa+Xuu+/WlxLVSjlvrY8ePar/vV9//fV6RDnYRNRArU/HzvfG4HtFbOIdjsvKyipzXP3coEGDCu3VsFr5tuoFyM3N1UNsaihPvcC/1J8dfQSj2lhrL3XNWV3OUv/hqNGICy64QIJZbaz10qVL9RyB22+/XTp27Ki/1DyAxYsX6++DVW2stZorpd4gWrVqVaZNy5Yt9eUBFX6CUW2staqlCvQXX3xxmTZqibdqo76CUaMaqPXp2PneaGzoSU1NlZiYGD3xrPR1w61bt+q9BspTx9S1wz179viOrV+/Xt927txZf3rq1KmT75iX6r9Lly629RGMamOtFXUtXg39qzeE+fPnB3WwrM21HjZsmCxbtkxPUPR+XXTRRXpuTzDvaVIba63mlag+vvrqqzJ9bN++XY9gqjePYFQbax0fH68/LKna+qt1YmKiBKPUGqj16dj63mgZbObMmVZaWpq1YsWKMnsRFBcXWyUlJVZWVpZVUFCg26rln0OHDtXLE7/66iu9Z4Dai+D+++8vs0yvTZs21ssvv6yX702fPl0v8/Mu5bOjj2BV22p94sQJ64orrtDLI9X+Gur5vV9Hjhyxglltq3Vl+3oE+5L12lrrtWvX6j7Ukl+1/5Tah6pz585675VgVhtr/dRTT+nl3WpvL/V3RN2qn+fOnWsFs5kBrnV56vHll6zb9d5odOhRL94TTzxhde/e3erQoYM1atQoa+/evfo+dav2Hli4cKGv/eHDh627775bt1UbNz300ENWYWFhmT7VP3r1ZnrxxRfrfwRqo6bS7OgjGNW2Wqs9IdRz+vtS/8EFs9pW67ocemprrdV+SOqxajO3vn37Wi+++KLldrutYFYba63OSb0JDxo0SG8IqfaZefPNN8vskRSMSmqg1qcLPWfbR2Uc6v/ObmwIAAAg+Bg7pwcAAJiF0AMAAIxA6AEAAEYg9AAAACMQegAAgBEIPQAAwAiEHgAAYARCDwAAMAKhBwAAGIHQAwAAjEDoAQAAYoL/D67KNtMzhR3fAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj8AAAGhCAYAAACOKNWZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMlZJREFUeJzt3QuYk9Wdx/F/krkDwwByW5DuCgoFC8h1WYHFQpGitki7LbUUxAJb7YpSBKRQykVALsqClNJFELRFdhUBKbJlsVt6ebjDLu1yqeI+LGy52MLM6FyZJPv8z5o0E2aYvDNvksmc7+d55iEkb84/ySSZ33vOec/rCQaDQQEAALCEN9kPAAAAIJEIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAq6Ql+wHUV7r2YyBQu/UfvV5Pre9bW9SkZqrWpSY1U7UuNetfTb2fx+OpcTvCTzX0Rb92rcjx/dLSvNKsWSMpLCyWiopAXB4bNanZUOpSk5qpWpea9bNm8+aNxOerOfww7AUAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABglbRkP4CGJhgMSmlZhZSV+6WiIpCQmv5Aw6qZke4Vj8fjapsAAIQQflwOPs9tPibvXSxI9kNJaZ3aN5VZX+9FAAIAxAXDXi4qvxEg+Ljg/YsF5rUEACAe6PmJkzVTB4svQT0XaWleycvLkfz84oQNe8WjZtkNvzz90q9daQsAgOoQfuIkM90nPm/iwk9WZppkZjTsmgAAuIFhLwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACs4jj8BAIBWb16tQwaNEh69uwpkyZNkgsXLlS7/fXr12XatGnSt29f6devn8yfP19KSkoqbbNnzx4ZOXKkdO/eXUaNGiUHDhxw3Mbw4cOlc+fOlX6effZZp08PAAA0cGlO77B27VrZsmWLPP/889KmTRtZvny5TJw4UXbt2iUZGRk3bT9lyhQTVDZt2iSFhYUye/ZsKS4ulqVLl5rbDx48KNOnT5cZM2bIvffeK2+++aZMnjxZduzYIR07doypDb2sAexHP/qRdOvWLVw7KyurLq8NAACwveenvLxcNm7caMLIkCFDpEuXLrJy5Uq5fPmy7N2796btT5w4IYcPHzYhRUPJgAEDZMGCBbJz5065cuWK2Wb9+vUybNgwGTdunAk7M2fONNtu3rw55jbef/990yN1zz33SMuWLcM/TZo0cedVAgAAdoafM2fOSFFRkQkgIbm5udK1a1c5cuTITdsfPXrUhJBQD47SYSuPxyPHjh0zgeX48eOV2lP9+/cPt1dTG+rs2bNy2223SdOmTZ08HQAAYCFHw17aw6Patm1b6fpWrVqFb4ukPTPR2+rQWF5enly6dMkMYemQlQ6fVddeTW2Ewk9OTo7pkdIw1axZM/nSl75kepO83trP6U5Lc3ZffyAYvuz1eSTNl5j55L5P6oT+TdWaka+fvvbRr39DeZ71sWay6lKTmqlal5qpXdNR+AlNMo6e25OZmSkFBQVVbl/VPCDdvqysTEpLS6ttT2+PpQ313nvvmSB1//33y7e//W3TI6RzkfQxPfXUU1IbXq9HmjVr5Og+pWUV4cu5TbIlK9PxlKo6yc3NTmg9t2tGvn55eTnVvn6p/jzrc81k1aUmNVO1LjVTs6ajv86hCcQ69ydyMrGGkOzsmx+kbqPbRtPttadGA0yovejbQ+3V1EZo3pD+PzTHR4/0+vjjj+WHP/yhPPnkk7Xq/QkEglJYWOzoPmXl/vDlwo9KpKQ4cT0/+iYpLCwRvz+QsjUjX7/8/GLJzPDFvWZNbKmZrLrUpGaq1qVm/ayp94ulx8hR+AkNP129elU6dOgQvl7/r4Ejmg5n7du3r9J1GmTy8/PN0JYOXWmA0ftH0v+3bt06pjaU9gxF9w7dddddZkhNe390GKw2KioCtd4+4A9KRTBxH36lbxKnj7k+1YxsRy/7vJ6414yVLTWTVZea1EzVutRMzZqOuib06K7GjRvLoUOHwtfpcNOpU6fMGjzR9Dqdu3P+/PnwdXrklurdu7eZtNyrV6/wdSHafp8+fWJqIxgMmqPF1qxZU6mN3/72t2aidG2DDwAAaJgc9fxo78rYsWNlxYoV0rx5c2nXrp2ZW6O9M7rIoN/vl2vXrpnhJx2u6tGjhwk3U6dOlXnz5pmemLlz55qFDEM9OxMmTDDr+ugRY4MHD5Zt27bJ6dOnZdGiReb2WNr43Oc+Jxs2bJA77rhD7r77brNI4ssvv2zWAwIAAIjkeEauHlFVUVEhc+bMMROWtWdGg0d6erpcvHhRhg4dKkuWLJHRo0ebnh3tkdEVmcePH2/m+IwYMUJmzZoVbm/gwIGyePFis3iirhnUqVMnWbduXfjQ9lja0NWftUfqxRdfNL1E7du3N8HnK1/5itOnBwAAGjjH4cfn85kVmfUnmoYOPew8UosWLczpMG5Fe3H0pzo1tZGWlmaO8tIfAACAW+HEpgAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXH4ScQCMjq1atl0KBB0rNnT5k0aZJcuHCh2u2vX78u06ZNk759+0q/fv1k/vz5UlJSUmmbPXv2yMiRI6V79+4yatQoOXDggOM2QsrLy+Whhx6SZ5991ulTAwAAFnAcftauXStbtmyRhQsXytatW00YmjhxogkdVZkyZYqcP39eNm3aJKtWrZL9+/fLvHnzwrcfPHhQpk+fLmPGjJHt27fLgAEDZPLkyXLu3LmY24i0bNky+f3vf+/0aQEAAEs4Cj8acDZu3GjCyJAhQ6RLly6ycuVKuXz5suzdu/em7U+cOCGHDx+WpUuXSrdu3UywWbBggezcuVOuXLlitlm/fr0MGzZMxo0bJx07dpSZM2eabTdv3hxzGyG/+tWvTC/SnXfeWbdXBQAANFhpTjY+c+aMFBUVmQASkpubK127dpUjR47Igw8+WGn7o0ePSsuWLU2oCdFhK4/HI8eOHZMRI0bI8ePHbxqi6t+/fzhM1dSGDpepa9euyaxZs0yP1CuvvCJuSEtz1jHmDwTDl70+j6T5EjOlyvdJndC/qVoz8vXT1z769W8oz7M+1kxWXWpSM1XrUjO1azoKP9rDo9q2bVvp+latWoVvi6Q9M9HbZmRkSF5enly6dEkKCwuluLhY2rRpU217NbURMnv2bLnvvvvks5/9rCvhx+v1SLNmjRzdp7SsInw5t0m2ZGU6ennrLDc3O6H13K4Z+frl5eVU+/ql+vOszzWTVZea1EzVutRMzZqO/jqHJhlr+IiUmZkpBQUFVW4fvW1o+7KyMiktLa22Pb09ljaUzj3SOUIvvPCCuCUQCEphYbGj+5SV+8OXCz8qkZLixPX86JuksLBE/P5AytaMfP3y84slM8MX95o1saVmsupSk5qpWpea9bOm3i+WHiNH4ScrKys89yd0WWkIyc6+OaHpNlVNhNbtc3JyTIAJtRd9e6i9mtr44IMPZPny5bJhwwbzfzdVVARqvX3AH5SKYOI+/ErfJE4fc32qGdmOXvZ5PXGvGStbaiarLjWpmap1qZmaNR11TYSGn65evVrpev1/69atb9peh7Oit9Ugk5+fb4a2dOhKA8ut2qupjXfeecfMQ5owYYLcc8895kfnCe3atctcBgAAqHX40aO7GjduLIcOHQpfp/N2Tp06ZdbgiabX6dwdPUw9RI/cUr179zaTlnv16hW+LkTb79OnT0xtjB07Vn72s5/Jjh07wj933323mfujlwEAAGo97KVzbzRsrFixQpo3by7t2rUzQ07aOzN8+HDx+/3mqKsmTZqY4aoePXqYcDN16lSzLo9Obp47d65ZyDDUs6M9Nrqujx4xNnjwYNm2bZucPn1aFi1aZG6PpQ3tQYqktRs1aiSf+tSnnDw9AABgAcczcnWNny9/+csyZ84c+drXviY+n8/Mt0lPTzdHXw0cONAMRSnt2VmzZo20b99exo8fL08//bQJOJELFOr2ixcvltdff10efvhhs+jhunXrwoe2x9IGAABArBwfi61hR1dk1p9oGlDOnj1b6boWLVqY02Hcivbi6E91Ymkj0muvvRbztgAAwC6c2BQAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFjFcfgJBAKyevVqGTRokPTs2VMmTZokFy5cqHb769evy7Rp06Rv377Sr18/mT9/vpSUlFTaZs+ePTJy5Ejp3r27jBo1Sg4cOOCoDb/fbx7TfffdZ9oYPXq0/OIXv3D61AAAgAUch5+1a9fKli1bZOHChbJ161YThiZOnCjl5eVVbj9lyhQ5f/68bNq0SVatWiX79++XefPmhW8/ePCgTJ8+XcaMGSPbt2+XAQMGyOTJk+XcuXMxt6HXvf766/L9739fdu/eLZ/73OfkiSeekN/97nfOXxEAANCgOQo/GnA2btxowsiQIUOkS5cusnLlSrl8+bLs3bv3pu1PnDghhw8flqVLl0q3bt1MsFmwYIHs3LlTrly5YrZZv369DBs2TMaNGycdO3aUmTNnmm03b94ccxs3btyQ2bNnm8d0++23y+OPPy6NGjUywQoAAKDW4efMmTNSVFRkAkhIbm6udO3aVY4cOXLT9kePHpWWLVuaUBOiw1Yej0eOHTtmeo2OHz9eqT3Vv3//cHs1taE0MD344IPmcmlpqbz22mtmWEzbAQAAiJQmDmgPj2rbtm2l61u1ahW+LZL2zERvm5GRIXl5eXLp0iUpLCyU4uJiadOmTbXt1dRGpLfffltmzJghwWBQnnzySfnMZz4jdZGW5mxU0B8Ihi97fR5J8yVmPrnvkzqhf1O1ZuTrp6999OvfUJ5nfayZrLrUpGaq1qVmatd0FH5Ck4w1fETKzMyUgoKCKreP3ja0fVlZmemlqa49vT2WNiLphOgdO3bIb37zG3nxxRelefPm8sgjj0hteL0eadaskaP7lJZVhC/nNsmWrExHL2+d5eZmJ7Se2zUjX7+8vJxqX79Uf571uWay6lKTmqlal5qpWdPRX+esrKzw3J/QZaUhJDv75gep21Q1EVq3z8nJMQEm1F707aH2amojkvYQ6Y/ORdIJ0hs2bKh1+AkEglJYWOzoPmXl/vDlwo9KpKQ4cT0/+iYpLCwRvz+QsjUjX7/8/GLJzPDFvWZNbKmZrLrUpGaq1qVm/ayp94ulx8hR+AkNP129elU6dOgQvl7/37lz55u21+Gsffv2VbpOg0x+fr4Z2tKhKw0wev9I+v/WrVvH1EZFRYU5rF3nHf3FX/xFeBt9PG+99ZbURUVFoNbbB/xBqQgm7sOv9E3i9DHXp5qR7ehln9cT95qxsqVmsupSk5qpWpeaqVnTUdeE9qg0btxYDh06FL5O5+2cOnXKDDlF0+t07o72woTokVuqd+/eZtJyr169wteFaPt9+vSJqQ2fzyff+973zKHukf7zP/9TOnXq5OTpAQAACzjq+dG5N2PHjpUVK1aY+TTt2rWT5cuXm96Z4cOHm8UGr127Jk2aNDHDVT169DDhZurUqWZdHp3cPHfuXLOQYahnZ8KECWZdH+25GTx4sGzbtk1Onz4tixYtMrfH0sZjjz0ma9askbvuustMctbD7n/605/KSy+9FI/XDAAApDDHM3J1jR8dapozZ46ZsKw9Mzq3Jj09XS5evChDhw6VJUuWmFWWtWdHQ4muyDx+/Hgzx2fEiBEya9ascHsDBw6UxYsXm8UTdc0g7a1Zt25d+ND2WNr45je/aepr2NEjwO644w6z4rM+FgAAgDqFHx1m0hWZ9Sda+/bt5ezZs5Wua9GihQkit6K9OPpTnZra8Hq98uijj5ofAACAW+HEpgAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXH4ScQCMjq1atl0KBB0rNnT5k0aZJcuHCh2u2vX78u06ZNk759+0q/fv1k/vz5UlJSUmmbPXv2yMiRI6V79+4yatQoOXDggKM29DG9/PLLcv/995vH9MADD8gbb7zh9KkBAAALOA4/a9eulS1btsjChQtl69atJnhMnDhRysvLq9x+ypQpcv78edm0aZOsWrVK9u/fL/PmzQvffvDgQZk+fbqMGTNGtm/fLgMGDJDJkyfLuXPnYm7jRz/6kfl56qmn5O2335Zx48aZ23fs2OH8FQEAAA2ao/CjAWfjxo0mjAwZMkS6dOkiK1eulMuXL8vevXtv2v7EiRNy+PBhWbp0qXTr1s0EmwULFsjOnTvlypUrZpv169fLsGHDTGDp2LGjzJw502y7efPmmNt4/fXX5bHHHjO9Rx06dJCvfvWr8sUvfpHeHwAAULfwc+bMGSkqKjIBJCQ3N1e6du0qR44cuWn7o0ePSsuWLU2oCdFhK4/HI8eOHTO9RsePH6/Unurfv3+4vVja0GD08MMPV35iXq8UFhY6eXoAAMACaU421h4e1bZt20rXt2rVKnxbJO2Zid42IyND8vLy5NKlSyacFBcXS5s2baptr6Y2NOREh6c//OEPsnv3bjOUVhdpac5GBf2BYPiy1+eRNF9i5pP7PqkT+jdVa0a+fvraR7/+DeV51seayapLTWqmal1qpnZNR+EnNMlYw0ekzMxMKSgoqHL76G1D25eVlUlpaWm17entsbQR7Y9//KOZhN2iRQt5/PHHpba8Xo80a9bI0X1KyyrCl3ObZEtWpqOXt85yc7MTWs/tmpGvX15eTrWvX6o/z/pcM1l1qUnNVK1LzdSs6eivc1ZWVnjuT+iy0hCSnX3zg9RtqpoIrdvn5OSYABNqL/r2UHs1tRHpgw8+MJOl/X6/vPrqq2ZIrrYCgaAUFhY7uk9ZuT98ufCjEikpTlzPj75JCgtLxO8PpGzNyNcvP79YMjN8ca9ZE1tqJqsuNamZqnWpWT9r6v1i6TFyFH5Cw09Xr141E4tD9P+dO3e+aXsdztq3b1+l6zTI5Ofnm6EtHbrSAKP3j6T/b926dUxthOj8H+3p0fvpYe+h+9dFRUWg1tsH/EGpCCbuw6/0TeL0MdenmpHt6GWf1xP3mrGypWay6lKTmqlal5qpWdNR14Qe3dW4cWM5dOhQ+Dqdt3Pq1CmzBk80vU7n7uhh6iF65Jbq3bu3mbTcq1ev8HUh2n6fPn1iakOdPHnSHG5/5513yk9+8hNXgg8AAGiYHPX86NybsWPHyooVK6R58+bSrl07Wb58uemdGT58uBluunbtmjRp0sQMV/Xo0cOEm6lTp5p1d3Ry89y5c81ChqGAMmHCBDNUpUeMDR48WLZt2yanT5+WRYsWmdtraqOiokKeeeYZM8fn+eefN8NhH374obmvz+czjxMAACDE8YxcXeNHA8ecOXPMhGXtmdmwYYOkp6fLxYsXZejQobJkyRIZPXq06dlZs2aNWZF5/PjxZo7PiBEjZNasWeH2Bg4cKIsXLzaLJ+qaQZ06dZJ169aFD22vqQ3t9Qn1Cul6QZE0nP385z93+hQBAEAD5jj8aG+KrsisP9Hat28vZ8+erXSd9sjo6TBuRXtx9Kc6t2pDe4WiawIAAFSHE5sCAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKoQfAABgFcIPAACwCuEHAABYhfADAACsQvgBAABWIfwAAACrOA4/gUBAVq9eLYMGDZKePXvKpEmT5MKFC9Vuf/36dZk2bZr07dtX+vXrJ/Pnz5eSkpJK2+zZs0dGjhwp3bt3l1GjRsmBAwcctxFy7Ngx+fSnP+30aQEAAEs4Dj9r166VLVu2yMKFC2Xr1q0mDE2cOFHKy8ur3H7KlCly/vx52bRpk6xatUr2798v8+bNC99+8OBBmT59uowZM0a2b98uAwYMkMmTJ8u5c+dibiMy+DzxxBPmMQEAANQ5/GjA2bhxowkjQ4YMkS5dusjKlSvl8uXLsnfv3pu2P3HihBw+fFiWLl0q3bp1M8FmwYIFsnPnTrly5YrZZv369TJs2DAZN26cdOzYUWbOnGm23bx5c8xtVFRUyJIlS2T8+PHSrl07J08JAABYxlH4OXPmjBQVFZkAEpKbmytdu3aVI0eO3LT90aNHpWXLlibUhOiwlcfjMb002kNz/PjxSu2p/v37h9urqQ1VXFxstn/55Zdl7NixTp4SAACwTJqTjbWHR7Vt27bS9a1atQrfFkl7ZqK3zcjIkLy8PLl06ZIUFhaa4NKmTZtq26upjVAAe+utt8zl0L9uSEtzNiroDwTDl70+j6T5EjOf3PdJndC/qVoz8vXT1z769W8oz7M+1kxWXWpSM1XrUjO1azoKP6FJxho+ImVmZkpBQUGV20dvG9q+rKxMSktLq21Pb4+ljXjxej3SrFkjR/cpLasIX85tki1ZmY5e3jrLzc1OaD23a0a+fnl5OdW+fqn+POtzzWTVpSY1U7UuNVOzpqO/zllZWeG5P6HLSkNIdvbND1K3qWoitG6fk5NjAkyovejbQ+3V1Ea8BAJBKSwsdnSfsnJ/+HLhRyVSUpy4nh99kxQWlojfH0jZmpGvX35+sWRm+OJesya21ExWXWpSM1XrUrN+1tT7xdJj5Cj8hIafrl69Kh06dAhfr//v3LnzTdvrcNa+ffsqXadBJj8/3wxt6dCVBhi9fyT9f+vWrWNqI54qKgK13j7gD0pFMLFHnembxOljrk81I9vRyz6vJ+41Y2VLzWTVpSY1U7UuNVOzpqOuCT26q3HjxnLo0KHwdTpv59SpU2YNnmh6nc7d0cPUQ/TILdW7d28zablXr17h60K0/T59+sTUBgAAQNzCj8690aOpVqxYIe+++645+mvq1Kmmd2b48OHi9/vlww8/DM/l6dGjhwk3us3JkyfNmj5z5841CxmGenYmTJggu3fvlldeecWs7bNs2TI5ffq0OWw91jYAAABi5XhGrq7xo+vqzJkzx4Qc7ZnZsGGDpKeny8WLF2Xo0KFmzZ3Ro0ebnp01a9aYFZk1zOgcnxEjRsisWbPC7Q0cOFAWL15sFk/UNYM6deok69atCx/aHksbtgsGgxIoL5XgjTIJJqhbMhj0SqDc52rNYMWf5/wEK8ok6PHFvWaNj6muNdMyzHsYAFB/eIL6lxNVjjVeu1bkeMLu4y/uN5fXz7iv2jkrbtJfX8muxeK//J6kurJgmsy4/oi5vKzZFsn0/Pnor1Tla32nZH/hu44CkB7ir0caXr9elNAx9mTUpSY1U7UuNetnzebNG7k/4Rn1UEV5gwg+SsPOquavSkPiv/Ke+R1J+v8f2QgASD7CTwPS9NE14vekJyyZ61o8ekh6IvcGUqWmDtsVvTYlro8NAFA7hJ8GxJOeKZ4EhR9Pmle8GVniSfeLx+NeEDGjsNpTkuoiBpN1vpCjuyZhblPMdZnDBKABIPyg3tDgU/z2Iglceb/abfIT+ojcqVn0Y+c9QMl4nrHUrc0cJgCobxJ7AhbgVirKbxl8UI/mMAFACqPnB/VSo2+sFk9aZsrO+Um1mjXVZQ4TgIaE8IN6SYOPzmFKxDyjWz8OO2omsy4AJBrDXgAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAq7DOD1APT/MRKC+tV+f2ijw/mdNzldW2Zsw43xgAhwg/QD0LPh9tXyT5l99LSv38OJ2rrK41b4XzjQFwimEvoD6pKBd/koJPquJ8YwCcoucHqKeaPrpG/J70hNVLtfOYcb4xALVF+AHqKT23mSeB4cem85gBsBvDXgAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKqzwDCBpZ5Ovy1nda3umeVfOJO9QlTU5Gz2QNIQfAEk9m3xdz+pemzPNu1HTqeianI0eSB6GvQBwNvkk4Gz0QPLQ8wMgaWeTT7UzybtR80ZpCWejB5KM8AMgaWeTt+VM8pVqJihwAagew14AAMAqhB8AAGAVwg8AALAK4QcAAFiFCc8AkibVFlZ0pWYtF2esU8369NqyuCPqAcIPgKRI9YUV3ajpdHFGN2rGW001va06SvbI6a4GoNoGPX0P1natpUCaVyrSb0iguEQCdQyXeoRl0gNtml2hlPADIDlYWNFKgavnpGjTtxpE0CtIQs14PU+fZSuOE34AJF1DWlhR98rj3aMDxG3F8fTYeqFSHeEHQNI11IUVG31jtXjSMpO+qnRDrlnbupEhNWfMcvN7clqzadNsKSgoqfNzjXXYKx6vb7CizMoVxwk/AKwS70nWlSYxB+NfM9Y/nImYA5KM1bPdqOvNznX8OnrTvJLWuJF4b6SLN0FBL1mvb0NE+AFgjURPso4c/kq1+SG2zQGBXVjnB4A9mGQdM846j4aMnh8AVkrUJOvIuSW5X3/B9ZrVDdfUdn6IrXNAUkE8hk+DNaw7VefD6+vpIfSEHwBWSuQk6xBvTq4EG+DEbjSMIduiao5SrMvwaW3WddLAFQzmSDwRfgAAqO9SdMg2UMt1nUrad5Hsh2ZJvBB+AABIIckYsk20sotnJFvnnMXpeRJ+AADWzYWp6znWEjE0U5+GbJsmKnAlaM6Z4/ATCARkzZo18sYbb8hHH30kffv2lblz58rtt99e5fbXr1+X5557Tn75y1+aMb8HHnhAZsyYIdnZ2eFt9uzZIy+99JJcvHhR7rjjDpk5c6YMGDDA1TYAwCa1nRxbl1CQjEDgxlyY2vZuxHtopj7xJCFw1avws3btWtmyZYs8//zz0qZNG1m+fLlMnDhRdu3aJRkZGTdtP2XKFCkpKZFNmzZJYWGhzJ49W4qLi2Xp0qXm9oMHD8r06dNNmLn33nvlzTfflMmTJ8uOHTukY8eOrrUBALZwa3JsbUJBwgNBEufCxHtoBvUk/JSXl8vGjRvlmWeekSFDhpjrVq5cKYMGDZK9e/fKgw8+WGn7EydOyOHDh+Wdd94Jh5AFCxaYsPSd73xHWrduLevXr5dhw4bJuHHjzO3aY6P327x5s9nWjTYAwCqWBoKGNjSDehJ+zpw5I0VFRZWGk3Jzc6Vr165y5MiRm8LP0aNHpWXLlpV6X/r162eGro4dOyYjRoyQ48ePy7PPPlvpfv379zdhyq02EB/JWG+i4uMbEigukUAtatbmNABaU6SR4/sB9YVNgaChDc2gnoSfy5cvm3/btm1b6fpWrVqFb4t05cqVm7bVobG8vDy5dOmSGcLS4SsdPquuPTfaqA2v1yPNmzv7oxcMiqz/7jBzuWXen+cjxVeONHtirbnky20qQUnMYlK6ZIO/4ENpot8zbn3XZKdJ80+ey//zR23gl+ANkdwcby0XJ/fX+j56AkP9/TbU32dy6lIzMTVvS1DNYPjzy3uXmsmqqX+7XQ8/Ou9GRc/tyczMlIKCgiq3r2oekG5fVlYmpaWl1bant7vVRm1oz5LP5/wX3aZF4nsJfM1aSzJ4k1Q3Gbxeb4P/fSajLjWpmap1qZnaNR19o2dlZYXn/kTSkBF55FXk9tHbhrbPyckxAaWm9txoAwAAoFbhJzT8dPXq1UrX6/914nE0HYqK3lZDSn5+vhmW0qErDTC3as+NNgAAAGoVfrp06SKNGzeWQ4cOha/TOTenTp0y6/1E0+t03s358+fD1+mRW6p3795maKlXr17h60K0/T59+rjWBgAAQK3Cj86rGTt2rKxYsULeffddc/TX1KlTTe/M8OHDxe/3y4cffhieh9OjRw8TTHSbkydPmvV4dEHEUaNGhXtlJkyYILt375ZXXnlFzp07J8uWLZPTp0/L+PHjXWsDAAAgxBPU1bAc0IDz4osvyltvvWVCTmiF5/bt25vVlYcOHSpLliyR0aNHm+3/9Kc/yfz58+VXv/qVmZ+jh6bPmjUrPFdH6WKEunii9vB06tTJLFgYeTi9G20AAADUKvwAAACkssQdvwsAAFAPEH4AAIBVCD8AAMAqhB8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+KmDb3zjG9K5c2cZM2ZMtdvoytS6zbPPPhv3x/PSSy+ZWm7T86T1799fHnrooSpPMvvaa6+ZU5/s378/Lq9v5I/W0RW/dRHNnTt3Srz8/ve/N7+7e++9V+6++24ZOHCgPP3002ZV83jR90j08438+dd//deE1tPn7raaauqP/t7j+T7S99A999xj3kOvvvqqVFRUSDye52c/+9lqb9fbUvk7oarX2O3fmxPTpk0zz3Pjxo1JeZ4ff/yxfOUrXzHfFfv27XO9rp65YOHChXL//febsx7oqZ30786WLVvi8v79RhXfvXq6qHHjxt10Kim3/fa3vzWLFA8ZMkS6d+8uw4YNk+9973ty4cIFV+ukudqahbxer/zHf/yHWVlaT/MRqbi4WP793/9dUp2eQFY/eE8++aSsXLlSZs6cWemNunTpUnOKkb/92791vXbXrl3l+9//fqUVxvW13rRpk8yYMcOc2Nbtuu+995589atflZ49e8qcOXOkRYsWpuaPf/xj8wWnfzD1tnho2bKlrFmzpsrb/vIv/zKh9dLT012v98QTT1TaWdBV2fXcgJGPQc8fGM/3kb6HCgoK5Je//KVZjf7o0aPyj//4j+azjNTz0UcfmcBx1113yT//8z+b7yI952OiaPCZOHGi2TH6wQ9+4Pr30TvvvGPOaNCxY0fz3P7qr/7KnF1BdzYXL15sznygnyO3n3PXqM/M9evX5fXXX5dvfvOb5gwPd955p7jtJz/5iXlOurOtgVb/9uh5PTds2CB79+6VzZs3m50XNxB+XHiDvP/++2av/NFHH610mwaf7Oxsyc3NlVSn527TPWU9f5p+uP/6r//anNRWe0P0zfid73wnLnX1D2FVQWPw4MHm9CX6IXT7y0afY7NmzWT9+vWSlvbnj4jugeipVfSL5p/+6Z8kHvT8efEKVvWhXocOHcxPSPPmzRPyGKp6H2nvyx133CGLFi2Sn/70p/KFL3whro8B8aG/OzV79mxzPkc9/2OiTm0UCj56Lskf/vCHrveWao+PBp9BgwaZgB75faTfexoSpkyZInv27JGRI0fG/TPzN3/zN+Hv3cidYDccO3bMfBa//vWvm99liD5H/e7V83l+97vfNbXdwK5OHeXk5Jg3YVVDEprYtZsy8g2byrQXRM/hpt31urelXZG6B629QfHoJbgVPa+b/tGMxx7eH//4R9GzvgQCgZt+1/rh+/znP+96TSSHnqhZT5C8devWZD8U1NK2bdvMH2TdIfvUpz6VsN9lUVGRTJo0Sc6ePWt2huIxTPzyyy+bHkk9t2VVf0f074uGgkTJzs42373x+N7V3p0mTZpUuSOtO0n6d0fPHaojKm4g/LhAE3do6Ctyj0C71R988EFpKBo1aiTLly83c4B07FcDnw6H3X777XGrqSFEx7RDP2VlZfLBBx+YvSH98vniF7/oek0da/7DH/5ghme0G1b3vkKnwNOen4cffljiKfL5hn7ieQq+qurFu2Z9oX9Y9A/nyZMn4zJ3orrXFu4NUevQeygA6L/vvvuu2YGJJ/0DPHnyZDNkqz3E2jsRD/pcNNTp0Ht1dNqB270+0d+9N27ckA8//FBeeOEFM+/zS1/6krhd69e//rX5LGrAqoo+x29/+9tmJ9QNDaNLIsn0j6X+wiKHvv7t3/7NvGF1YlpDohNFNfjo0JB2Rca7F+TIkSPSrVu3StfpXoeO769atUruu+8+12s+8sgj5oOueyILFiww1+kwmE561ueuk/Di5X//939ver5Kx7/1yzZR9ZTOqdLx/YbutttuM1/u+fn55nIiXlu41+uj8/5Ck8t1x0Qneb/55pvyrW99K67BR4dpQv+PB+1V15+q5vpFB2j9TvT5fHH/7lXaM6Pzj9yk84l0x1ZHFhKF8OOCrKws8+GLDD+7d+82wSCRE+8SoaSkxEy00+d14MABMwM/nj0/+uHTLl+lPU467q1/qPRfna8RL0899ZT5XepkQn2ehw4dkl27dpn5BTr0pSEoHnQCss4diBY9mT7e9VTbtm3FBqEeLrc/q7d6bR9//HFXa9lIvwfefvttsxOmE4D1R3undYfzX/7lX0xAicck9t/97ncmcGmvsH4X6HCMHnmqv283RQ+7h+gEYJ2DGaldu3by85//PG7fvcFg0Mzx1NEMneaggU+PhnVLKLjpxOpEIfy4RIPOP/zDP5ihLx0T1T+YOhm4odGeEA08enTOM888Yw5J1C8Bt/c6QvTL7DOf+Uz4/3qYp05Mfeyxx8zENx0LjpemTZuaYcvQ0KV2cevz1aE/Pexfe4PcpvOYIp9vvCW6Xn105coVswOjf9AS9drqbaibX/ziF/KnP/3J9PLoTzTdcYnHEaj6vRA66mjZsmWmp1gn/2pPsZsBWr9fdIhHexCjd0oin68eYaZLc8T7u1dp77cGH52LpDuAtxqOc/qaaj2dblAdrauBV7d1A3N+XKJHH+kvT3t/dMhLu+90zYd40TkK+sGL7P7U1KzBK16010MDh/aK6N6WDoucOHHCHP2UKDosMXfuXLl06ZI5MiAefwj1A/7GG29UeWSf7u3omLfba04gOfTzo716unZUvAI84jfkpb3OuvRE5I8GE504G6+Jz6G1okI7Y3//938vv/nNb0wgcJuOKOhcGJ1DGh2qQz9uh/aa6N81/dxcvHhR3KTfu/pZ1OGvqmhvns5/+q//+i9X6hF+XKJvSA0EP/vZz8xhhw888EBc6+nh9bqnEfkG1EAQr+GR//mf/zGhQ998oXkguseje1bata8hKFF00rEe+qlhzO0FtzRc6VEVunhYVR9CnWytAVOPKkHq03VhdH7X1772tWQ/FDigvzPt2dHvWZ1sHPmj31H6HaHD87ozE2+6dpWGEJ2DqDulbtKhOw0aeqRtVQvM6lBfonfETp48aXYU3J7uoL35Ou9OpzRU9fvWBSw7derk2jw6hr1cpLPRdS9Ax5n1zRpPelildonq0VYaRv77v//bHFqvbyC36YdOezz0cHbtbYocR9feFx0C0uGgHTt2xGWBuqroWLsOfz333HOyfft21/batZ158+aZowr0iAZdc0In9+lcJ9270yE+7flyq+s12fR3q0cq3movt7qjL1KJ7jmHnqfOpdAJlrpHreFH30fRcyjgXGjx0Wh6cIKuD+Mm/a7RUFDdTqYe9aW9t9pboIuzxpPuLOlQuE621snAbn4P6udP29ajW3WdtS9/+cvmOn3uusOpw196ZJuuNRTPz0zou0LnFWmPmy4C6/aUA11TSL9bNfzoEbb6O9ShPz2iT3f0dWe0qmBUW4QfF+kHXBc01DFZt2fDR9O1SXS4SQ891D0P/bDpBF2dd+Q2raGT/FavXm3qRtJJfhrAtK7+q4ddJoJOdtYl2HVvQFcd1fVa3Dx6T7809QO3bt06uXbtmunZ02EvnezXkP5Q6h6VfpFVR7/IP/3pT0uq0/laoeep8zJ0iFr/KGvQ/bu/+7tkP7wGQXuHdcXsaPoH2+3wE1phWH+HVdFJzzr1QAOQfj/Ge0hTV13WaQA6QVhXRdbvTLfoWj461KTfcxp2dA6QTkDWnhfd4dYlOeKx+vupiM+M0h5vXaBUd4TjdRSoHgig37OhlZ71aDf9e6rfyXr0npsHYXiCNizmAQAA8Anm/AAAAKsQfgAAgFUIPwAAwCqEHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AABAbPJ/wN/JuBqzwnkAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -1752,23 +4581,1005 @@ "data_x = data['FREQ'].to_numpy()\n", "data_x = data_x.reshape(-1,1)\n", "\n", - "\n", "linkage_data = linkage(data_x, method='single', metric='euclidean')\n", - "dendrogram(linkage_data, labels=data_x)\n", + "dendrogram(linkage_data, labels=np.array(data['ZONE_RISQUE']))\n", "\n", - "plt.show()\n", - "\n", - "#Calcul de la partition de l'espace\n", - "hierarchical_cluster = AgglomerativeClustering(n_clusters=5, metric='euclidean', linkage='complete')\n", - "\n", - "labels = hierarchical_cluster.fit_predict(data_x) # type: ignore\n", - "\n", - "#Représentation Graphique\n", - "y = np.zeros_like(data_x)\n", - "plt.scatter(data_x, y, c=labels, cmap='viridis')\n", "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 33, + "id": "1f0c9650", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ZONE_RISQUE Cluster\n", + "0 A 0\n", + "1 B 0\n", + "2 C 0\n", + "3 D 0\n", + "4 E 0\n", + "5 F 4\n", + "6 G 0\n", + "7 H 0\n", + "8 I 0\n", + "9 J 2\n", + "10 K 0\n", + "11 L 0\n", + "12 M 3\n", + "13 R 1\n", + "14 S 1\n", + "15 T 0\n", + "16 X 1\n" + ] + } + ], + "source": [ + "# Calcul de la partition de l'espace\n", + "hierarchical_cluster = AgglomerativeClustering(\n", + " n_clusters=5, metric=\"euclidean\", linkage=\"single\"\n", + ")\n", + "\n", + "labels = hierarchical_cluster.fit_predict(data_x) # type: ignore\n", + "print(pd.DataFrame({\"ZONE_RISQUE\": data['ZONE_RISQUE'], \"Cluster\": labels}))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "3d77b67c", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "Cluster_FREQ=0
FREQ=%{x}
Y=%{y}", + "legendgroup": "0", + "marker": { + "color": "#636efa", + "symbol": "circle" + }, + "mode": "markers", + "name": "0", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "DKJ1lcZbLz+MRDc7kRcqP8dbVN47cCs/uSYT8OtHMT8RH5JNZgMjP6zUQc2pVCg//vOMydneMz9OHBRG4L8yP95+F6UZkS4/De/QHLtwMj+qGA56SYc1Pw==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAAAAAAAAAAAAA=", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=4
FREQ=%{x}
Y=%{y}", + "legendgroup": "4", + "marker": { + "color": "#EF553B", + "symbol": "circle" + }, + "mode": "markers", + "name": "4", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "3mpcj5mcFT8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AA==", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=2
FREQ=%{x}
Y=%{y}", + "legendgroup": "2", + "marker": { + "color": "#00cc96", + "symbol": "circle" + }, + "mode": "markers", + "name": "2", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "BVFIUy1nOz8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AA==", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=3
FREQ=%{x}
Y=%{y}", + "legendgroup": "3", + "marker": { + "color": "#ab63fa", + "symbol": "circle" + }, + "mode": "markers", + "name": "3", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "ESaBlZY1UD8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AA==", + "dtype": "i1" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ=1
FREQ=%{x}
Y=%{y}", + "legendgroup": "1", + "marker": { + "color": "#FFA15A", + "symbol": "circle" + }, + "mode": "markers", + "name": "1", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAA", + "dtype": "i1" + }, + "yaxis": "y" + } + ], + "layout": { + "legend": { + "title": { + "text": "Cluster_FREQ" + }, + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "FREQ" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "Y" + } + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Visualisation\n", + "data[\"Cluster_FREQ\"] = labels\n", + "data[\"Cluster_FREQ\"] = data[\"Cluster_FREQ\"].astype(str)\n", + "data[\"Y\"] = 0\n", + "\n", + "fig = px.scatter(data, x=\"FREQ\", y=\"Y\", color=\"Cluster_FREQ\")\n", + "fig.show()" + ] + }, { "cell_type": "markdown", "id": "6ace7bc5", @@ -1779,12 +5590,1022 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 35, "id": "16103b5b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "#Complétez avec votre code" + "# Calcul de CAH avec lien simple\n", + "data_x = data[[\"FREQ\", \"CM\"]].to_numpy()\n", + "data_x = data_x.reshape(-1, 2)\n", + "\n", + "linkage_data = linkage(data_x, method=\"single\", metric=\"euclidean\")\n", + "dendrogram(linkage_data, labels=np.array(data[\"ZONE_RISQUE\"]))\n", + "\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67bf3800", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ZONE_RISQUE Cluster\n", + "0 A 1\n", + "1 B 1\n", + "2 C 1\n", + "3 D 1\n", + "4 E 0\n", + "5 F 3\n", + "6 G 1\n", + "7 H 1\n", + "8 I 0\n", + "9 J 1\n", + "10 K 1\n", + "11 L 4\n", + "12 M 1\n", + "13 R 2\n", + "14 S 2\n", + "15 T 4\n", + "16 X 2\n" + ] + } + ], + "source": [ + "# Calcul de la partition de l'espace\n", + "hierarchical_cluster = AgglomerativeClustering(\n", + " n_clusters=5, metric=\"euclidean\", linkage=\"single\"\n", + ")\n", + "\n", + "labels = hierarchical_cluster.fit_predict(data_x) # type: ignore\n", + "print(pd.DataFrame({\"ZONE_RISQUE\": data[\"ZONE_RISQUE\"], \"Cluster\": labels}))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0efdf7c1", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "Cluster_FREQ_CHARGE=1
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "1", + "marker": { + "color": "#636efa", + "symbol": "circle" + }, + "mode": "markers", + "name": "1", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "DKJ1lcZbLz+MRDc7kRcqP8dbVN47cCs/uSYT8OtHMT+s1EHNqVQoP/7zjMnZ3jM/BVFIUy1nOz/efhelGZEuPxEmgZWWNVA/", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "H4XrkX/tMUGuR+E6x38xQQAAAACcZD1B9ihcj+LRG0HhehSuNx/dQGZmZmbOHPVAcT0K189z8kDXo3A9Olf1QFyPwvWo0LhA", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CHARGE=0
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "0", + "marker": { + "color": "#EF553B", + "symbol": "circle" + }, + "mode": "markers", + "name": "0", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "ER+STWYDIz9OHBRG4L8yPw==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "9ihcj54vBkEfhetRqOvfQA==", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CHARGE=3
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "3", + "marker": { + "color": "#00cc96", + "symbol": "circle" + }, + "mode": "markers", + "name": "3", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "3mpcj5mcFT8=", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "FK5H4Zr20kA=", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CHARGE=4
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "4", + "marker": { + "color": "#ab63fa", + "symbol": "circle" + }, + "mode": "markers", + "name": "4", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "De/QHLtwMj+qGA56SYc1Pw==", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "61G4HgUn1kCkcD0KV9qnQA==", + "dtype": "f8" + }, + "yaxis": "y" + }, + { + "hovertemplate": "Cluster_FREQ_CHARGE=2
FREQ=%{x}
CHARGE=%{y}", + "legendgroup": "2", + "marker": { + "color": "#FFA15A", + "symbol": "circle" + }, + "mode": "markers", + "name": "2", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": { + "bdata": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "dtype": "f8" + }, + "xaxis": "x", + "y": { + "bdata": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "dtype": "f8" + }, + "yaxis": "y" + } + ], + "layout": { + "legend": { + "title": { + "text": "Cluster_FREQ_CHARGE" + }, + "tracegroupgap": 0 + }, + "margin": { + "t": 60 + }, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "#2a3f5f" + }, + "error_y": { + "color": "#2a3f5f" + }, + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "#E5ECF6", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "baxis": { + "endlinecolor": "#2a3f5f", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "#2a3f5f" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "heatmap" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattergl" + } + ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + }, + "colorscale": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "#EBF0F8" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "#C8D4E3" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowcolor": "#2a3f5f", + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "colorscale": { + "diverging": [ + [ + 0, + "#8e0152" + ], + [ + 0.1, + "#c51b7d" + ], + [ + 0.2, + "#de77ae" + ], + [ + 0.3, + "#f1b6da" + ], + [ + 0.4, + "#fde0ef" + ], + [ + 0.5, + "#f7f7f7" + ], + [ + 0.6, + "#e6f5d0" + ], + [ + 0.7, + "#b8e186" + ], + [ + 0.8, + "#7fbc41" + ], + [ + 0.9, + "#4d9221" + ], + [ + 1, + "#276419" + ] + ], + "sequential": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ], + "sequentialminus": [ + [ + 0, + "#0d0887" + ], + [ + 0.1111111111111111, + "#46039f" + ], + [ + 0.2222222222222222, + "#7201a8" + ], + [ + 0.3333333333333333, + "#9c179e" + ], + [ + 0.4444444444444444, + "#bd3786" + ], + [ + 0.5555555555555556, + "#d8576b" + ], + [ + 0.6666666666666666, + "#ed7953" + ], + [ + 0.7777777777777778, + "#fb9f3a" + ], + [ + 0.8888888888888888, + "#fdca26" + ], + [ + 1, + "#f0f921" + ] + ] + }, + "colorway": [ + "#636efa", + "#EF553B", + "#00cc96", + "#ab63fa", + "#FFA15A", + "#19d3f3", + "#FF6692", + "#B6E880", + "#FF97FF", + "#FECB52" + ], + "font": { + "color": "#2a3f5f" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "#E5ECF6", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "mapbox": { + "style": "light" + }, + "paper_bgcolor": "white", + "plot_bgcolor": "#E5ECF6", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "#E5ECF6", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "ticks": "", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "line": { + "color": "#2a3f5f" + } + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + }, + "bgcolor": "#E5ECF6", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "ticks": "" + } + }, + "title": { + "x": 0.05 + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "ticks": "", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white", + "zerolinewidth": 2 + } + } + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "title": { + "text": "FREQ" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "title": { + "text": "CHARGE" + } + } + } + } + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Visualisation\n", + "data[\"Cluster_FREQ_CHARGE\"] = labels\n", + "data[\"Cluster_FREQ_CHARGE\"] = data[\"Cluster_FREQ_CHARGE\"].astype(str)\n", + "\n", + "fig = px.scatter(data, x=\"FREQ\", y=\"CHARGE\", color=\"Cluster_FREQ_CHARGE\")\n", + "fig.show()" ] }, { @@ -1817,13 +6638,351 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 38, "id": "5b42c2b5", "metadata": {}, "outputs": [], "source": [ - "#Complétez avec votre code" + "# Sélection des variables\n", + "data_source_MP = data_retraitee[\n", + " [\n", + " \"ANNEE_CTR\",\n", + " \"AGE_ASSURE_PRINCIPAL\",\n", + " \"ANCIENNETE_PERMIS\",\n", + " \"ANNEE_CONSTRUCTION\",\n", + " \"NB\",\n", + " \"EXPO\",\n", + " \"CHARGE\",\n", + " ]\n", + "]\n" ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "0777373f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Nombre d'itérations réalisées : \n", + "41\n" + ] + } + ], + "source": [ + "# Agrégation sous forme de MP\n", + "# Itinitialisation\n", + "kmeans = KMeans(n_clusters=100, max_iter=500)\n", + "\n", + "# Sélection des données\n", + "data_x = data_source_MP[\n", + " [\"ANNEE_CTR\", \"AGE_ASSURE_PRINCIPAL\", \"ANCIENNETE_PERMIS\", \"ANNEE_CONSTRUCTION\"]\n", + "]\n", + "# Fitting\n", + "kmeans.fit(data_x)\n", + "\n", + "# Centroïdes\n", + "print(\"Nombre d'itérations réalisées : \")\n", + "print(kmeans.n_iter_)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "5fd7d737", + "metadata": {}, + "outputs": [], + "source": [ + "# Construction de la nouvelle base de modélisation\n", + "\n", + "# Nouvelles variables explicatives\n", + "base_MP = pd.DataFrame(\n", + " kmeans.cluster_centers_,\n", + " columns=[\n", + " \"ANNEE_CTR\",\n", + " \"AGE_ASSURE_PRINCIPAL\",\n", + " \"ANCIENNETE_PERMIS\",\n", + " \"ANNEE_CONSTRUCTION\",\n", + " ],\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "39e674dd", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/tp/_ld5_pzs6nx6mv1pbjhq1l740000gn/T/ipykernel_60807/1945959780.py:2: SettingWithCopyWarning:\n", + "\n", + "\n", + "A value is trying to be set on a copy of a slice from a DataFrame.\n", + "Try using .loc[row_indexer,col_indexer] = value instead\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + "\n" + ] + } + ], + "source": [ + "# Ajout du nombre de sinistres, exposition et CHARGE par classe\n", + "data_source_MP[\"Cluster\"] = kmeans.labels_\n", + "data_sinistralite_MP = data_source_MP[[\"Cluster\", \"NB\", \"EXPO\", \"CHARGE\"]]\n", + "\n", + "data_sinistralite_MP = data_sinistralite_MP.groupby([\"Cluster\"], as_index=False).sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "8115717e", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Cluster", + "rawType": "int32", + "type": "integer" + }, + { + "name": "ANNEE_CTR", + "rawType": "float64", + "type": "float" + }, + { + "name": "AGE_ASSURE_PRINCIPAL", + "rawType": "float64", + "type": "float" + }, + { + "name": "ANCIENNETE_PERMIS", + "rawType": "float64", + "type": "float" + }, + { + "name": "ANNEE_CONSTRUCTION", + "rawType": "float64", + "type": "float" + }, + { + "name": "NB", + "rawType": "int64", + "type": "integer" + }, + { + "name": "EXPO", + "rawType": "float64", + "type": "float" + }, + { + "name": "CHARGE", + "rawType": "float64", + "type": "float" + } + ], + "ref": "7165b46e-7eb6-49d2-a196-5f1042af8126", + "rows": [ + [ + "0", + "0", + "2019.307392996109", + "26.02334630350193", + "13.019455252918299", + "2017.307392996109", + "14", + "70582.72677595628", + "76623.37" + ], + [ + "1", + "1", + "2019.185628742515", + "56.634730538922156", + "34.64071856287425", + "2017.3233532934132", + "13", + "48258.04644808743", + "94446.05" + ], + [ + "2", + "2", + "2019.251282051282", + "45.44615384615385", + "63.061538461538476", + "2017.2205128205128", + "18", + "52378.40983606557", + "180511.41" + ], + [ + "3", + "3", + "2019.4968944099378", + "43.17391304347826", + "27.515527950310556", + "2017.2422360248447", + "8", + "43450.14480874316", + "70994.73999999999" + ], + [ + "4", + "4", + "2018.0091743119267", + "63.30275229357798", + "48.211009174311926", + "2014.4587155963302", + "3", + "31148.94262295082", + "14771.7" + ] + ], + "shape": { + "columns": 8, + "rows": 5 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ClusterANNEE_CTRAGE_ASSURE_PRINCIPALANCIENNETE_PERMISANNEE_CONSTRUCTIONNBEXPOCHARGE
002019.30739326.02334613.0194552017.3073931470582.72677676623.37
112019.18562956.63473134.6407192017.3233531348258.04644894446.05
222019.25128245.44615463.0615382017.2205131852378.409836180511.41
332019.49689443.17391327.5155282017.242236843450.14480970994.74
442018.00917463.30275248.2110092014.458716331148.94262314771.70
\n", + "
" + ], + "text/plain": [ + " Cluster ANNEE_CTR AGE_ASSURE_PRINCIPAL ANCIENNETE_PERMIS \\\n", + "0 0 2019.307393 26.023346 13.019455 \n", + "1 1 2019.185629 56.634731 34.640719 \n", + "2 2 2019.251282 45.446154 63.061538 \n", + "3 3 2019.496894 43.173913 27.515528 \n", + "4 4 2018.009174 63.302752 48.211009 \n", + "\n", + " ANNEE_CONSTRUCTION NB EXPO CHARGE \n", + "0 2017.307393 14 70582.726776 76623.37 \n", + "1 2017.323353 13 48258.046448 94446.05 \n", + "2 2017.220513 18 52378.409836 180511.41 \n", + "3 2017.242236 8 43450.144809 70994.74 \n", + "4 2014.458716 3 31148.942623 14771.70 " + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Joiture des tables\n", + "base_MP = base_MP.merge(data_sinistralite_MP, left_index=True, right_on=\"Cluster\")\n", + "\n", + "base_MP = base_MP.iloc[:, [4, 0, 1, 2, 3, 5, 6, 7]]\n", + "base_MP.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b99a8316", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {