mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-01-14 15:54:13 +01:00
4418 lines
137 KiB
Plaintext
4418 lines
137 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "8750d15b",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Cours 4 : Machine Learning - Algorithmes supervisés (2/2)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "f7c08ae5",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Préambule"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ec7ecb4b",
|
||
"metadata": {},
|
||
"source": [
|
||
"Les objectifs de cette séance (3h) sont :\n",
|
||
"* Préparation des bases de modélisation (sampling)\n",
|
||
"* Construire un modèle de Machine Learning (cross-validation et hyperparamétrage) pour résoudre un problème de classification\n",
|
||
"* Analyser les performances du modèle"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "4e99c600",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Préparation du workspace"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c1b01045",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Import de librairies "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 15,
|
||
"id": "97d58527",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Données\n",
|
||
"import numpy as np\n",
|
||
"import pandas as pd\n",
|
||
"\n",
|
||
"# Graphiques\n",
|
||
"import seaborn as sns\n",
|
||
"\n",
|
||
"sns.set()\n",
|
||
"import plotly.express as px\n",
|
||
"import plotly.graph_objects as gp\n",
|
||
"\n",
|
||
"# Machine Learning\n",
|
||
"import sklearn.preprocessing as preproc\n",
|
||
"from imblearn.over_sampling import RandomOverSampler\n",
|
||
"\n",
|
||
"# Statistiques\n",
|
||
"from scipy.stats import chi2_contingency\n",
|
||
"from sklearn import metrics\n",
|
||
"from sklearn.ensemble import GradientBoostingClassifier\n",
|
||
"from sklearn.model_selection import (\n",
|
||
" GridSearchCV,\n",
|
||
" KFold,\n",
|
||
" StratifiedKFold,\n",
|
||
" cross_val_score,\n",
|
||
" train_test_split,\n",
|
||
")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "06153286",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Définition des fonctions "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "c67db932",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def cramers_V(var1,var2) :\n",
|
||
" crosstab = np.array(pd.crosstab(var1,var2, rownames=None, colnames=None)) # Cross table building\n",
|
||
" stat = chi2_contingency(crosstab)[0] # Keeping of the test statistic of the Chi2 test\n",
|
||
" obs = np.sum(crosstab) # Number of observations\n",
|
||
" mini = min(crosstab.shape)-1 # Take the minimum value between the columns and the rows of the cross table\n",
|
||
" return (stat/(obs*mini))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "985e4e97",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Constantes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 17,
|
||
"id": "c9597b48",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"input_path = \"./1_inputs\"\n",
|
||
"output_path = \"./2_outputs\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "b2b035d2",
|
||
"metadata": {},
|
||
"source": [
|
||
"### Import des données"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 18,
|
||
"id": "8051b5f4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"path = input_path + '/base_retraitee.csv'\n",
|
||
"data_retraitee = pd.read_csv(path, sep=\",\", decimal=\".\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "a2578ba1",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Préparation de la base de données"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "b3715c37",
|
||
"metadata": {},
|
||
"source": [
|
||
"Dans cette partie nous souhaitons expliquer la survenance d'un sinistre en fonction des variables explicatives i.e. une variable binaire qui : \n",
|
||
"* est égale à 1 si la personne a eu 1 ou plus de sinistres.\n",
|
||
"* est égale à 0 le cas échéant."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 23,
|
||
"id": "b9b98d36",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.microsoft.datawrangler.viewer.v0+json": {
|
||
"columns": [
|
||
{
|
||
"name": "index",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"name": "ANNEE_CTR",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"name": "CONTRAT_ANCIENNETE",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "FREQUENCE_PAIEMENT_COTISATION",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "GROUPE_KM",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "AGE_ASSURE_PRINCIPAL",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"name": "GENRE",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "DEUXIEME_CONDUCTEUR",
|
||
"rawType": "bool",
|
||
"type": "boolean"
|
||
},
|
||
{
|
||
"name": "ANCIENNETE_PERMIS",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"name": "ANNEE_CONSTRUCTION",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ENERGIE",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "EQUIPEMENT_SECURITE",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "VALEUR_DU_BIEN",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "NB",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"name": "CHARGE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "EXPO",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "sinistré",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
}
|
||
],
|
||
"ref": "3a5c9b57-04ea-45e3-9475-dee04d53694d",
|
||
"rows": [
|
||
[
|
||
"0",
|
||
"2019",
|
||
"(-1,0]",
|
||
"ANNUEL",
|
||
"[20000;40000[",
|
||
"B",
|
||
"54",
|
||
"M",
|
||
"False",
|
||
"47",
|
||
"2016.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"245.3278688524592",
|
||
"0"
|
||
],
|
||
[
|
||
"1",
|
||
"2019",
|
||
"(-1,0]",
|
||
"ANNUEL",
|
||
"[20000;40000[",
|
||
"B",
|
||
"88",
|
||
"F",
|
||
"True",
|
||
"55",
|
||
"2018.0",
|
||
"DIESEL",
|
||
"VRAI",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"230.36885245901655",
|
||
"0"
|
||
],
|
||
[
|
||
"2",
|
||
"2021",
|
||
"(1,2]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"D",
|
||
"35",
|
||
"F",
|
||
"True",
|
||
"16",
|
||
"2017.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"300.0",
|
||
"0"
|
||
],
|
||
[
|
||
"3",
|
||
"2021",
|
||
"(2,5]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"46",
|
||
"M",
|
||
"False",
|
||
"44",
|
||
"2018.0",
|
||
"ESSENCE",
|
||
"VRAI",
|
||
"[35000;99999[",
|
||
"0",
|
||
"0.0",
|
||
"303.99999999999994",
|
||
"0"
|
||
],
|
||
[
|
||
"4",
|
||
"2018",
|
||
"(2,5]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"A",
|
||
"46",
|
||
"F",
|
||
"False",
|
||
"31",
|
||
"2009.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"5",
|
||
"2019",
|
||
"(2,5]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"A",
|
||
"67",
|
||
"M",
|
||
"False",
|
||
"22",
|
||
"2015.0",
|
||
"ESSENCE",
|
||
"VRAI",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"364.5874316939892",
|
||
"0"
|
||
],
|
||
[
|
||
"6",
|
||
"2016",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"37",
|
||
"F",
|
||
"False",
|
||
"15",
|
||
"2016.0",
|
||
"ESSENCE",
|
||
"VRAI",
|
||
"[10000;15000[",
|
||
"0",
|
||
"868.11",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"7",
|
||
"2017",
|
||
"(1,2]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"A",
|
||
"46",
|
||
"F",
|
||
"False",
|
||
"37",
|
||
"2015.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"300.0",
|
||
"0"
|
||
],
|
||
[
|
||
"8",
|
||
"2016",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"A",
|
||
"44",
|
||
"F",
|
||
"False",
|
||
"63",
|
||
"2014.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[0;10000[",
|
||
"0",
|
||
"0.0",
|
||
"56.84426229508204",
|
||
"0"
|
||
],
|
||
[
|
||
"9",
|
||
"2019",
|
||
"(2,5]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"59",
|
||
"F",
|
||
"False",
|
||
"68",
|
||
"2014.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"2794.96",
|
||
"364.00000000000006",
|
||
"0"
|
||
],
|
||
[
|
||
"10",
|
||
"2019",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"40",
|
||
"M",
|
||
"False",
|
||
"37",
|
||
"2017.0",
|
||
"ESSENCE",
|
||
"VRAI",
|
||
"[15000;20000[",
|
||
"1",
|
||
"1072.98",
|
||
"364.8415300546447",
|
||
"1"
|
||
],
|
||
[
|
||
"11",
|
||
"2018",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"30",
|
||
"M",
|
||
"False",
|
||
"12",
|
||
"2017.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"272.00000000000006",
|
||
"0"
|
||
],
|
||
[
|
||
"12",
|
||
"2020",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"D",
|
||
"30",
|
||
"M",
|
||
"True",
|
||
"15",
|
||
"2020.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"13",
|
||
"2021",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"B",
|
||
"58",
|
||
"M",
|
||
"False",
|
||
"39",
|
||
"2017.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"303.99999999999994",
|
||
"0"
|
||
],
|
||
[
|
||
"14",
|
||
"2019",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"39",
|
||
"M",
|
||
"False",
|
||
"36",
|
||
"2014.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"203.44262295081973",
|
||
"0"
|
||
],
|
||
[
|
||
"15",
|
||
"2019",
|
||
"(0,1]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"A",
|
||
"26",
|
||
"F",
|
||
"False",
|
||
"14",
|
||
"2016.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"364.2049180327869",
|
||
"0"
|
||
],
|
||
[
|
||
"16",
|
||
"2017",
|
||
"(-1,0]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"D",
|
||
"26",
|
||
"M",
|
||
"False",
|
||
"17",
|
||
"2018.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[35000;99999[",
|
||
"0",
|
||
"0.0",
|
||
"268.00000000000006",
|
||
"0"
|
||
],
|
||
[
|
||
"17",
|
||
"2016",
|
||
"(0,1]",
|
||
"TRIMESTRIEL",
|
||
"[0;20000[",
|
||
"A",
|
||
"57",
|
||
"F",
|
||
"False",
|
||
"61",
|
||
"2011.0",
|
||
"ESSENCE",
|
||
"VRAI",
|
||
"[10000;15000[",
|
||
"0",
|
||
"287.73",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"18",
|
||
"2018",
|
||
"(-1,0]",
|
||
"TRIMESTRIEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"25",
|
||
"M",
|
||
"False",
|
||
"17",
|
||
"2017.0",
|
||
"DIESEL",
|
||
"VRAI",
|
||
"[35000;99999[",
|
||
"0",
|
||
"0.0",
|
||
"350.99999999999983",
|
||
"0"
|
||
],
|
||
[
|
||
"19",
|
||
"2018",
|
||
"(2,5]",
|
||
"ANNUEL",
|
||
"[20000;40000[",
|
||
"D",
|
||
"61",
|
||
"M",
|
||
"True",
|
||
"28",
|
||
"2014.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"20",
|
||
"2020",
|
||
"(1,2]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"F",
|
||
"37",
|
||
"F",
|
||
"False",
|
||
"20",
|
||
"2018.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[25000;35000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"21",
|
||
"2020",
|
||
"(2,5]",
|
||
"TRIMESTRIEL",
|
||
"[0;20000[",
|
||
"D",
|
||
"25",
|
||
"M",
|
||
"True",
|
||
"18",
|
||
"2014.0",
|
||
"DIESEL",
|
||
"VRAI",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"102.71857923497252",
|
||
"0"
|
||
],
|
||
[
|
||
"22",
|
||
"2021",
|
||
"(2,5]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"30",
|
||
"F",
|
||
"True",
|
||
"14",
|
||
"2018.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"303.99999999999994",
|
||
"0"
|
||
],
|
||
[
|
||
"23",
|
||
"2017",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"26",
|
||
"F",
|
||
"False",
|
||
"15",
|
||
"2016.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"158.99999999999986",
|
||
"0"
|
||
],
|
||
[
|
||
"24",
|
||
"2016",
|
||
"(0,1]",
|
||
"TRIMESTRIEL",
|
||
"[0;20000[",
|
||
"A",
|
||
"62",
|
||
"M",
|
||
"False",
|
||
"64",
|
||
"2013.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"25",
|
||
"2020",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"45",
|
||
"F",
|
||
"False",
|
||
"44",
|
||
"2020.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"330.42349726775944",
|
||
"0"
|
||
],
|
||
[
|
||
"26",
|
||
"2020",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"E",
|
||
"60",
|
||
"M",
|
||
"False",
|
||
"66",
|
||
"2018.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[35000;99999[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"27",
|
||
"2020",
|
||
"(0,1]",
|
||
"TRIMESTRIEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"42",
|
||
"F",
|
||
"False",
|
||
"18",
|
||
"2018.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"28",
|
||
"2021",
|
||
"(2,5]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"60",
|
||
"M",
|
||
"False",
|
||
"52",
|
||
"2016.0",
|
||
"DIESEL",
|
||
"VRAI",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"277.9999999999999",
|
||
"0"
|
||
],
|
||
[
|
||
"29",
|
||
"2021",
|
||
"(2,5]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"44",
|
||
"M",
|
||
"False",
|
||
"27",
|
||
"2017.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"234.99999999999991",
|
||
"0"
|
||
],
|
||
[
|
||
"30",
|
||
"2021",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"D",
|
||
"44",
|
||
"F",
|
||
"False",
|
||
"40",
|
||
"2020.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"180.99999999999997",
|
||
"0"
|
||
],
|
||
[
|
||
"31",
|
||
"2017",
|
||
"(1,2]",
|
||
"ANNUEL",
|
||
"[20000;40000[",
|
||
"A",
|
||
"37",
|
||
"M",
|
||
"False",
|
||
"56",
|
||
"2013.0",
|
||
"DIESEL",
|
||
"VRAI",
|
||
"[35000;99999[",
|
||
"0",
|
||
"0.0",
|
||
"93.99999999999984",
|
||
"0"
|
||
],
|
||
[
|
||
"32",
|
||
"2017",
|
||
"(0,1]",
|
||
"ANNUEL",
|
||
"[20000;40000[",
|
||
"A",
|
||
"25",
|
||
"F",
|
||
"True",
|
||
"12",
|
||
"2016.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"33",
|
||
"2021",
|
||
"(1,2]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"62",
|
||
"M",
|
||
"False",
|
||
"50",
|
||
"2014.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"238.99999999999991",
|
||
"0"
|
||
],
|
||
[
|
||
"34",
|
||
"2020",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"27",
|
||
"M",
|
||
"True",
|
||
"13",
|
||
"2018.0",
|
||
"AUTRE",
|
||
"FAUX",
|
||
"[35000;99999[",
|
||
"1",
|
||
"3750.0",
|
||
"306.9945355191256",
|
||
"1"
|
||
],
|
||
[
|
||
"35",
|
||
"2021",
|
||
"(1,2]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"60",
|
||
"F",
|
||
"False",
|
||
"61",
|
||
"2020.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"303.99999999999994",
|
||
"0"
|
||
],
|
||
[
|
||
"36",
|
||
"2019",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"L",
|
||
"19",
|
||
"M",
|
||
"False",
|
||
"2",
|
||
"2017.0",
|
||
"ESSENCE",
|
||
"VRAI",
|
||
"[0;10000[",
|
||
"1",
|
||
"1838.49",
|
||
"344.80327868852464",
|
||
"1"
|
||
],
|
||
[
|
||
"37",
|
||
"2016",
|
||
"(-1,0]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"56",
|
||
"F",
|
||
"False",
|
||
"65",
|
||
"2010.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[0;10000[",
|
||
"0",
|
||
"0.0",
|
||
"280.0",
|
||
"0"
|
||
],
|
||
[
|
||
"38",
|
||
"2019",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"57",
|
||
"F",
|
||
"False",
|
||
"36",
|
||
"2021.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"364.2677595628415",
|
||
"0"
|
||
],
|
||
[
|
||
"39",
|
||
"2017",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"A",
|
||
"24",
|
||
"F",
|
||
"False",
|
||
"12",
|
||
"2017.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"2637.39",
|
||
"195.00000000000009",
|
||
"0"
|
||
],
|
||
[
|
||
"40",
|
||
"2018",
|
||
"(0,1]",
|
||
"ANNUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"49",
|
||
"M",
|
||
"True",
|
||
"20",
|
||
"2017.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"41",
|
||
"2018",
|
||
"(0,1]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"51",
|
||
"M",
|
||
"True",
|
||
"42",
|
||
"2017.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"42",
|
||
"2020",
|
||
"(1,2]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"57",
|
||
"M",
|
||
"False",
|
||
"63",
|
||
"2018.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"43",
|
||
"2019",
|
||
"(1,2]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"40",
|
||
"M",
|
||
"False",
|
||
"69",
|
||
"2013.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"364.2240437158468",
|
||
"0"
|
||
],
|
||
[
|
||
"44",
|
||
"2021",
|
||
"(1,2]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"B",
|
||
"60",
|
||
"M",
|
||
"False",
|
||
"28",
|
||
"2018.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[35000;99999[",
|
||
"0",
|
||
"0.0",
|
||
"303.99999999999994",
|
||
"0"
|
||
],
|
||
[
|
||
"45",
|
||
"2020",
|
||
"(2,5]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"52",
|
||
"F",
|
||
"False",
|
||
"55",
|
||
"2017.0",
|
||
"DIESEL",
|
||
"VRAI",
|
||
"[35000;99999[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"46",
|
||
"2020",
|
||
"(2,5]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"C",
|
||
"41",
|
||
"M",
|
||
"False",
|
||
"47",
|
||
"2018.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[15000;20000[",
|
||
"0",
|
||
"0.0",
|
||
"365.0",
|
||
"0"
|
||
],
|
||
[
|
||
"47",
|
||
"2020",
|
||
"(0,1]",
|
||
"MENSUEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"51",
|
||
"F",
|
||
"False",
|
||
"59",
|
||
"2016.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[10000;15000[",
|
||
"0",
|
||
"0.0",
|
||
"118.67486338797818",
|
||
"0"
|
||
],
|
||
[
|
||
"48",
|
||
"2019",
|
||
"(-1,0]",
|
||
"MENSUEL",
|
||
"[20000;40000[",
|
||
"C",
|
||
"49",
|
||
"M",
|
||
"False",
|
||
"21",
|
||
"2020.0",
|
||
"ESSENCE",
|
||
"FAUX",
|
||
"[25000;35000[",
|
||
"0",
|
||
"0.0",
|
||
"267.26775956284155",
|
||
"0"
|
||
],
|
||
[
|
||
"49",
|
||
"2020",
|
||
"(2,5]",
|
||
"ANNUEL",
|
||
"[0;20000[",
|
||
"B",
|
||
"73",
|
||
"M",
|
||
"True",
|
||
"24",
|
||
"2018.0",
|
||
"DIESEL",
|
||
"FAUX",
|
||
"[20000;25000[",
|
||
"0",
|
||
"0.0",
|
||
"193.4699453551912",
|
||
"0"
|
||
]
|
||
],
|
||
"shape": {
|
||
"columns": 17,
|
||
"rows": 14236
|
||
}
|
||
},
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>ANNEE_CTR</th>\n",
|
||
" <th>CONTRAT_ANCIENNETE</th>\n",
|
||
" <th>FREQUENCE_PAIEMENT_COTISATION</th>\n",
|
||
" <th>GROUPE_KM</th>\n",
|
||
" <th>ZONE_RISQUE</th>\n",
|
||
" <th>AGE_ASSURE_PRINCIPAL</th>\n",
|
||
" <th>GENRE</th>\n",
|
||
" <th>DEUXIEME_CONDUCTEUR</th>\n",
|
||
" <th>ANCIENNETE_PERMIS</th>\n",
|
||
" <th>ANNEE_CONSTRUCTION</th>\n",
|
||
" <th>ENERGIE</th>\n",
|
||
" <th>EQUIPEMENT_SECURITE</th>\n",
|
||
" <th>VALEUR_DU_BIEN</th>\n",
|
||
" <th>NB</th>\n",
|
||
" <th>CHARGE</th>\n",
|
||
" <th>EXPO</th>\n",
|
||
" <th>sinistré</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>(-1,0]</td>\n",
|
||
" <td>ANNUEL</td>\n",
|
||
" <td>[20000;40000[</td>\n",
|
||
" <td>B</td>\n",
|
||
" <td>54</td>\n",
|
||
" <td>M</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>47</td>\n",
|
||
" <td>2016.0</td>\n",
|
||
" <td>ESSENCE</td>\n",
|
||
" <td>FAUX</td>\n",
|
||
" <td>[10000;15000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>245.327869</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>(-1,0]</td>\n",
|
||
" <td>ANNUEL</td>\n",
|
||
" <td>[20000;40000[</td>\n",
|
||
" <td>B</td>\n",
|
||
" <td>88</td>\n",
|
||
" <td>F</td>\n",
|
||
" <td>True</td>\n",
|
||
" <td>55</td>\n",
|
||
" <td>2018.0</td>\n",
|
||
" <td>DIESEL</td>\n",
|
||
" <td>VRAI</td>\n",
|
||
" <td>[20000;25000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>230.368852</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>(1,2]</td>\n",
|
||
" <td>ANNUEL</td>\n",
|
||
" <td>[0;20000[</td>\n",
|
||
" <td>D</td>\n",
|
||
" <td>35</td>\n",
|
||
" <td>F</td>\n",
|
||
" <td>True</td>\n",
|
||
" <td>16</td>\n",
|
||
" <td>2017.0</td>\n",
|
||
" <td>ESSENCE</td>\n",
|
||
" <td>FAUX</td>\n",
|
||
" <td>[15000;20000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>300.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>(2,5]</td>\n",
|
||
" <td>ANNUEL</td>\n",
|
||
" <td>[0;20000[</td>\n",
|
||
" <td>C</td>\n",
|
||
" <td>46</td>\n",
|
||
" <td>M</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>44</td>\n",
|
||
" <td>2018.0</td>\n",
|
||
" <td>ESSENCE</td>\n",
|
||
" <td>VRAI</td>\n",
|
||
" <td>[35000;99999[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>304.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>2018</td>\n",
|
||
" <td>(2,5]</td>\n",
|
||
" <td>MENSUEL</td>\n",
|
||
" <td>[20000;40000[</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>46</td>\n",
|
||
" <td>F</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>31</td>\n",
|
||
" <td>2009.0</td>\n",
|
||
" <td>DIESEL</td>\n",
|
||
" <td>FAUX</td>\n",
|
||
" <td>[10000;15000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>365.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>...</th>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>...</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14231</th>\n",
|
||
" <td>2021</td>\n",
|
||
" <td>(2,5]</td>\n",
|
||
" <td>MENSUEL</td>\n",
|
||
" <td>[0;20000[</td>\n",
|
||
" <td>D</td>\n",
|
||
" <td>55</td>\n",
|
||
" <td>M</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>49</td>\n",
|
||
" <td>2017.0</td>\n",
|
||
" <td>ESSENCE</td>\n",
|
||
" <td>FAUX</td>\n",
|
||
" <td>[20000;25000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>181.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14232</th>\n",
|
||
" <td>2019</td>\n",
|
||
" <td>(2,5]</td>\n",
|
||
" <td>MENSUEL</td>\n",
|
||
" <td>[20000;40000[</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>33</td>\n",
|
||
" <td>M</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>14</td>\n",
|
||
" <td>2017.0</td>\n",
|
||
" <td>ESSENCE</td>\n",
|
||
" <td>FAUX</td>\n",
|
||
" <td>[10000;15000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>364.669399</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14233</th>\n",
|
||
" <td>2017</td>\n",
|
||
" <td>(-1,0]</td>\n",
|
||
" <td>ANNUEL</td>\n",
|
||
" <td>[0;20000[</td>\n",
|
||
" <td>A</td>\n",
|
||
" <td>62</td>\n",
|
||
" <td>M</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>58</td>\n",
|
||
" <td>2017.0</td>\n",
|
||
" <td>ESSENCE</td>\n",
|
||
" <td>VRAI</td>\n",
|
||
" <td>[10000;15000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>182.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14234</th>\n",
|
||
" <td>2018</td>\n",
|
||
" <td>(-1,0]</td>\n",
|
||
" <td>TRIMESTRIEL</td>\n",
|
||
" <td>[20000;40000[</td>\n",
|
||
" <td>D</td>\n",
|
||
" <td>20</td>\n",
|
||
" <td>M</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>7</td>\n",
|
||
" <td>2016.0</td>\n",
|
||
" <td>DIESEL</td>\n",
|
||
" <td>FAUX</td>\n",
|
||
" <td>[25000;35000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>9.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>14235</th>\n",
|
||
" <td>2017</td>\n",
|
||
" <td>(-1,0]</td>\n",
|
||
" <td>ANNUEL</td>\n",
|
||
" <td>[0;20000[</td>\n",
|
||
" <td>C</td>\n",
|
||
" <td>73</td>\n",
|
||
" <td>F</td>\n",
|
||
" <td>False</td>\n",
|
||
" <td>41</td>\n",
|
||
" <td>2017.0</td>\n",
|
||
" <td>ESSENCE</td>\n",
|
||
" <td>FAUX</td>\n",
|
||
" <td>[10000;15000[</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>52.000000</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>14236 rows × 17 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" ANNEE_CTR CONTRAT_ANCIENNETE FREQUENCE_PAIEMENT_COTISATION \\\n",
|
||
"0 2019 (-1,0] ANNUEL \n",
|
||
"1 2019 (-1,0] ANNUEL \n",
|
||
"2 2021 (1,2] ANNUEL \n",
|
||
"3 2021 (2,5] ANNUEL \n",
|
||
"4 2018 (2,5] MENSUEL \n",
|
||
"... ... ... ... \n",
|
||
"14231 2021 (2,5] MENSUEL \n",
|
||
"14232 2019 (2,5] MENSUEL \n",
|
||
"14233 2017 (-1,0] ANNUEL \n",
|
||
"14234 2018 (-1,0] TRIMESTRIEL \n",
|
||
"14235 2017 (-1,0] ANNUEL \n",
|
||
"\n",
|
||
" GROUPE_KM ZONE_RISQUE AGE_ASSURE_PRINCIPAL GENRE \\\n",
|
||
"0 [20000;40000[ B 54 M \n",
|
||
"1 [20000;40000[ B 88 F \n",
|
||
"2 [0;20000[ D 35 F \n",
|
||
"3 [0;20000[ C 46 M \n",
|
||
"4 [20000;40000[ A 46 F \n",
|
||
"... ... ... ... ... \n",
|
||
"14231 [0;20000[ D 55 M \n",
|
||
"14232 [20000;40000[ A 33 M \n",
|
||
"14233 [0;20000[ A 62 M \n",
|
||
"14234 [20000;40000[ D 20 M \n",
|
||
"14235 [0;20000[ C 73 F \n",
|
||
"\n",
|
||
" DEUXIEME_CONDUCTEUR ANCIENNETE_PERMIS ANNEE_CONSTRUCTION ENERGIE \\\n",
|
||
"0 False 47 2016.0 ESSENCE \n",
|
||
"1 True 55 2018.0 DIESEL \n",
|
||
"2 True 16 2017.0 ESSENCE \n",
|
||
"3 False 44 2018.0 ESSENCE \n",
|
||
"4 False 31 2009.0 DIESEL \n",
|
||
"... ... ... ... ... \n",
|
||
"14231 False 49 2017.0 ESSENCE \n",
|
||
"14232 False 14 2017.0 ESSENCE \n",
|
||
"14233 False 58 2017.0 ESSENCE \n",
|
||
"14234 False 7 2016.0 DIESEL \n",
|
||
"14235 False 41 2017.0 ESSENCE \n",
|
||
"\n",
|
||
" EQUIPEMENT_SECURITE VALEUR_DU_BIEN NB CHARGE EXPO sinistré \n",
|
||
"0 FAUX [10000;15000[ 0 0.0 245.327869 0 \n",
|
||
"1 VRAI [20000;25000[ 0 0.0 230.368852 0 \n",
|
||
"2 FAUX [15000;20000[ 0 0.0 300.000000 0 \n",
|
||
"3 VRAI [35000;99999[ 0 0.0 304.000000 0 \n",
|
||
"4 FAUX [10000;15000[ 0 0.0 365.000000 0 \n",
|
||
"... ... ... .. ... ... ... \n",
|
||
"14231 FAUX [20000;25000[ 0 0.0 181.000000 0 \n",
|
||
"14232 FAUX [10000;15000[ 0 0.0 364.669399 0 \n",
|
||
"14233 VRAI [10000;15000[ 0 0.0 182.000000 0 \n",
|
||
"14234 FAUX [25000;35000[ 0 0.0 9.000000 0 \n",
|
||
"14235 FAUX [10000;15000[ 0 0.0 52.000000 0 \n",
|
||
"\n",
|
||
"[14236 rows x 17 columns]"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Calculez la variable \"sinistré\" qui est 1 si la personne a eu un ou plusieurs sinistres, 0 sinon\n",
|
||
"data_retraitee[\"sinistré\"] = data_retraitee[\"NB\"] > 0\n",
|
||
"data_retraitee[\"sinistré\"] = data_retraitee[\"sinistré\"].astype(int)\n",
|
||
"data_retraitee"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "657ebd89",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Exercice :** construisez les statistiques descriptives de la base utilisée. Notamment la distribution de la variable réponse."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 25,
|
||
"id": "47cf4b69",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.plotly.v1+json": {
|
||
"config": {
|
||
"plotlyServerURL": "https://plot.ly"
|
||
},
|
||
"data": [
|
||
{
|
||
"bingroup": "x",
|
||
"hovertemplate": "sinistré=%{x}<br>count=%{y}<extra></extra>",
|
||
"legendgroup": "",
|
||
"marker": {
|
||
"color": "#636efa",
|
||
"pattern": {
|
||
"shape": ""
|
||
}
|
||
},
|
||
"name": "",
|
||
"orientation": "v",
|
||
"showlegend": false,
|
||
"type": "histogram",
|
||
"x": {
|
||
"bdata": "AAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAAABAAABAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAEAAAAAAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAABAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAAAAAAAAQAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAQAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAEAAAAAAAAAAAAAAQAAAQAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAABAQAAAAAAAAAAAAAAAQAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAEBAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAABAQAAAAABAAAAAAABAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAQAAAAAAAQAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAQAAAAAAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAQAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAEAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAABAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABAAEBAAEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAQAAAAAAAAAAAAEAAAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAABAQAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAEAAAAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAAEAAAAAAQAAAAAAAAABAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAEAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAQEAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAQABAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAQAAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAAAAAAQAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAQEAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAQAAAAAAAAEAAQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAEAAAEBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAABAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAQEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAQAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAABAAABAAEAAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAQABAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAQAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAA==",
|
||
"dtype": "i1"
|
||
},
|
||
"xaxis": "x",
|
||
"yaxis": "y"
|
||
}
|
||
],
|
||
"layout": {
|
||
"barmode": "relative",
|
||
"legend": {
|
||
"tracegroupgap": 0
|
||
},
|
||
"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
|
||
}
|
||
}
|
||
},
|
||
"title": {
|
||
"text": "Distribution de la variable 'sinistré'"
|
||
},
|
||
"xaxis": {
|
||
"anchor": "y",
|
||
"domain": [
|
||
0,
|
||
1
|
||
],
|
||
"title": {
|
||
"text": "sinistré"
|
||
}
|
||
},
|
||
"yaxis": {
|
||
"anchor": "x",
|
||
"domain": [
|
||
0,
|
||
1
|
||
],
|
||
"title": {
|
||
"text": "count"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Observation de la distribution\n",
|
||
"fig = px.histogram(data_retraitee, x=\"sinistré\", title=\"Distribution de la variable 'sinistré'\")\n",
|
||
"fig.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "92d6156a",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Etude des corrélations parmi les variables explicatives"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 27,
|
||
"id": "a0bc6278",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(14236, 16)"
|
||
]
|
||
},
|
||
"execution_count": 27,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"data_set = data_retraitee.drop(\"sinistré\", axis=1)\n",
|
||
"data_set.shape"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 28,
|
||
"id": "73d31ea4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Séparation en variables qualitatives ou catégorielles\n",
|
||
"variables_na = []\n",
|
||
"variables_numeriques = []\n",
|
||
"variables_01 = []\n",
|
||
"variables_categorielles = []\n",
|
||
"for colu in data_set.columns:\n",
|
||
" if True in data_set[colu].isna().unique():\n",
|
||
" variables_na.append(data_set[colu])\n",
|
||
" else:\n",
|
||
" if str(data_set[colu].dtypes) in [\"int32\", \"int64\", \"float64\"]:\n",
|
||
" if len(data_set[colu].unique()) == 2:\n",
|
||
" variables_categorielles.append(data_set[colu])\n",
|
||
" else:\n",
|
||
" variables_numeriques.append(data_set[colu])\n",
|
||
" else:\n",
|
||
" if len(data_set[colu].unique()) == 2:\n",
|
||
" variables_categorielles.append(data_set[colu])\n",
|
||
" else:\n",
|
||
" variables_categorielles.append(data_set[colu])\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "e82fcade",
|
||
"metadata": {},
|
||
"source": [
|
||
"##### Corrélation des variables catégorielles :"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "30df8bd5",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"vars_categorielles = pd.DataFrame(variables_categorielles).transpose()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 30,
|
||
"id": "be7a7d00",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.microsoft.datawrangler.viewer.v0+json": {
|
||
"columns": [
|
||
{
|
||
"name": "index",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"name": "CONTRAT_ANCIENNETE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "FREQUENCE_PAIEMENT_COTISATION",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "GROUPE_KM",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "GENRE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "DEUXIEME_CONDUCTEUR",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ENERGIE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "EQUIPEMENT_SECURITE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "VALEUR_DU_BIEN",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
}
|
||
],
|
||
"ref": "cdaf33f1-78b7-4df1-9a7c-93b778e94756",
|
||
"rows": [
|
||
[
|
||
"CONTRAT_ANCIENNETE",
|
||
"1.0",
|
||
"0.0",
|
||
"0.01",
|
||
"0.02",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.01",
|
||
"0.0"
|
||
],
|
||
[
|
||
"FREQUENCE_PAIEMENT_COTISATION",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.01",
|
||
"0.0",
|
||
"0.0",
|
||
"0.01",
|
||
"0.02"
|
||
],
|
||
[
|
||
"GROUPE_KM",
|
||
"0.01",
|
||
"0.0",
|
||
"1.0",
|
||
"0.01",
|
||
"0.01",
|
||
"0.0",
|
||
"0.04",
|
||
"0.01",
|
||
"0.02"
|
||
],
|
||
[
|
||
"ZONE_RISQUE",
|
||
"0.02",
|
||
"0.0",
|
||
"0.01",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.01",
|
||
"0.03",
|
||
"0.0"
|
||
],
|
||
[
|
||
"GENRE",
|
||
"0.0",
|
||
"0.01",
|
||
"0.01",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.02",
|
||
"0.01",
|
||
"0.07"
|
||
],
|
||
[
|
||
"DEUXIEME_CONDUCTEUR",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0"
|
||
],
|
||
[
|
||
"ENERGIE",
|
||
"0.0",
|
||
"0.0",
|
||
"0.04",
|
||
"0.01",
|
||
"0.02",
|
||
"0.0",
|
||
"1.0",
|
||
"0.02",
|
||
"0.08"
|
||
],
|
||
[
|
||
"EQUIPEMENT_SECURITE",
|
||
"0.01",
|
||
"0.01",
|
||
"0.01",
|
||
"0.03",
|
||
"0.01",
|
||
"0.0",
|
||
"0.02",
|
||
"1.0",
|
||
"0.07"
|
||
],
|
||
[
|
||
"VALEUR_DU_BIEN",
|
||
"0.0",
|
||
"0.02",
|
||
"0.02",
|
||
"0.0",
|
||
"0.07",
|
||
"0.0",
|
||
"0.08",
|
||
"0.07",
|
||
"1.0"
|
||
]
|
||
],
|
||
"shape": {
|
||
"columns": 9,
|
||
"rows": 9
|
||
}
|
||
},
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>CONTRAT_ANCIENNETE</th>\n",
|
||
" <th>FREQUENCE_PAIEMENT_COTISATION</th>\n",
|
||
" <th>GROUPE_KM</th>\n",
|
||
" <th>ZONE_RISQUE</th>\n",
|
||
" <th>GENRE</th>\n",
|
||
" <th>DEUXIEME_CONDUCTEUR</th>\n",
|
||
" <th>ENERGIE</th>\n",
|
||
" <th>EQUIPEMENT_SECURITE</th>\n",
|
||
" <th>VALEUR_DU_BIEN</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>CONTRAT_ANCIENNETE</th>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>FREQUENCE_PAIEMENT_COTISATION</th>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>GROUPE_KM</th>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.04</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>ZONE_RISQUE</th>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.03</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>GENRE</th>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.07</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>DEUXIEME_CONDUCTEUR</th>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>ENERGIE</th>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.04</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>0.08</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>EQUIPEMENT_SECURITE</th>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.03</td>\n",
|
||
" <td>0.01</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" <td>0.07</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>VALEUR_DU_BIEN</th>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>0.02</td>\n",
|
||
" <td>0.00</td>\n",
|
||
" <td>0.07</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.08</td>\n",
|
||
" <td>0.07</td>\n",
|
||
" <td>1.00</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" CONTRAT_ANCIENNETE \\\n",
|
||
"CONTRAT_ANCIENNETE 1.00 \n",
|
||
"FREQUENCE_PAIEMENT_COTISATION 0.00 \n",
|
||
"GROUPE_KM 0.01 \n",
|
||
"ZONE_RISQUE 0.02 \n",
|
||
"GENRE 0.00 \n",
|
||
"DEUXIEME_CONDUCTEUR 0.00 \n",
|
||
"ENERGIE 0.00 \n",
|
||
"EQUIPEMENT_SECURITE 0.01 \n",
|
||
"VALEUR_DU_BIEN 0.00 \n",
|
||
"\n",
|
||
" FREQUENCE_PAIEMENT_COTISATION GROUPE_KM \\\n",
|
||
"CONTRAT_ANCIENNETE 0.00 0.01 \n",
|
||
"FREQUENCE_PAIEMENT_COTISATION 1.00 0.00 \n",
|
||
"GROUPE_KM 0.00 1.00 \n",
|
||
"ZONE_RISQUE 0.00 0.01 \n",
|
||
"GENRE 0.01 0.01 \n",
|
||
"DEUXIEME_CONDUCTEUR 0.00 0.00 \n",
|
||
"ENERGIE 0.00 0.04 \n",
|
||
"EQUIPEMENT_SECURITE 0.01 0.01 \n",
|
||
"VALEUR_DU_BIEN 0.02 0.02 \n",
|
||
"\n",
|
||
" ZONE_RISQUE GENRE DEUXIEME_CONDUCTEUR \\\n",
|
||
"CONTRAT_ANCIENNETE 0.02 0.00 0.0 \n",
|
||
"FREQUENCE_PAIEMENT_COTISATION 0.00 0.01 0.0 \n",
|
||
"GROUPE_KM 0.01 0.01 0.0 \n",
|
||
"ZONE_RISQUE 1.00 0.00 0.0 \n",
|
||
"GENRE 0.00 1.00 0.0 \n",
|
||
"DEUXIEME_CONDUCTEUR 0.00 0.00 1.0 \n",
|
||
"ENERGIE 0.01 0.02 0.0 \n",
|
||
"EQUIPEMENT_SECURITE 0.03 0.01 0.0 \n",
|
||
"VALEUR_DU_BIEN 0.00 0.07 0.0 \n",
|
||
"\n",
|
||
" ENERGIE EQUIPEMENT_SECURITE VALEUR_DU_BIEN \n",
|
||
"CONTRAT_ANCIENNETE 0.00 0.01 0.00 \n",
|
||
"FREQUENCE_PAIEMENT_COTISATION 0.00 0.01 0.02 \n",
|
||
"GROUPE_KM 0.04 0.01 0.02 \n",
|
||
"ZONE_RISQUE 0.01 0.03 0.00 \n",
|
||
"GENRE 0.02 0.01 0.07 \n",
|
||
"DEUXIEME_CONDUCTEUR 0.00 0.00 0.00 \n",
|
||
"ENERGIE 1.00 0.02 0.08 \n",
|
||
"EQUIPEMENT_SECURITE 0.02 1.00 0.07 \n",
|
||
"VALEUR_DU_BIEN 0.08 0.07 1.00 "
|
||
]
|
||
},
|
||
"execution_count": 30,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Test du V de Cramer\n",
|
||
"rows = []\n",
|
||
"\n",
|
||
"for var1 in vars_categorielles:\n",
|
||
" col = []\n",
|
||
" for var2 in vars_categorielles:\n",
|
||
" cramers = cramers_V(\n",
|
||
" vars_categorielles[var1], vars_categorielles[var2]\n",
|
||
" ) # V de Cramer\n",
|
||
" col.append(round(cramers, 2)) # arrondi du résultat\n",
|
||
" rows.append(col)\n",
|
||
"\n",
|
||
"cramers_results = np.array(rows)\n",
|
||
"v_cramer_resultats = pd.DataFrame(\n",
|
||
" cramers_results,\n",
|
||
" columns=vars_categorielles.columns,\n",
|
||
" index=vars_categorielles.columns,\n",
|
||
")\n",
|
||
"\n",
|
||
"v_cramer_resultats\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 31,
|
||
"id": "b3297dca",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# On repère les variables trop corrélées\n",
|
||
"for i in range(v_cramer_resultats.shape[0]):\n",
|
||
" for j in range(i + 1, v_cramer_resultats.shape[0]):\n",
|
||
" if v_cramer_resultats.iloc[i, j] > 0.7:\n",
|
||
" print(\n",
|
||
" v_cramer_resultats.index.to_numpy()[i]\n",
|
||
" + \" et \"\n",
|
||
" + v_cramer_resultats.columns[j]\n",
|
||
" + \" sont trop dépendantes, V-CRAMER = \"\n",
|
||
" + str(v_cramer_resultats.iloc[i, j])\n",
|
||
" )\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "8f615121",
|
||
"metadata": {},
|
||
"source": [
|
||
"##### Corrélation des variables numériques :"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 32,
|
||
"id": "d1fa12fc",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"vars_numeriques = pd.DataFrame(variables_numeriques).transpose()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5777d20f",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Question :** quels sont vos commentaires ?"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 33,
|
||
"id": "c70946b4",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.microsoft.datawrangler.viewer.v0+json": {
|
||
"columns": [
|
||
{
|
||
"name": "index",
|
||
"rawType": "object",
|
||
"type": "string"
|
||
},
|
||
{
|
||
"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": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "CHARGE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "EXPO",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
}
|
||
],
|
||
"ref": "5ae1d96a-bfa4-47eb-bc85-b1de1b32bf1e",
|
||
"rows": [
|
||
[
|
||
"ANNEE_CTR",
|
||
"1.0",
|
||
"0.048023234802924315",
|
||
"0.043983174120495815",
|
||
"0.3615499864845018",
|
||
"-0.05775190894636334",
|
||
"-0.028901069139582642",
|
||
"-0.04770515515535773"
|
||
],
|
||
[
|
||
"AGE_ASSURE_PRINCIPAL",
|
||
"0.048023234802924315",
|
||
"1.0",
|
||
"0.4987430846753776",
|
||
"-0.0591835157827114",
|
||
"-0.012425345899111317",
|
||
"-0.020907992524227155",
|
||
"0.06096340138959582"
|
||
],
|
||
[
|
||
"ANCIENNETE_PERMIS",
|
||
"0.043983174120495815",
|
||
"0.4987430846753776",
|
||
"1.0",
|
||
"-0.0298138263902136",
|
||
"-0.008703999957333864",
|
||
"-0.011347002839350888",
|
||
"0.0324606537737922"
|
||
],
|
||
[
|
||
"ANNEE_CONSTRUCTION",
|
||
"0.3615499864845018",
|
||
"-0.0591835157827114",
|
||
"-0.0298138263902136",
|
||
"1.0",
|
||
"-0.01437673371578632",
|
||
"-0.0012301736578250726",
|
||
"-0.07395284013392618"
|
||
],
|
||
[
|
||
"NB",
|
||
"-0.05775190894636334",
|
||
"-0.012425345899111317",
|
||
"-0.008703999957333864",
|
||
"-0.01437673371578632",
|
||
"1.0",
|
||
"0.5071071150738479",
|
||
"0.0507022890091039"
|
||
],
|
||
[
|
||
"CHARGE",
|
||
"-0.028901069139582642",
|
||
"-0.020907992524227155",
|
||
"-0.011347002839350888",
|
||
"-0.0012301736578250726",
|
||
"0.5071071150738479",
|
||
"1.0",
|
||
"-0.021418687122216843"
|
||
],
|
||
[
|
||
"EXPO",
|
||
"-0.04770515515535773",
|
||
"0.06096340138959582",
|
||
"0.0324606537737922",
|
||
"-0.07395284013392618",
|
||
"0.0507022890091039",
|
||
"-0.021418687122216843",
|
||
"1.0"
|
||
]
|
||
],
|
||
"shape": {
|
||
"columns": 7,
|
||
"rows": 7
|
||
}
|
||
},
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>ANNEE_CTR</th>\n",
|
||
" <th>AGE_ASSURE_PRINCIPAL</th>\n",
|
||
" <th>ANCIENNETE_PERMIS</th>\n",
|
||
" <th>ANNEE_CONSTRUCTION</th>\n",
|
||
" <th>NB</th>\n",
|
||
" <th>CHARGE</th>\n",
|
||
" <th>EXPO</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>ANNEE_CTR</th>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.048023</td>\n",
|
||
" <td>0.043983</td>\n",
|
||
" <td>0.361550</td>\n",
|
||
" <td>-0.057752</td>\n",
|
||
" <td>-0.028901</td>\n",
|
||
" <td>-0.047705</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>AGE_ASSURE_PRINCIPAL</th>\n",
|
||
" <td>0.048023</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.498743</td>\n",
|
||
" <td>-0.059184</td>\n",
|
||
" <td>-0.012425</td>\n",
|
||
" <td>-0.020908</td>\n",
|
||
" <td>0.060963</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>ANCIENNETE_PERMIS</th>\n",
|
||
" <td>0.043983</td>\n",
|
||
" <td>0.498743</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>-0.029814</td>\n",
|
||
" <td>-0.008704</td>\n",
|
||
" <td>-0.011347</td>\n",
|
||
" <td>0.032461</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>ANNEE_CONSTRUCTION</th>\n",
|
||
" <td>0.361550</td>\n",
|
||
" <td>-0.059184</td>\n",
|
||
" <td>-0.029814</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>-0.014377</td>\n",
|
||
" <td>-0.001230</td>\n",
|
||
" <td>-0.073953</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>NB</th>\n",
|
||
" <td>-0.057752</td>\n",
|
||
" <td>-0.012425</td>\n",
|
||
" <td>-0.008704</td>\n",
|
||
" <td>-0.014377</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>0.507107</td>\n",
|
||
" <td>0.050702</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>CHARGE</th>\n",
|
||
" <td>-0.028901</td>\n",
|
||
" <td>-0.020908</td>\n",
|
||
" <td>-0.011347</td>\n",
|
||
" <td>-0.001230</td>\n",
|
||
" <td>0.507107</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" <td>-0.021419</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>EXPO</th>\n",
|
||
" <td>-0.047705</td>\n",
|
||
" <td>0.060963</td>\n",
|
||
" <td>0.032461</td>\n",
|
||
" <td>-0.073953</td>\n",
|
||
" <td>0.050702</td>\n",
|
||
" <td>-0.021419</td>\n",
|
||
" <td>1.000000</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" ANNEE_CTR AGE_ASSURE_PRINCIPAL ANCIENNETE_PERMIS \\\n",
|
||
"ANNEE_CTR 1.000000 0.048023 0.043983 \n",
|
||
"AGE_ASSURE_PRINCIPAL 0.048023 1.000000 0.498743 \n",
|
||
"ANCIENNETE_PERMIS 0.043983 0.498743 1.000000 \n",
|
||
"ANNEE_CONSTRUCTION 0.361550 -0.059184 -0.029814 \n",
|
||
"NB -0.057752 -0.012425 -0.008704 \n",
|
||
"CHARGE -0.028901 -0.020908 -0.011347 \n",
|
||
"EXPO -0.047705 0.060963 0.032461 \n",
|
||
"\n",
|
||
" ANNEE_CONSTRUCTION NB CHARGE EXPO \n",
|
||
"ANNEE_CTR 0.361550 -0.057752 -0.028901 -0.047705 \n",
|
||
"AGE_ASSURE_PRINCIPAL -0.059184 -0.012425 -0.020908 0.060963 \n",
|
||
"ANCIENNETE_PERMIS -0.029814 -0.008704 -0.011347 0.032461 \n",
|
||
"ANNEE_CONSTRUCTION 1.000000 -0.014377 -0.001230 -0.073953 \n",
|
||
"NB -0.014377 1.000000 0.507107 0.050702 \n",
|
||
"CHARGE -0.001230 0.507107 1.000000 -0.021419 \n",
|
||
"EXPO -0.073953 0.050702 -0.021419 1.000000 "
|
||
]
|
||
},
|
||
"execution_count": 33,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Corrélation de Pearson\n",
|
||
"correlations_num = vars_numeriques.corr(method=\"pearson\")\n",
|
||
"correlations_num"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 34,
|
||
"id": "4c29f1f0",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# On repère les variables trop corrélées\n",
|
||
"nb_variables = correlations_num.shape[0]\n",
|
||
"for i in range(nb_variables):\n",
|
||
" for j in range(i + 1, nb_variables):\n",
|
||
" if abs(correlations_num.iloc[i, j]) > 0.7:\n",
|
||
" print(\n",
|
||
" correlations_num.index.to_numpy()[i]\n",
|
||
" + \" et \"\n",
|
||
" + correlations_num.columns[j]\n",
|
||
" + \" sont trop dépendantes, corr = \"\n",
|
||
" + str(correlations_num.iloc[i, j])\n",
|
||
" )"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "212209ec",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Preprocessing"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "65aca700",
|
||
"metadata": {},
|
||
"source": [
|
||
"Deux étapes sont nécessaires avant de lancer l'apprentissage d'un modèle, c'est ce qu'on connait comme le *Preprocessing* :\n",
|
||
"\n",
|
||
"* Les modèles proposés par la librairie \"sklearn\" ne gèrent que des variables numériques. Il est donc nécessaire de transformer les variables catégorielles en variables numériques : ce processus s'appelle le *One Hot Encoding*.\n",
|
||
"* Normaliser les données numériques"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6c23d236",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Exercice :** proposez un bout de code permettant de réaliser le One Hot Encoding des variables catégorielles. Vous pourrez utiliser la fonction \"preproc.OneHotEncoder\" de la librairie sklearn"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 35,
|
||
"id": "b8530717",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.microsoft.datawrangler.viewer.v0+json": {
|
||
"columns": [
|
||
{
|
||
"name": "index",
|
||
"rawType": "int64",
|
||
"type": "integer"
|
||
},
|
||
{
|
||
"name": "CONTRAT_ANCIENNETE_(0,1]",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "CONTRAT_ANCIENNETE_(1,2]",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "CONTRAT_ANCIENNETE_(2,5]",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "CONTRAT_ANCIENNETE_(5,10]",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "FREQUENCE_PAIEMENT_COTISATION_MENSUEL",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "FREQUENCE_PAIEMENT_COTISATION_TRIMESTRIEL",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "GROUPE_KM_[20000;40000[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "GROUPE_KM_[40000;60000[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "GROUPE_KM_[60000;99999[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_B",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_C",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_D",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_E",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_F",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_G",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_H",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_I",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_J",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_K",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_L",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_M",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_R",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_S",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_T",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ZONE_RISQUE_X",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "GENRE_M",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "DEUXIEME_CONDUCTEUR_True",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ENERGIE_DIESEL",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "ENERGIE_ESSENCE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "EQUIPEMENT_SECURITE_VRAI",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "VALEUR_DU_BIEN_[10000;15000[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "VALEUR_DU_BIEN_[15000;20000[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "VALEUR_DU_BIEN_[20000;25000[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "VALEUR_DU_BIEN_[25000;35000[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "VALEUR_DU_BIEN_[35000;99999[",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
}
|
||
],
|
||
"ref": "a0294dee-6844-4af1-9ee3-1bdc53a57dfa",
|
||
"rows": [
|
||
[
|
||
"0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0"
|
||
],
|
||
[
|
||
"1",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"1.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0"
|
||
],
|
||
[
|
||
"2",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0"
|
||
],
|
||
[
|
||
"3",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0"
|
||
],
|
||
[
|
||
"4",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"1.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0",
|
||
"0.0"
|
||
]
|
||
],
|
||
"shape": {
|
||
"columns": 35,
|
||
"rows": 5
|
||
}
|
||
},
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>CONTRAT_ANCIENNETE_(0,1]</th>\n",
|
||
" <th>CONTRAT_ANCIENNETE_(1,2]</th>\n",
|
||
" <th>CONTRAT_ANCIENNETE_(2,5]</th>\n",
|
||
" <th>CONTRAT_ANCIENNETE_(5,10]</th>\n",
|
||
" <th>FREQUENCE_PAIEMENT_COTISATION_MENSUEL</th>\n",
|
||
" <th>FREQUENCE_PAIEMENT_COTISATION_TRIMESTRIEL</th>\n",
|
||
" <th>GROUPE_KM_[20000;40000[</th>\n",
|
||
" <th>GROUPE_KM_[40000;60000[</th>\n",
|
||
" <th>GROUPE_KM_[60000;99999[</th>\n",
|
||
" <th>ZONE_RISQUE_B</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>GENRE_M</th>\n",
|
||
" <th>DEUXIEME_CONDUCTEUR_True</th>\n",
|
||
" <th>ENERGIE_DIESEL</th>\n",
|
||
" <th>ENERGIE_ESSENCE</th>\n",
|
||
" <th>EQUIPEMENT_SECURITE_VRAI</th>\n",
|
||
" <th>VALEUR_DU_BIEN_[10000;15000[</th>\n",
|
||
" <th>VALEUR_DU_BIEN_[15000;20000[</th>\n",
|
||
" <th>VALEUR_DU_BIEN_[20000;25000[</th>\n",
|
||
" <th>VALEUR_DU_BIEN_[25000;35000[</th>\n",
|
||
" <th>VALEUR_DU_BIEN_[35000;99999[</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 35 columns</p>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" CONTRAT_ANCIENNETE_(0,1] CONTRAT_ANCIENNETE_(1,2] \\\n",
|
||
"0 0.0 0.0 \n",
|
||
"1 0.0 0.0 \n",
|
||
"2 0.0 1.0 \n",
|
||
"3 0.0 0.0 \n",
|
||
"4 0.0 0.0 \n",
|
||
"\n",
|
||
" CONTRAT_ANCIENNETE_(2,5] CONTRAT_ANCIENNETE_(5,10] \\\n",
|
||
"0 0.0 0.0 \n",
|
||
"1 0.0 0.0 \n",
|
||
"2 0.0 0.0 \n",
|
||
"3 1.0 0.0 \n",
|
||
"4 1.0 0.0 \n",
|
||
"\n",
|
||
" FREQUENCE_PAIEMENT_COTISATION_MENSUEL \\\n",
|
||
"0 0.0 \n",
|
||
"1 0.0 \n",
|
||
"2 0.0 \n",
|
||
"3 0.0 \n",
|
||
"4 1.0 \n",
|
||
"\n",
|
||
" FREQUENCE_PAIEMENT_COTISATION_TRIMESTRIEL GROUPE_KM_[20000;40000[ \\\n",
|
||
"0 0.0 1.0 \n",
|
||
"1 0.0 1.0 \n",
|
||
"2 0.0 0.0 \n",
|
||
"3 0.0 0.0 \n",
|
||
"4 0.0 1.0 \n",
|
||
"\n",
|
||
" GROUPE_KM_[40000;60000[ GROUPE_KM_[60000;99999[ ZONE_RISQUE_B ... \\\n",
|
||
"0 0.0 0.0 1.0 ... \n",
|
||
"1 0.0 0.0 1.0 ... \n",
|
||
"2 0.0 0.0 0.0 ... \n",
|
||
"3 0.0 0.0 0.0 ... \n",
|
||
"4 0.0 0.0 0.0 ... \n",
|
||
"\n",
|
||
" GENRE_M DEUXIEME_CONDUCTEUR_True ENERGIE_DIESEL ENERGIE_ESSENCE \\\n",
|
||
"0 1.0 0.0 0.0 1.0 \n",
|
||
"1 0.0 1.0 1.0 0.0 \n",
|
||
"2 0.0 1.0 0.0 1.0 \n",
|
||
"3 1.0 0.0 0.0 1.0 \n",
|
||
"4 0.0 0.0 1.0 0.0 \n",
|
||
"\n",
|
||
" EQUIPEMENT_SECURITE_VRAI VALEUR_DU_BIEN_[10000;15000[ \\\n",
|
||
"0 0.0 1.0 \n",
|
||
"1 1.0 0.0 \n",
|
||
"2 0.0 0.0 \n",
|
||
"3 1.0 0.0 \n",
|
||
"4 0.0 1.0 \n",
|
||
"\n",
|
||
" VALEUR_DU_BIEN_[15000;20000[ VALEUR_DU_BIEN_[20000;25000[ \\\n",
|
||
"0 0.0 0.0 \n",
|
||
"1 0.0 1.0 \n",
|
||
"2 1.0 0.0 \n",
|
||
"3 0.0 0.0 \n",
|
||
"4 0.0 0.0 \n",
|
||
"\n",
|
||
" VALEUR_DU_BIEN_[25000;35000[ VALEUR_DU_BIEN_[35000;99999[ \n",
|
||
"0 0.0 0.0 \n",
|
||
"1 0.0 0.0 \n",
|
||
"2 0.0 0.0 \n",
|
||
"3 0.0 1.0 \n",
|
||
"4 0.0 0.0 \n",
|
||
"\n",
|
||
"[5 rows x 35 columns]"
|
||
]
|
||
},
|
||
"execution_count": 35,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# One hot encoding des variables catégorielles\n",
|
||
"preproc_ohe = preproc.OneHotEncoder(handle_unknown=\"ignore\")\n",
|
||
"preproc_ohe = preproc.OneHotEncoder(drop=\"first\", sparse_output=False).fit(\n",
|
||
" vars_categorielles\n",
|
||
")\n",
|
||
"\n",
|
||
"variables_categorielles_ohe = preproc_ohe.transform(vars_categorielles)\n",
|
||
"variables_categorielles_ohe = pd.DataFrame(\n",
|
||
" variables_categorielles_ohe,\n",
|
||
" columns=preproc_ohe.get_feature_names_out(vars_categorielles.columns),\n",
|
||
")\n",
|
||
"variables_categorielles_ohe.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "2be6a3e4",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Exercice :** proposez un bout de code permettant noramliser les variables numériques présentes dans la base. Vous pourrez utiliser la fonction \"preproc.StandardScaler\" de la librairie sklearn"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 36,
|
||
"id": "4ff3847d",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"application/vnd.microsoft.datawrangler.viewer.v0+json": {
|
||
"columns": [
|
||
{
|
||
"name": "index",
|
||
"rawType": "int64",
|
||
"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": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "CHARGE",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
},
|
||
{
|
||
"name": "EXPO",
|
||
"rawType": "float64",
|
||
"type": "float"
|
||
}
|
||
],
|
||
"ref": "72afd0da-ac68-4aee-87ae-5e375d6d237d",
|
||
"rows": [
|
||
[
|
||
"0",
|
||
"0.1393559608666301",
|
||
"0.6582867283271144",
|
||
"0.5635879287137437",
|
||
"0.1740107784615837",
|
||
"-0.24202868219585674",
|
||
"-0.181253980627111",
|
||
"-0.289146035458737"
|
||
],
|
||
[
|
||
"1",
|
||
"0.1393559608666301",
|
||
"3.1516280073827847",
|
||
"0.9874335016275682",
|
||
"0.7442069902648635",
|
||
"-0.24202868219585674",
|
||
"-0.181253980627111",
|
||
"-0.42709265252699025"
|
||
],
|
||
[
|
||
"2",
|
||
"1.3471924655222902",
|
||
"-0.7350510452628191",
|
||
"-1.078813666327326",
|
||
"0.45910888436322356",
|
||
"-0.24202868219585674",
|
||
"-0.181253980627111",
|
||
"0.215020504730438"
|
||
],
|
||
[
|
||
"3",
|
||
"1.3471924655222902",
|
||
"0.0716181920787214",
|
||
"0.40464583887105954",
|
||
"0.7442069902648635",
|
||
"-0.24202868219585674",
|
||
"-0.181253980627111",
|
||
"0.25190705219855114"
|
||
],
|
||
[
|
||
"4",
|
||
"-0.4645622914611999",
|
||
"0.0716181920787214",
|
||
"-0.28410321711390524",
|
||
"-1.8216759628498953",
|
||
"-0.24202868219585674",
|
||
"-0.181253980627111",
|
||
"0.8144269010872852"
|
||
]
|
||
],
|
||
"shape": {
|
||
"columns": 7,
|
||
"rows": 5
|
||
}
|
||
},
|
||
"text/html": [
|
||
"<div>\n",
|
||
"<style scoped>\n",
|
||
" .dataframe tbody tr th:only-of-type {\n",
|
||
" vertical-align: middle;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe tbody tr th {\n",
|
||
" vertical-align: top;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .dataframe thead th {\n",
|
||
" text-align: right;\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"<table border=\"1\" class=\"dataframe\">\n",
|
||
" <thead>\n",
|
||
" <tr style=\"text-align: right;\">\n",
|
||
" <th></th>\n",
|
||
" <th>ANNEE_CTR</th>\n",
|
||
" <th>AGE_ASSURE_PRINCIPAL</th>\n",
|
||
" <th>ANCIENNETE_PERMIS</th>\n",
|
||
" <th>ANNEE_CONSTRUCTION</th>\n",
|
||
" <th>NB</th>\n",
|
||
" <th>CHARGE</th>\n",
|
||
" <th>EXPO</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>0.139356</td>\n",
|
||
" <td>0.658287</td>\n",
|
||
" <td>0.563588</td>\n",
|
||
" <td>0.174011</td>\n",
|
||
" <td>-0.242029</td>\n",
|
||
" <td>-0.181254</td>\n",
|
||
" <td>-0.289146</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0.139356</td>\n",
|
||
" <td>3.151628</td>\n",
|
||
" <td>0.987434</td>\n",
|
||
" <td>0.744207</td>\n",
|
||
" <td>-0.242029</td>\n",
|
||
" <td>-0.181254</td>\n",
|
||
" <td>-0.427093</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>1.347192</td>\n",
|
||
" <td>-0.735051</td>\n",
|
||
" <td>-1.078814</td>\n",
|
||
" <td>0.459109</td>\n",
|
||
" <td>-0.242029</td>\n",
|
||
" <td>-0.181254</td>\n",
|
||
" <td>0.215021</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>1.347192</td>\n",
|
||
" <td>0.071618</td>\n",
|
||
" <td>0.404646</td>\n",
|
||
" <td>0.744207</td>\n",
|
||
" <td>-0.242029</td>\n",
|
||
" <td>-0.181254</td>\n",
|
||
" <td>0.251907</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>-0.464562</td>\n",
|
||
" <td>0.071618</td>\n",
|
||
" <td>-0.284103</td>\n",
|
||
" <td>-1.821676</td>\n",
|
||
" <td>-0.242029</td>\n",
|
||
" <td>-0.181254</td>\n",
|
||
" <td>0.814427</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" ANNEE_CTR AGE_ASSURE_PRINCIPAL ANCIENNETE_PERMIS ANNEE_CONSTRUCTION \\\n",
|
||
"0 0.139356 0.658287 0.563588 0.174011 \n",
|
||
"1 0.139356 3.151628 0.987434 0.744207 \n",
|
||
"2 1.347192 -0.735051 -1.078814 0.459109 \n",
|
||
"3 1.347192 0.071618 0.404646 0.744207 \n",
|
||
"4 -0.464562 0.071618 -0.284103 -1.821676 \n",
|
||
"\n",
|
||
" NB CHARGE EXPO \n",
|
||
"0 -0.242029 -0.181254 -0.289146 \n",
|
||
"1 -0.242029 -0.181254 -0.427093 \n",
|
||
"2 -0.242029 -0.181254 0.215021 \n",
|
||
"3 -0.242029 -0.181254 0.251907 \n",
|
||
"4 -0.242029 -0.181254 0.814427 "
|
||
]
|
||
},
|
||
"execution_count": 36,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"# Normalisation des varibales numériques\n",
|
||
"preproc_scale = preproc.StandardScaler(with_mean=True, with_std=True)\n",
|
||
"preproc_scale.fit(vars_numeriques)\n",
|
||
"\n",
|
||
"vars_numeriques_scaled = preproc_scale.transform(vars_numeriques)\n",
|
||
"vars_numeriques_scaled = pd.DataFrame(\n",
|
||
" vars_numeriques_scaled, columns=vars_numeriques.columns\n",
|
||
")\n",
|
||
"vars_numeriques_scaled.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7ecba832",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Algorithme supervisé : Gradient Boosting"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "efcb8987",
|
||
"metadata": {},
|
||
"source": [
|
||
"A ce stade, nous avons vu les différentes étapes pour lancer un algorithme de Machine Learning. Néanmoins, ces étapes ne sont pas suffisantes pour construire un modèle performant. \n",
|
||
"En effet, afin de construire un modèle performant le Data Scientist doit agir sur l'apprentissage du modèle. Dans ce qui suit nous :\n",
|
||
"* Changerons d'algorithme pour utiliser un algorithme plus performant (Gradient Boosting)\n",
|
||
"* Raliserons un *grid search* sur les paramètres du modèle\n",
|
||
"* Appliquerons l'apprentissage par validation croisée\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3feaff44",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Exercice :** Implémentez l'algorithme du Gradient Boosting en appliquant les techniques vues lors des derniers cours (sampling, Grid search et Cross Validation) \n",
|
||
"**Remarques :**\n",
|
||
"* Vous pouvez utiliser les modèles \"GradientBoostingClassifier\" et \"GridSearchCV\" de la libraire Sklearn. \n",
|
||
"* Pensez à utiliser les métriques relatives aux problèmes de classification."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5a6adbfe",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Sampling"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 38,
|
||
"id": "d9342ad6",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"X_global = vars_numeriques_scaled.merge(\n",
|
||
" variables_categorielles_ohe, left_index=True, right_index=True\n",
|
||
")\n",
|
||
"\n",
|
||
"# Réorganisation des données\n",
|
||
"X = X_global.to_numpy()\n",
|
||
"Y = data_retraitee[\"sinistré\"]\n",
|
||
"\n",
|
||
"# Sampling en 80% train et 20% test\n",
|
||
"X_train, X_test, y_train, y_test = train_test_split(\n",
|
||
" X, Y, test_size=0.2, random_state=42\n",
|
||
")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "76ece01f",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Fitting avec Cross-Validation et *Grid Search*"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "cb60fe19",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Définir la grille d'hyperparamètres à rechercher\n",
|
||
"param_grid = {\n",
|
||
" \"n_estimators\": [60, 65, 70, 75],\n",
|
||
" \"max_depth\": [None, 1, 2, 3],\n",
|
||
" \"min_samples_split\": [5, 8, 10, 11, 13, 14, 15],\n",
|
||
"}\n",
|
||
"# Nombre de folds pour la validation croisée\n",
|
||
"num_folds = 5"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 47,
|
||
"id": "b976720e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"ename": "InvalidParameterError",
|
||
"evalue": "The 'scoring' parameter of GridSearchCV must be a str among {'average_precision', 'adjusted_rand_score', 'roc_auc', 'top_k_accuracy', 'recall', 'neg_negative_likelihood_ratio', 'neg_mean_squared_error', 'positive_likelihood_ratio', 'precision', 'neg_mean_squared_log_error', 'precision_micro', 'neg_mean_poisson_deviance', 'completeness_score', 'accuracy', 'adjusted_mutual_info_score', 'precision_macro', 'neg_max_error', 'mutual_info_score', 'jaccard_samples', 'recall_samples', 'neg_mean_absolute_percentage_error', 'fowlkes_mallows_score', 'neg_brier_score', 'f1_samples', 'jaccard_weighted', 'recall_micro', 'd2_absolute_error_score', 'homogeneity_score', 'matthews_corrcoef', 'f1_micro', 'f1_macro', 'neg_root_mean_squared_error', 'precision_samples', 'neg_root_mean_squared_log_error', 'neg_mean_gamma_deviance', 'jaccard', 'neg_median_absolute_error', 'neg_mean_absolute_error', 'roc_auc_ovr', 'jaccard_micro', 'jaccard_macro', 'roc_auc_ovo', 'neg_log_loss', 'normalized_mutual_info_score', 'balanced_accuracy', 'f1_weighted', 'r2', 'recall_macro', 'rand_score', 'v_measure_score', 'explained_variance', 'roc_auc_ovo_weighted', 'precision_weighted', 'roc_auc_ovr_weighted', 'f1', 'recall_weighted'}, a callable, an instance of 'list', an instance of 'tuple', an instance of 'dict' or None. Got '' instead.",
|
||
"output_type": "error",
|
||
"traceback": [
|
||
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
||
"\u001b[31mInvalidParameterError\u001b[39m Traceback (most recent call last)",
|
||
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[47]\u001b[39m\u001b[32m, line 16\u001b[39m\n\u001b[32m 5\u001b[39m grid_search = GridSearchCV(\n\u001b[32m 6\u001b[39m estimator = rf,\n\u001b[32m 7\u001b[39m param_grid = param_grid,\n\u001b[32m (...)\u001b[39m\u001b[32m 12\u001b[39m n_jobs = -\u001b[32m1\u001b[39m, \u001b[38;5;66;03m# Utiliser tous les cœurs du processeur\u001b[39;00m\n\u001b[32m 13\u001b[39m )\n\u001b[32m 15\u001b[39m \u001b[38;5;66;03m# Exécution de la recherche sur grille\u001b[39;00m\n\u001b[32m---> \u001b[39m\u001b[32m16\u001b[39m \u001b[43mgrid_search\u001b[49m\u001b[43m.\u001b[49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_train\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 18\u001b[39m \u001b[38;5;66;03m# Afficher les meilleurs hyperparamètres\u001b[39;00m\n\u001b[32m 19\u001b[39m best_params = grid_search.best_params_\n",
|
||
"\u001b[36mFile \u001b[39m\u001b[32m~/Workspace/studies/.venv/lib/python3.13/site-packages/sklearn/base.py:1382\u001b[39m, in \u001b[36m_fit_context.<locals>.decorator.<locals>.wrapper\u001b[39m\u001b[34m(estimator, *args, **kwargs)\u001b[39m\n\u001b[32m 1377\u001b[39m partial_fit_and_fitted = (\n\u001b[32m 1378\u001b[39m fit_method.\u001b[34m__name__\u001b[39m == \u001b[33m\"\u001b[39m\u001b[33mpartial_fit\u001b[39m\u001b[33m\"\u001b[39m \u001b[38;5;129;01mand\u001b[39;00m _is_fitted(estimator)\n\u001b[32m 1379\u001b[39m )\n\u001b[32m 1381\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m global_skip_validation \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m partial_fit_and_fitted:\n\u001b[32m-> \u001b[39m\u001b[32m1382\u001b[39m \u001b[43mestimator\u001b[49m\u001b[43m.\u001b[49m\u001b[43m_validate_params\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1384\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\n\u001b[32m 1385\u001b[39m skip_parameter_validation=(\n\u001b[32m 1386\u001b[39m prefer_skip_nested_validation \u001b[38;5;129;01mor\u001b[39;00m global_skip_validation\n\u001b[32m 1387\u001b[39m )\n\u001b[32m 1388\u001b[39m ):\n\u001b[32m 1389\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m fit_method(estimator, *args, **kwargs)\n",
|
||
"\u001b[36mFile \u001b[39m\u001b[32m~/Workspace/studies/.venv/lib/python3.13/site-packages/sklearn/base.py:436\u001b[39m, in \u001b[36mBaseEstimator._validate_params\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 428\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_validate_params\u001b[39m(\u001b[38;5;28mself\u001b[39m):\n\u001b[32m 429\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Validate types and values of constructor parameters\u001b[39;00m\n\u001b[32m 430\u001b[39m \n\u001b[32m 431\u001b[39m \u001b[33;03m The expected type and values must be defined in the `_parameter_constraints`\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 434\u001b[39m \u001b[33;03m accepted constraints.\u001b[39;00m\n\u001b[32m 435\u001b[39m \u001b[33;03m \"\"\"\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m436\u001b[39m \u001b[43mvalidate_parameter_constraints\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 437\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_parameter_constraints\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 438\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mget_params\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdeep\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 439\u001b[39m \u001b[43m \u001b[49m\u001b[43mcaller_name\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[34;43m__class__\u001b[39;49m\u001b[43m.\u001b[49m\u001b[34;43m__name__\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 440\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n",
|
||
"\u001b[36mFile \u001b[39m\u001b[32m~/Workspace/studies/.venv/lib/python3.13/site-packages/sklearn/utils/_param_validation.py:98\u001b[39m, in \u001b[36mvalidate_parameter_constraints\u001b[39m\u001b[34m(parameter_constraints, params, caller_name)\u001b[39m\n\u001b[32m 92\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 93\u001b[39m constraints_str = (\n\u001b[32m 94\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[33m'\u001b[39m\u001b[33m, \u001b[39m\u001b[33m'\u001b[39m.join([\u001b[38;5;28mstr\u001b[39m(c)\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mfor\u001b[39;00m\u001b[38;5;250m \u001b[39mc\u001b[38;5;250m \u001b[39m\u001b[38;5;129;01min\u001b[39;00m\u001b[38;5;250m \u001b[39mconstraints[:-\u001b[32m1\u001b[39m]])\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m or\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 95\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconstraints[-\u001b[32m1\u001b[39m]\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 96\u001b[39m )\n\u001b[32m---> \u001b[39m\u001b[32m98\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m InvalidParameterError(\n\u001b[32m 99\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mThe \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mparam_name\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[33m parameter of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcaller_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m must be\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 100\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconstraints_str\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m. Got \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mparam_val\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[33m instead.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 101\u001b[39m )\n",
|
||
"\u001b[31mInvalidParameterError\u001b[39m: The 'scoring' parameter of GridSearchCV must be a str among {'average_precision', 'adjusted_rand_score', 'roc_auc', 'top_k_accuracy', 'recall', 'neg_negative_likelihood_ratio', 'neg_mean_squared_error', 'positive_likelihood_ratio', 'precision', 'neg_mean_squared_log_error', 'precision_micro', 'neg_mean_poisson_deviance', 'completeness_score', 'accuracy', 'adjusted_mutual_info_score', 'precision_macro', 'neg_max_error', 'mutual_info_score', 'jaccard_samples', 'recall_samples', 'neg_mean_absolute_percentage_error', 'fowlkes_mallows_score', 'neg_brier_score', 'f1_samples', 'jaccard_weighted', 'recall_micro', 'd2_absolute_error_score', 'homogeneity_score', 'matthews_corrcoef', 'f1_micro', 'f1_macro', 'neg_root_mean_squared_error', 'precision_samples', 'neg_root_mean_squared_log_error', 'neg_mean_gamma_deviance', 'jaccard', 'neg_median_absolute_error', 'neg_mean_absolute_error', 'roc_auc_ovr', 'jaccard_micro', 'jaccard_macro', 'roc_auc_ovo', 'neg_log_loss', 'normalized_mutual_info_score', 'balanced_accuracy', 'f1_weighted', 'r2', 'recall_macro', 'rand_score', 'v_measure_score', 'explained_variance', 'roc_auc_ovo_weighted', 'precision_weighted', 'roc_auc_ovr_weighted', 'f1', 'recall_weighted'}, a callable, an instance of 'list', an instance of 'tuple', an instance of 'dict' or None. Got '' instead."
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Initialisation du modèle GradientBoostingClassifier\n",
|
||
"rf = GradientBoostingClassifier(random_state=42)\n",
|
||
"\n",
|
||
"# Création de l'objet GridSearchCV pour la recherche sur grille avec validation croisée\n",
|
||
"grid_search = GridSearchCV(\n",
|
||
" estimator = rf,\n",
|
||
" param_grid = param_grid,\n",
|
||
" cv = StratifiedKFold(\n",
|
||
" n_splits = num_folds, shuffle = True, random_state = 42\n",
|
||
" ), # Validation croisée avec 5 folds\n",
|
||
" scoring = \"\", # Métrique d'évaluation (moins c'est mieux)\n",
|
||
" n_jobs = -1, # Utiliser tous les cœurs du processeur\n",
|
||
")\n",
|
||
"\n",
|
||
"# Exécution de la recherche sur grille\n",
|
||
"grid_search.fit(X_train, y_train)\n",
|
||
"\n",
|
||
"# Afficher les meilleurs hyperparamètres\n",
|
||
"best_params = grid_search.best_params_\n",
|
||
"print(\"Meilleurs hyperparamètres : \", best_params)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 45,
|
||
"id": "0a35a4bf",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# Initialiser le modèle final avec les meilleurs hyperparamètres\n",
|
||
"best_rf = GradientBoostingClassifier(random_state=42, **best_params)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 46,
|
||
"id": "a7f59ea7",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"RMSE pour le fold 1: -0.0\n",
|
||
"RMSE pour le fold 2: -0.0\n",
|
||
"RMSE pour le fold 3: -0.0\n",
|
||
"RMSE pour le fold 4: -0.0\n",
|
||
"RMSE pour le fold 5: -0.0\n",
|
||
"\n",
|
||
"\n",
|
||
"MSE pour le fold 1: -0.0\n",
|
||
"MSE pour le fold 2: -0.0\n",
|
||
"MSE pour le fold 3: -0.0\n",
|
||
"MSE pour le fold 4: -0.0\n",
|
||
"MSE pour le fold 5: -0.0\n",
|
||
"\n",
|
||
"\n",
|
||
"MAE pour le fold 1: -0.0\n",
|
||
"MAE pour le fold 2: -0.0\n",
|
||
"MAE pour le fold 3: -0.0\n",
|
||
"MAE pour le fold 4: -0.0\n",
|
||
"MAE pour le fold 5: -0.0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Cross validation\n",
|
||
"# RMSE de chaque fold\n",
|
||
"rmse_scores = cross_val_score(\n",
|
||
" best_rf, X_train, y_train, cv=num_folds, scoring=\"neg_root_mean_squared_error\"\n",
|
||
")\n",
|
||
"\n",
|
||
"# Afficher les scores pour chaque fold\n",
|
||
"for i, score in enumerate(rmse_scores):\n",
|
||
" print(f\"RMSE pour le fold {i + 1}: {score}\")\n",
|
||
"\n",
|
||
"# MSE de chaque fold\n",
|
||
"mse_scores = cross_val_score(\n",
|
||
" best_rf, X_train, y_train, cv=num_folds, scoring=\"neg_mean_squared_error\"\n",
|
||
")\n",
|
||
"\n",
|
||
"# Afficher les scores pour chaque fold\n",
|
||
"print(\"\\n\")\n",
|
||
"for i, score in enumerate(mse_scores):\n",
|
||
" print(f\"MSE pour le fold {i + 1}: {score}\")\n",
|
||
"\n",
|
||
"# MAE de chaque fold\n",
|
||
"mae_scores = cross_val_score(\n",
|
||
" best_rf, X_train, y_train, cv=num_folds, scoring=\"neg_mean_absolute_error\"\n",
|
||
")\n",
|
||
"\n",
|
||
"# Afficher les scores pour chaque fold\n",
|
||
"print(\"\\n\")\n",
|
||
"for i, score in enumerate(mae_scores):\n",
|
||
" print(f\"MAE pour le fold {i + 1}: {score}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3a723cbc",
|
||
"metadata": {},
|
||
"source": [
|
||
"#### Validation du modèle - métriques"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "60c0312d",
|
||
"metadata": {},
|
||
"source": [
|
||
"**Exercice :** \n",
|
||
"* Construisez la matrice de confusion (metrics.confusion_matrix).\n",
|
||
"* Calculez les métriques : accuracy, recall & precision."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "5d9ef448",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "studies",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.13.3"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|