{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["# 2A.ml - Arbres de d\u00e9cision / Random Forest - correction\n", "\n", "M\u00e9thodes ensemblistes, features importance, correction."]}, {"cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": ["%matplotlib inline"]}, {"cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": ["import matplotlib.pyplot as plt"]}, {"cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [{"data": {"text/html": ["
run previous cell, wait for 2 seconds
\n", ""], "text/plain": [""]}, "execution_count": 4, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import add_notebook_menu\n", "add_notebook_menu()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Donn\u00e9es\n", "\n", "Le code suivant t\u00e9l\u00e9charge les donn\u00e9es n\u00e9cessaires [salaries2010.zip](http://www.xavierdupre.fr/enseignement/complements/salaries2010.zip). On reprend le code qui permet d'obtenir les donn\u00e9es (il faut l'ex\u00e9cuter avant chaque partie)."]}, {"cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TRNETTOTAGESEXEDEPTDEPRTYP_EMPLOIPCSCSCONT_TRAVCONV_COLLVARIABLEMODALITEMODLIBELLEmontant
01450.01972O628G62ZZZTRNETTOT1418 000 \u00e0 19 999 euros18999.5
11441.017575O354C35CDD1734TRNETTOT1418 000 \u00e0 19 999 euros18999.5
21429.017575O373C37CDD0014TRNETTOT1418 000 \u00e0 19 999 euros18999.5
31430.017575O651A65CDD9999TRNETTOT1418 000 \u00e0 19 999 euros18999.5
41455.017892O623E62ZZZTRNETTOT1418 000 \u00e0 19 999 euros18999.5
\n", "
"], "text/plain": [" TRNETTOT AGE SEXE DEPT DEPR TYP_EMPLOI PCS CS CONT_TRAV CONV_COLL \\\n", "0 14 50.0 1 972 O 628G 62 ZZZ \n", "1 14 41.0 1 75 75 O 354C 35 CDD 1734 \n", "2 14 29.0 1 75 75 O 373C 37 CDD 0014 \n", "3 14 30.0 1 75 75 O 651A 65 CDD 9999 \n", "4 14 55.0 1 78 92 O 623E 62 ZZZ \n", "\n", " VARIABLE MODALITE MODLIBELLE montant \n", "0 TRNETTOT 14 18 000 \u00e0 19 999 euros 18999.5 \n", "1 TRNETTOT 14 18 000 \u00e0 19 999 euros 18999.5 \n", "2 TRNETTOT 14 18 000 \u00e0 19 999 euros 18999.5 \n", "3 TRNETTOT 14 18 000 \u00e0 19 999 euros 18999.5 \n", "4 TRNETTOT 14 18 000 \u00e0 19 999 euros 18999.5 "]}, "execution_count": 5, "metadata": {}, "output_type": "execute_result"}], "source": ["import os\n", "if not os.path.exists(\"salaries2010.db3\"):\n", " import pyensae.datasource\n", " db3 = pyensae.datasource.download_data(\"salaries2010.zip\")\n", "\n", "import sqlite3, pandas\n", "con = sqlite3.connect(\"salaries2010.db3\")\n", "df = pandas.io.sql.read_sql(\"select * from varmod\", con)\n", "con.close()\n", "\n", "values = df[ df.VARIABLE == \"TRNETTOT\"].copy()\n", "\n", "def process_intervalle(s):\n", " if \"euros et plus\" in s : \n", " return float ( s.replace(\"euros et plus\", \"\").replace(\" \",\"\") )\n", " spl = s.split(\"\u00e0\")\n", " if len(spl) == 2 : \n", " s1 = spl[0].replace(\"Moins de\",\"\").replace(\"euros\",\"\").replace(\" \",\"\")\n", " s2 = spl[1].replace(\"Moins de\",\"\").replace(\"euros\",\"\").replace(\" \",\"\")\n", " return (float(s1)+float(s2))/2\n", " else : \n", " s = spl[0].replace(\"Moins de\",\"\").replace(\"euros\",\"\").replace(\" \",\"\")\n", " return float(s)/2\n", "\n", "values[\"montant\"] = values.apply(lambda r : process_intervalle(r [\"MODLIBELLE\"]), axis = 1)\n", "\n", "con = sqlite3.connect(\"salaries2010.db3\")\n", "data = pandas.io.sql.read_sql(\"select TRNETTOT,AGE,SEXE,DEPT,DEPR,TYP_EMPLOI,PCS,CS,CONT_TRAV,CONV_COLL from salaries\", con)\n", "con.close()\n", "\n", "salaires = data.merge ( values, left_on = \"TRNETTOT\", right_on=\"MODALITE\" )\n", "salaires.dropna(inplace=True)\n", "salaires.head()"]}, {"cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [{"data": {"text/plain": ["(2191579, 14)"]}, "execution_count": 6, "metadata": {}, "output_type": "execute_result"}], "source": ["salaires.shape"]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Exercice 1 : Bases d'apprentissage, test, courbes"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On ne consid\u00e8re qu'une partie de la base pour \u00e9viter de passer toute la s\u00e9ance \u00e0 attendre les r\u00e9sultats :"]}, {"cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [{"data": {"text/plain": ["(43011, 5)"]}, "execution_count": 7, "metadata": {}, "output_type": "execute_result"}], "source": ["import random\n", "salaires[\"rnd\"] = salaires.apply (lambda r : random.randint(0,50),axis=1)\n", "ech = salaires [ salaires.rnd == 0 ]\n", "X,Y = ech[[\"AGE\",\"SEXE\",\"TYP_EMPLOI\",\"CONT_TRAV\", \"CS\"]], ech[[\"montant\"]]\n", "Xd = X.T.to_dict().values()\n", "X.shape"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On transforme les variables sous forme de cha\u00eenes de caract\u00e8res en variables binaires :"]}, {"cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": ["from sklearn.feature_extraction import DictVectorizer\n", "prep = DictVectorizer()\n", "Xt = prep.fit_transform(Xd).toarray()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On d\u00e9coupe la base en base d'apprentissage et test :"]}, {"cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": ["from sklearn.model_selection import train_test_split\n", "a_train, a_test, b_train, b_test = train_test_split(Xt, Y, test_size=0.33)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["#### Exp\u00e9rience 1\n", "\n", "On fait varier un param\u00e8tre et on observe l'erreur sur la base d'apprentissage et de test."]}, {"cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["max_depth 1 erreur 10740.916668324217 10846.54435688257\n", "max_depth 2 erreur 10060.820466095634 10157.555221393412\n", "max_depth 3 erreur 9472.779130826442 9507.772616147568\n", "max_depth 4 erreur 9120.442014667919 9202.244729398157\n", "max_depth 5 erreur 8811.580728562523 8911.264282454193\n", "max_depth 6 erreur 8594.15887402314 8736.88981562483\n", "max_depth 7 erreur 8368.204499944435 8550.051902144827\n", "max_depth 8 erreur 8210.109582518286 8426.738612833457\n", "max_depth 9 erreur 8089.658523934697 8350.6372466417\n"]}, {"data": {"text/plain": [""]}, "execution_count": 10, "metadata": {}, "output_type": "execute_result"}, {"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["from sklearn.tree import DecisionTreeRegressor\n", "import matplotlib.pyplot as plt\n", "from sklearn.metrics import mean_squared_error\n", "\n", "curves = []\n", "for max_depth in range(1,10) :\n", " clf = DecisionTreeRegressor(min_samples_leaf=10, max_depth=max_depth)\n", " clf = clf.fit(a_train, b_train)\n", " erra = mean_squared_error( clf.predict(a_train), b_train)**0.5\n", " errb = mean_squared_error( clf.predict(a_test), b_test)**0.5\n", " print(\"max_depth\",max_depth, \"erreur\",erra,errb)\n", " curves.append((max_depth, erra,errb, clf) )\n", "\n", "plt.plot ( [c[0] for c in curves], [c[1] for c in curves], label=\"train\")\n", "plt.plot ( [c[0] for c in curves], [c[2] for c in curves], label=\"test\")\n", "plt.legend()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["L'erreur sur la base de test baisse l\u00e9g\u00e8rement jusqu'\u00e0 ce que l'arbre ait une profondeur de 3 ou 4. C'est la taille de l'arbre qu'il faudrait choisir et qu'on dessine en rempla\u00e7ant les noms des variables ``X[i]`` par des noms plus intelligibles."]}, {"cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": ["import sys\n", "cwd = os.getcwd()\n", "if sys.platform.startswith(\"win\"):\n", " exe = 'C:\\\\Program Files (x86)\\\\Graphviz2.38\\\\bin\\\\dot.exe'\n", " if not os.path.exists(exe):\n", " raise FileNotFoundError(exe)\n", " exe = '\"{0}\"'.format(exe)\n", "else:\n", " exe = \"dot\""]}, {"cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": ["clf = curves[2][-1]\n", "from sklearn.tree import export_graphviz\n", "export_graphviz(clf, out_file=\"arbrec.dot\") \n", "# on remplace X[i] par les noms des variables\n", "with open(\"arbrec.dot\",\"r\") as f: \n", " text = f.read()\n", "for i in range(len(prep.feature_names_)):\n", " text=text.replace(\"X[{0}]\".format(i), prep.feature_names_[i])\n", "with open(\"arbrec.dot\",\"w\") as f: \n", " f.write(text)"]}, {"cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [{"data": {"image/png": "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iYiIaJRgZwwREdEoJIoijh49iuXLlyMlJQXPPPMMvvnNb6K1tRWnT5/G5s2bkZqaqnWYRERERDFBr9fjxz/+Mbq6unD8+HEsXLgQO3fuxJ133omsrCy89tprcLvdWodJREREIxg7Y4iIiEaR3t5ebN++HVOnTkVWVha6u7tRXl6Ovr4+7N69G5mZmdDpdFqHSURERBSz0tPT8corr+DChQs4cOAAkpOT8fTTTyMlJQW5ubk4dOgQrl27pnWYRERENMLcpHUARERENDQDAwM4ePAgqqur8f777yMhIQEFBQVYvXo1Zs2apXV4RERERCPSuHHjIAgCBEGA2+3Gr371K+zZswcPPfQQvva1ryE/Px/Lly/HPffco3WoRERENALwyRgiIqIRqru7G8XFxZg8eTIee+wxDAwMwGq1ore3F+Xl5eyIISIiIoqQhIQErF27FkePHsXp06exbt06NDY2Ij09HWlpafjpT3+K3t5ercMkIiKiGMbOGCIiohHk0qVLeO211zBv3jzMnDkT+/btww9+8AOcO3cOv/71r5GTk4Px48drHSYRERHRqDVlyhSYzWb8+c9/xrFjx/Cd73wHP/vZz3DHHXdg4cKFqKurw6VLl7QOk4iIiGIMO2OIiIhGgLa2NqxatQopKSl4+umnodfrcfjwYZw7dw5btmyBXq/XOkQiIiKiuJORkYGKigr09vZi3759uPnmm7F69WqkpKTgySefxJEjR3D9+nWtwyQiIqIYwM4YIiKiGOV0OmGxWDBz5kzMmzcPx48fx44dO9Db2wubzYYFCxZgzBheyomIiIi0Nn78eDz66KN4++238de//hU7duzA6dOnsXDhQtxxxx3YvHkzTp48qXWYREREpCG24BAREcWQa9eu4dChQ3j44YcxefJklJaW4v7778fx48dx4sQJrFu3DrfccovWYRIRERFRALfccgvWrVuHtrY2dHV1YfXq1bBarUhLS0N6ejp+/vOfw+l0ah0mERERDTN2xhAREcWAM2fO4LnnnoNer8dDDz0El8uF119/HX19ffjlL3+J9PR0rUMkIiIiIpVmzJiBF198EefPn0drayvmzJmDbdu2ITU1FYsXL4bNZsPly5e1DpOIiIiGATtjiIiINHL58mXs2bMHWVlZmDp1Kmpra7Fy5UqcPn0av/nNb5Cfn48JEyZoHSYRERERDZFO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9YPe9yObsL+3HutGY+npf5LVbWqsqC2T1b96aku9dbTRePKO8gH7c2NF95/KpFN9fb1qW616TrZNsrpU9viSqD+XqXmN2g4zsT8nMpdDiDTvAUGUhxwOByorK/lVUcpaxcXFAIDKykqLI6Fsx/6QyN7Y31uP/STlg6qqKhQXF6d9i0kiO2N/TvmA/TmRufibMURERERERERERERERCbiZAwREREREREREREREZGJOBlDRERERERERERERERkIk7GEBERERERERERERERmYiTMURERERERERERERERCbiZAwREREREREREREREZGJOBlDRERERERERERERERkIk7GEBERERERERERERERmajA6gCIstXKlSvRrVu3tJbR1taW9jKIUrFy5UpMnjzZ6jAoRxjRH2arjo4OdO3a1eowiBJif28P+dxPkjnsdvxZuXKl1SEQZQT7c7IjIQQ6OjpQUJD+aV7250TmcgghhNVBEGWbHj164MCBA1aHQZSW3/zmN5g7d67VYVCWY39IZH/s763FfpLyRffu3bF//36rwyAyDftzyhfsz4nMw9uUEaVg//79EEKk9Hj99ddxxhlnoGfPnvB6vWhra0t5Wbn6qKysBADL48j1B0/MkRHS6Q+z9bFv3z5MmjQJ3bt3x6JFiyyPx46PzZs3AwDefPNNy2Phg/291fKxn0z1sXDhQhx++OHYs2eP5bHY/fHSSy/h6KOPxtChQ9Hc3Gx5PEIInrijnMf+PPOPoqIiFBUVWR6H3R/Nzc2YNGkSAOCnP/0pPv7447SWx/6cyDycjCHKkC+//BI33ngjCgsLcfrpp+O9997DL3/5S0O+RkpERJnxySefYPTo0Vi3bh3WrFmDGTNmWB2SLY0YMQLnnnsuFi5caHUoRJRFFi1ahKuvvhrHHHOM1aHY3sSJE7F161Z8++23OP/88/Hqq69aHRIREVnklFNOwcqVK7FmzRrs2LEDZ555JsrKyvDNN99YHRoRxeFkDJHJhBBYunQpBgwYgFdffRXLly9HbW0tfvCDH1gdGhER6bB161YMGzYM3377LRoaGjBq1CirQ7K12bNnY/ny5WhtbbU6FCLKAu+++y62bNmCmTNnWh1K1jj99NPR0NCAyy+/HBMmTMC8efMgBO9CTkSUr8aOHYvGxkY88MAD+P3vf49zzz0Xq1evtjosIorCyRgiE+3cuRNjx47FjTfeiClTpuD999/nj+gSEWWhFStWYNSoUTj33HOxadMmnHbaaVaHZHvFxcUAgOeee87iSIgoG1RUVKB///6c6NapZ8+eqKqqwmOPPYYHH3wQEydORDgctjosIiKySPfu3fGrX/0K27dvx5AhQ3DllVfC5XJh165dVodGROBkDJEpDhw4gIceegiDBg3CF198gc2bN2P+/Pno1auX1aEREZEOQgg8+OCDmDp1KmbNmoW//vWv7Msl9erVC1OmTOGtyohI0zfffIPKykrcdNNNcDgcVoeTlX7+859j7dq12LZtGy644AK8++67VodEREQW6tevH6qrq1FXV4ePPvoIZ599Nh544AHeuozIYpyMITLYhg0bMGjQIPzud7/DQw89hG3btmHYsGFWh0VERDp98803KCoqwrx587BgwQI8/vjj6Nq1q9VhZZXZs2fjH//4BzZv3mx1KERkYy+++CL27duHG264wepQstrIkSOxbds2nHjiiRgxYgS/mUhERCgsLEQgEMBDDz2E8vJynH322aipqbE6LKK8xckYIoPs2bMHM2bMwJgxY/DDH/4Q7733Hu666y4UFBRYHRoREen02WefYcyYMXj11VfxyiuvYPbs2VaHlJUuuOACnHfeeaioqLA6FCKysYqKCvzkJz9Bnz59rA4l6/Xt2xd1dXWYPXs2rrvuOtx+++1oa2uzOiwiIrJQt27dMGfOHOzcuRPDhg3DxIkTceWVV+LDDz+0zYXfwAAAIABJREFUOjSivMPJGCIDLFu2DAMGDMDLL7+M5cuXY/Xq1Tj11FOtDouIiFLwzjvvYNiwYdi7dy8aGhpQWFhodUhZbdasWVi+fDl/w4CIVH344YfYsGEDbr75ZqtDyRkFBQV47LHHUF1djWeeeQZjxozBp59+anVYRERksRNPPBFVVVV4/fXXsXv3bpxzzjm47777eOsyogziZAxRGj744AOMHTsWN9xwAyZNmoT3338fkydPtjosIiJK0YsvvoiLL74YAwcOxObNm3H66adbHVLWKy4uRteuXbF06VKrQyEiG1q8eDFOPvlkjBs3zupQcs6UKVPw5ptvYs+ePRgyZAjWrVtndUhERGQDY8aMQSAQwLx58/DHP/4RAwcOxEsvvWR1WER5gZMxRCk4cOAAysrKMGjQIHz++efYuHEj/vznP6N3795Wh0ZERCkQQuDhhx/GpEmTcP311+Nvf/sbjjnmGKvDyglHHXUUpk2bBp/PZ3UoRGQz7e3teOaZZ3DjjTfyN7lMcuaZZ+LNN9/ERRddhMsuuwzl5eUQQlgdFhERWaygoAC/+MUvsGPHDowcORJXX301xo8fz1uXEZmMkzFEOr3xxhs477zz8Mgjj+D+++/Htm3bMGLECKvDIiKiFH377beYPn067r//fjzxxBN48skn+XtfBps1axbee+89bNy40epQiMhG/vrXvyIUCuGmm26yOpScdvTRR+P555/Hww8/jLvvvhvXXnst9u3bZ3VYRERkAyeeeCKee+45rFu3Dp999hnOOusseDwefP3111aHRpSTOBlDJGnPnj2YOXMmRo8ejVNOOQXvvfce7r77bp6wIyLKYsFgEIWFhVi9ejVWr16NW2+91eqQctLQoUMxdOhQLFy40OpQiMhGFi1ahLFjx/K3FjPA4XDgrrvuwpo1a7B+/Xr8+Mc/xo4dO6wOi4iIbGLUqFHYtm0bfv/73+PJJ5/EwIED8cILL1gdFlHO4WQMkYTKykoMHDgQf/3rX+H3+/Hyyy/j//2//2d1WERElIZ3330XF1xwAb744gts3rwZl19+udUh5bRZs2bhhRdewJ49e6wOhYhs4JNPPsErr7yCm2++2epQ8soll1yCd955B71798aPf/xjPP/881aHRERENlFQUIA77rgD27dvx5gxYzB58mRcccUVaGpqsjo0opzByRiiJD766CNcdtllmD59Oq666ips374dU6ZMsTosIiJKU01NDS666CKcdtppaGhowIABA6wOKedNmzYNBQUFWLp0qdWhEJENLFmyBMceeywmTpxodSh55+STT8a6deswffp0XHvttZgzZw7a29utDouIiGyib9++ePbZZ/HGG28gFArh3HPPxa9//Wve4pLIAJyMIVJx4MABzJs3D+eccw6CwSA2bNiAp556Cr1797Y6NCIiStPvf/97XHXVVSgqKsLf//53HHvssVaHlBeOPPJIFBcXY+HChfzxaKI8d/DgQTz99NOYPn06unfvbnU4ealHjx548skn8eyzz2LBggUYO3YsgsGg1WEREZGNXHTRRdiyZQvKy8vx1FNP4cwzz8TKlSutDosoq3EyhijOxo0bMWTIEMybNw/33Xcftm3bhosuusjqsIiIKE379+/HjTfeiHvvvRfl5eVYuHAhunXrZnVYeWX27NnYsWMH3njjDatDISILvfbaa9i9ezdvUWYD1113HTZt2oRPPvkEQ4YMwebNm60OiYiIbKSgoAC33XYbmpqaMHbsWEyZMgVjx47F9u3brQ6NKCtxMobo//z3v//F7NmzMWrUKJx00kn45z//iXvuuYcn6oiIcsDnn3+OsWPHYtWqVaitrcWdd95pdUh5afDgwbjggguwcOFCq0MhIgstWrQIF110EW8RaRODBw/G1q1bMXjwYIwZMwbz58+3OiQiIrKZE044AU8//TQ2bdqEPXv2YPDgwfjVr37FW5cR6cTJGCIAVVVVGDhwIP7yl7+gsrISf//73/HDH/7Q6rCIiMgA7733HoYNG4Z///vf2LRpE8aPH291SHlt9uzZeOGFF/DFF19YHQoRWeCLL77AX/7yF8yYMcPqUChK7969UVtbi9LSUtxxxx342c9+hq+//trqsIiIyGZGjBiBrVu34g9/+AMqKiowYMAAVFdXWx0WUdbgZAzltV27duGKK67Az372M0ycOBE7duzAtGnTrA6LiIgM8re//Q0jRoxAv3790NDQgLPOOsvqkPLelClTcNhhh2Hp0qVWh0JEFli2bBkOO+wwXHvttVaHQnEcDgdKS0uxevVqvPLKKxgxYgQ++OADq8MiIiKb6dKlC2655RZ88MEHGDduHIqLi1FYWIj333/f6tCIbI+TMZSX2tra8Mgjj+Dss8/GZ599hg0bNmDhwoXo3bu31aEREZFBHnvsMbhcLkyePBmvvfYajj/+eKtDIgA9e/ZEcXExFi5cCCGE1eEQUYYtWrQIRUVF6Nmzp9WhUALjxo3D1q1bUVBQgAsuuAC1tbVWh0RERDZ0/PHHY9GiRdi0aRP27t2LQYMGYc6cObx1GVESnIyhvLNp0yacf/75KCsrg8fjwbZt2zBy5EirwyIiIoO0tbVh5syZ+NWvfoVHHnkEixcvRvfu3a0Oi6LMnj0bO3fuxOuvv251KESUQZs2bcL777/PW5RlgVNPPRWbNm3C1VdfjYkTJ8Lj8aCjo8PqsIiIyIaGDx+Ot956C0888QSeeeYZ9O/fH1VVVbzwikgFJ2Mob4TDYbjdbowaNQp9+/bFP/7xD9x77708QUdElEO+/PJLXHbZZVi+fDlWrVqFu+66y+qQSMW5556LCy+8EBUVFVaHQkQZtHjxYgwePBhDhw61OhSScNhhh2Hx4sXw+Xzwer0YP348vvzyS6vDIiIiG+rSpQvcbjd27NiBK6+8Etdddx0KCwvxz3/+0+rQiGyFkzGUF6qrqzFw4ECsWrUKS5cuxZo1a3DaaadZHRYRERlox44dGDZsGJqbm7Fp0yY4nU6rQ6IkZs6ciRdffBGff/651aEQUQbs3bsXK1aswMyZM60OhXS6+eabsXHjRjQ1NeH888/H1q1brQ6JiIhs6vjjj4fP50NDQwO++uornHfeefjFL36B1tZWq0MjsgVOxlBO+/jjjzF+/HgUFRXhyiuvxI4dO1BcXGx1WEREZLBXX30Vw4cPR58+ffDmm2/inHPOsTok0jBlyhQcccQRWLJkidWhEFEGVFVV4eDBgygqKrI6FErB0KFDsW3bNpxxxhm4+OKLsWjRIqtDIiIiG/vxj3+MhoYG/PnPf8ayZcswcOBAPPfcc7x1GeU9TsZQTmpvb8fvfvc7nHXWWWhpacGGDRtQUVGBY445xurQiIjIYE888QQmTJgAl8uFtWvX4oQTTrA6JJJw+OGH47rrrkNFRQUHZUR5YPHixZg0aRJ69+5tdSiUouOPPx4vv/wyfvnLX2LWrFmYMWMGvv32W6vDIiIim+rSpQtmzpyJHTt2YOLEibj++usxevRovPvuu1aHRmQZTsZQzqmvr8f555+PBx98EPfeey/eeecdjBw50uqwiIjIYO3t7SgpKcGdd96JsrIyLF26FD169LA6LNJh1qxZ+PDDD1FXV2d1KERkokAggK1bt/IWZTmga9eumDt3Ll566SW8+OKLGDlyJHbv3m11WEREZGPHHXccFixYgC1btqCtrQ1DhgzBHXfcgXA4bHVoRBnHyRjKGeFwGCUlJRg5ciT69OmDxsZGeDwedO/e3erQiIjIYP/9738xbtw4PPfcc3j++efx61//2uqQKAVnn302Ro4ciYULF1odChGZqKKiAv379+cFUjnE5XLhrbfeQltbG4YOHYpXXnnF6pCIiMjmzj//fGzatAkLFy5EVVUVBgwYgGeffZbfkqe8wskYygkrVqzAmWeeiRdeeAHPPPMM1qxZg9NPP93qsIiIyAQffPABhg0bhqamJrzxxhu46qqrrA6J0jB79mzU1NQgGAxaHQoRmeCbb76B3+/HTTfdBIfDYXU4ZKDTTz8d9fX1GDduHH7yk5+grKyMJ9SIiCipLl264KabbsIHH3yAa665BjNmzMDIkSPxzjvvWB0aUUZwMoay2scff4yf/OQnmDp1KsaPH48dO3bguuuuszosIiIySV1dHYYNG4Zjjz0WW7ZsweDBg60OidJ0zTXX4Mgjj8SSJUusDoWITPDiiy9i3759uOGGG6wOhUxwxBFH4LnnnsPjjz+OsrIyuFwu3naGiIg09e7dG08++SS2bNkCIQQuuOAC3HbbbTyGUM7jZAxlpfb2djz66KM4++yzsWvXLqxfvx6LFy/Gsccea3VoRERkkqeeegrjxo3DuHHjsG7dOvTt29fqkMgAhx9+OKZPn46KigocPHjQ6nCIyGAVFRVwOp3o06eP1aGQiW6//XasW7cO77zzDoYOHYpAIGB1SERElAXOO+88bNq0CRUVFVi5ciX69++Pp59+mt+0pJzFyRjKOm+++SaGDBmC++67D3fffTcaGxtx8cUXWx0WERGZpKOjA7fffjtuueUW3HfffaisrMRhhx1mdVhkoFmzZmHXrl1Ys2aN1aEQkYF27tyJDRs2YMaMGVaHQhlw4YUXYtu2bejXrx8uuugiLFu2zOqQiIgoCzgcDtxwww1oamrC1KlTMXv2bFx44YW8dRnlJE7GUNZobW3FrbfeigsvvBDf+9730NjYiPvuuw/du3e3OjQiIjJJa2srJkyYgKeffhorVqxAaWkpf3MgBw0cOBCjRo2Cz+ezOhQiMtDTTz+Nfv36Ydy4cVaHQhnSp08fvPbaaygpKcH111+PW2+9FQcOHLA6LCIiygK9e/fGn/70J2zZsgUFBQUYOnQobrnlFvz3v/+1OjQiw3AyhrLCypUrceaZZ2LlypVYsmQJ1qxZg/79+1sdFhERmeijjz7C8OHD8c9//hMbNmzApEmTrA6JTDR79mzU1NTg3//+NwDgq6++QkVFBcaMGYM9e/ZYHB0RJdPe3o4rrrgCc+fOxX/+8x8AQFtbG5555hncdNNN6NKFw858UlBQAK/Xi+XLl2Pp0qUYPXo0Pv30U6vDIiKiLDF48GBs2LABS5YswUsvvYT+/ftj0aJFvKUx5QSH4E34yMZ2796N22+/HatXr8b1118Pr9eL4447zuqwyGDdu3dHW1ubZrtHH30Uc+bMyUBERGS19evX45prrsGpp56KmpoanHTSSVaHRCbbv38/+vXrh2nTpqGjowPPPvssvvrqKwCH9odRo0ZZHCERJRIOh3HMMccAALp27Yrx48dj0KBBeOSRR7Br1y784Ac/sDhCssqOHTtw1VVX4csvv8Ty5ctxySWXWB0SEdnU22+/jSFDhki13blzJ04//XSTIyI7CIfDeOCBB/Dkk09iyJAhmD9/PoYOHWp1WEQp4yVKZEvt7e3wer04++yz8cEHH+D111/HkiVLOBGTo2RPsvI3Iohyx8MPP4ynn35a9d8WLVqEyy67DIWFhXjjjTc4EZMHvvnmG/j9fvTs2RNPPPEEFi1aFJmIAYD//e9/FkZHRFr27t0b+f+Ojg688sormDdvHo444ggsXrwYu3fvti44stSAAQPw1ltvYfTo0bj88svx6KOPJvxR5lWrVuGzzz7LcIREZBd6av6jjjrKxEjITnr37o3HH38cb7/9Nnr06IFhw4bB7Xbjiy++sDo0opRwMoYy6sCBA5g3bx527dqVsM2WLVswdOhQeDwe3HXXXXj33XcxevToDEZJmXbvvfeia9euSdt07doV1157bYYiIiIzNTQ04De/+Q1mzJiBF198MfJ8R0cHfvGLX2DWrFm45557sHz5chx++OEWRkpma25uxu23344TTjgBM2bMwL/+9S8A6PT7Avv27bMiPCKStH///pi/29vbARzK3d/+9rf44Q9/iIsvvhh///vfrQiPLHbUUUdhxYoVeOSRR3Dvvfdi8uTJMRN4ALBkyRJcffXVuOiii3gbGqI81bdvX4waNSrprS27dOmCUaNGoW/fvhmMjOzgnHPOwbp167B06VLU1NRg4MCB8Pl8mseMXbt28bhCtsLJGMqoW265BR6PB1dffXWnK6L27t2L22+/HcOHD8exxx6LxsZG3H///ejevbtF0VKmaP0ORNeuXXHJJZfghBNOyFBERGSWgwcPwu12o6CgAA6HA0VFRXj77bfxv//9Dy6XCwsWLEBVVRUeeughOBwOq8Mlk02ZMgXz58/Hvn37cPDgQdWBUkFBQcy3ZIjIfr799tuE/9bW1gYhBDZu3Ijx48dnMCqyE4fDgTlz5mDNmjXYuHEjhg0bhvfffx8A8M4776CkpAQA0NLSgieffNLKUInIQtOnT086BnA4HJg+fXoGIyI7cTgcKC4uxo4dOzB9+nTceuutGDZsGN566y3V9q+++ipOO+00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\n", "text/plain": [""]}, "execution_count": 13, "metadata": {}, "output_type": "execute_result"}], "source": ["cwd = os.getcwd()\n", "cmd = '\"{0}\" -Tpng {1}\\\\arbrec.dot -o {1}\\\\arbrec.png'.format(exe, cwd)\n", "os.system(cmd)\n", "from IPython.core.display import Image\n", "Image(\"arbrec.png\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Version javascript :"]}, {"cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [{"data": {"text/html": ["
\n", ""], "text/plain": [""]}, "execution_count": 14, "metadata": {}, "output_type": "execute_result"}], "source": ["from jyquickhelper import RenderJsVis\n", "dot = export_graphviz(clf, out_file=None, feature_names=prep.feature_names_)\n", "RenderJsVis(dot=dot, height=\"400px\", layout='hierarchical')"]}, {"cell_type": "markdown", "metadata": {}, "source": ["#### Exp\u00e9rience 2\n", "\n", "On remplace l'arbre de d\u00e9cision par des random forest."]}, {"cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": ["import random\n", "salaires[\"rnd\"] = salaires.apply (lambda r : random.randint(0,50),axis=1)\n", "ech = salaires [ salaires.rnd == 0 ]\n", "X,Y = ech[[\"AGE\",\"SEXE\",\"TYP_EMPLOI\",\"CONT_TRAV\", \"CS\"]], ech[[\"montant\"]]\n", "Xd = X.T.to_dict().values()\n", "\n", "from sklearn.feature_extraction import DictVectorizer\n", "prep = DictVectorizer()\n", "Xt = prep.fit_transform(Xd).toarray()\n", "\n", "from sklearn.model_selection import train_test_split\n", "a_train, a_test, b_train, b_test = train_test_split(Xt, Y, test_size=0.33)"]}, {"cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["n_estimators 1 erreur 10777.861048518538 10774.134728955933\n", "n_estimators 2 erreur 10724.224251649079 10730.920886589629\n", "n_estimators 3 erreur 10777.677483141808 10774.12073998104\n", "n_estimators 4 erreur 10752.485926963609 10754.003026467124\n", "n_estimators 5 erreur 10745.185493268404 10749.020102424705\n", "n_estimators 6 erreur 10734.423374628881 10738.124428332068\n", "n_estimators 7 erreur 10761.323875241487 10760.754193848868\n", "n_estimators 8 erreur 10777.633163165317 10774.12890244675\n", "n_estimators 9 erreur 10733.20327466252 10735.903647029647\n"]}, {"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["from sklearn.ensemble import RandomForestRegressor\n", "import matplotlib.pyplot as plt\n", "from sklearn.metrics import mean_squared_error\n", "from numpy import array\n", "\n", "curves = []\n", "for n_estimators in range(1,10) :\n", " clf = RandomForestRegressor(n_estimators=n_estimators,max_depth=1,min_samples_leaf=10)\n", " clf = clf.fit(a_train, b_train[\"montant\"].ravel())\n", " erra = mean_squared_error( clf.predict(a_train), b_train)**0.5\n", " errb = mean_squared_error( clf.predict(a_test), b_test)**0.5\n", " print(\"n_estimators\",n_estimators, \"erreur\",erra,errb)\n", " curves.append((n_estimators, erra,errb, clf) )\n", "\n", "plt.plot ( [c[0] for c in curves], [c[1] for c in curves], label=\"train\")\n", "plt.plot ( [c[0] for c in curves], [c[2] for c in curves], label=\"test\")\n", "#plt.ylim( [11300,11600] )\n", "plt.legend();"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On obtient plus rapidement le m\u00eame r\u00e9sultat qu'avec les arbres de d\u00e9cision."]}, {"cell_type": "markdown", "metadata": {}, "source": ["### Exercice 2 : Courbes ROC"]}, {"cell_type": "markdown", "metadata": {}, "source": ["#### Premi\u00e8re courbe\n", "\n", "On enl\u00e8ve juste les valeurs impr\u00e9vues."]}, {"cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": ["import random, numpy\n", "tsalaires = salaires[ (salaires[\"SEXE\"].notnull()) & ((salaires[\"SEXE\"] == \"1\") | (salaires[\"SEXE\"] == \"2\")) ].copy()\n", "tsalaires[\"rnd\"] = tsalaires.apply (lambda r : random.randint(0,50),axis=1)\n", "ech = tsalaires [ tsalaires.rnd == 0 ].copy()"]}, {"cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": ["X,Y = ech[[\"AGE\",\"TYP_EMPLOI\",\"CONT_TRAV\", \"CS\", \"montant\"]], ech[[\"SEXE\"]].copy()\n", "Xd = X.T.to_dict().values()\n", "Y[\"SEXE\"] = Y.apply ( lambda r : int(r[\"SEXE\"])-1, axis=1)\n", "\n", "from sklearn.feature_extraction import DictVectorizer\n", "prep = DictVectorizer()\n", "Xt = prep.fit_transform(Xd).toarray()"]}, {"cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": ["from sklearn.model_selection import train_test_split\n", "a_train, a_test, b_train, b_test = train_test_split(Xt, Y, test_size=0.33)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On apprend un classifieur (masculin ou f\u00e9minin) :"]}, {"cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": ["from sklearn.tree import DecisionTreeClassifier\n", "clf = DecisionTreeClassifier(max_depth=10)\n", "clf = clf.fit(a_train, b_train[\"SEXE\"].ravel())"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Et la courbe ROC :"]}, {"cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [{"name": "stdout", "output_type": "stream", "text": ["Area under the ROC curve : 0.780799\n"]}, {"data": {"image/png": "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B06e52RiChPa16JO5bLuDqfApKen85///IdGjRqxYcMGPvjgAy3ip5S6Zh59aLnh0GkAWteq5OZIClb//v358ccfueOOO5g1a5beYa2Uui4enSh+3X2Smyv4EFzJz92huFxqaire3t54eXkxfPhwhgwZwtChQ7U+k1Lqurm06UlEeonIHhHZLyLPZjP/CRHZKSJbReQXEcm30qQJF1JZs/ckvRvf7PFflmFhYdhsNj744AMABg0axH333efx+62UKhguSxQi4g28B9wONASGiEjDLIttBmzGmCbA18Cb+bX9TzdGcjHdzp0tPHeo06SkJJ555hlat27NyZMntQS4UsolXHlG0QrYb4w5aIy5CCwC+jsvYIz51RhzwTG5HqieXxtfveckTapXIKSqZw5OtG7dOpo2bcqbb77JmDFj2LlzJ3369HF3WEopD+TKPopqQLTTdAzQOpflxwI/ZTdDRCYAEwACA688fOnFNDtbouO5r7XnHmEnJSVht9tZuXIlXbt67Ki1SqlCwJWJIrsGcpPtgiLDABvQMbv5xpg5wBwAm82W7Tqc7TiSQEqaHVuwZ5XJXrZsGTt27OCpp56iS5cu7Nq1i5IldVwNpZRrubLpKQZwvi6zOnAk60Ii0g14HuhnjEnJjw2HR8YBYAvyjERx6tQphg0bRu/evfn0008zi/hpklBKFQRXJopNQF0RqSkipYDBwPfOC4hIc2A2VpI4kV8b3hwVT3V/XyqX98mvVbqFMYZFixbRoEEDvvzyS1588UU2btyoRfyUUgXKZU1Pxpg0EZkILAe8gfnGmB0i8hIQZoz5HngLKAt85biUM8oY0+96t33o1HnqesCd2FFRUYwcOZKmTZsyb948GjcufmVIlFLu59Ib7owxy4BlWR77l9Pf+T6UWkpaOlFnLhBaRJudjDH88ssvdOvWjaCgIH777TdatmyJt3fxrXqrlHIvj6v19PP2Y5xLSaNbwyruDuWqHThwgK5du9K9e/fMIn5t2rTRJKGUciuPSxRLtxylWkVf2te5wd2h5Fl6ejrTp0+ncePGhIeHM3v2bC3ip5QqNDyq1pMxhs1RcXSqVxkvr6JTvqJv37789NNP9OnThw8++IDq1fPtvkOllLpuHpUoos8kcfr8RZoHVnR3KFd08eJFSpQogZeXF6NGjWL48OEMHjxY6zMppQodj2p6+ivKun+isCeKjRs3Ehoayvvvvw/Avffey5AhQzRJKKUKJY9KFJuj4vAr5U29KuXcHUq2Lly4wOTJk2nbti1xcXHUrl3b3SEppdQVeVTT0+boeJpUr0AJ78KX/9auXcvIkSM5ePAg999/P2+88QYVKnhmwUKllGfxmERhtxv2Hk9kaKvCWQgwY2ChX3/9lU6dOrk7HKWUyjOPSRRHEpJITrUXqrGxly5dyq5du3j66afp3LkzO3fupEQJj3nJlVLFROFro7lGO46cBaDeTe7vnzh58iRDhw6lX79+fP7555lF/DRJKKWKIo9JFFtj4inhJYRULe+2GIwxfPbZZzRo0ICvv/6al156iQ0bNmgRP6VUkeYxh7hbYxK4pUo5fEq6r9xFVFQUo0ePpnnz5sybN4+QkBC3xaKUUvnFI84ojDFsjUmgaY2Cv4rIbrezfPlyAIKCgvj999/5448/NEkopTyGRySKyNMXSEhKpUn1gr3Rbt++fXTp0oVevXqxZs0aAFq1aqVF/JRSHsUjEsWWmHgAmlQvmDOKtLQ03nrrLZo0aUJERATz5s3TIn5KKY/lEX0UW2MSKF3Ci1sK6I7sPn36sHz5cvr378/7779P1apVC2S7qmhJTU0lJiaG5ORkd4eiihEfHx+qV6+er0Mle0iiiCekanlKuvCO7JSUFEqWLImXlxfjxo1jzJgx3HPPPVqfSeUoJiaGcuXKERwcrO8TVSCMMZw+fZqYmBhq1qyZb+st8k1Pael2tseedWn/xPr162nRogXvvfceAHfffTf33nuvfvhVrpKTk6lUqZK+T1SBEREqVaqU72exRT5R7D95jqTUdJdc8XT+/HkmTZrErbfeSmJiInXr1s33bSjPpklCFTRXvOeKfNPT1ugEgHw/o/j9998ZOXIkhw4d4qGHHuK1116jfHn33cynlFLuUuTPKLbExFOudAlqViqTr+tNS0ujZMmS/Pbbb7z33nuaJFSR5O3tTbNmzWjUqBF9+/YlPj4+c96OHTvo0qULt9xyC3Xr1uXll1/GGJM5/6effsJms9GgQQPq16/Pk08+6Y5dyNXmzZsZN26cu8PI1WuvvUadOnWoV69e5j1XWbVv355mzZrRrFkzqlatyoABAwBISEigb9++NG3alJCQED766CPAKhPUq1evAtsHjDFF6ic0NNQ46zPzdzNkzjqTHxYvXmymTp2aOZ2ampov61XF086dO90dgilTpkzm3yNGjDCvvPKKMcaYCxcumFq1apnly5cbY4w5f/686dWrl3n33XeNMcZs27bN1KpVy+zatcsYY30W3nvvvXyNLT8+X3fffbeJiIgo0G1ejR07dpgmTZqY5ORkc/DgQVOrVi2TlpaW63MGDhxoFi5caIwx5tVXXzVPP/20McaYEydOGH9/f5OSkmKMMWbUqFFm7dq12a4ju/ceEGau8Xu3SDc9paSls/vYWcbeVuu61nP8+HEeeeQRvvrqK1q0aMHkyZMpVaqUFvFT+WbK0h3sdBSuzC8Nq5bnxb55rwDQtm1btm7dCsBnn31Gu3bt6NGjBwB+fn68++67dOrUiYcffpg333yT559/nvr16wNWQcuHHnrosnWeO3eORx55hLCwMESEF198kbvuuouyZcty7tw5AL7++mt++OEHFixYwKhRowgICGDz5s00a9aMxYsXExERQcWKVtNxnTp1+OOPP/Dy8uKBBx4gKioKgBkzZtCuXbtLtp2YmMjWrVtp2rQpYI0c+fjjj5OUlISvry8fffQR9erVY8GCBfz4448kJydz/vx5Vq1axVtvvcWXX35JSkoKd955J1OmTAFgwIABREdHk5yczGOPPcaECRPy/PpmZ8mSJQwePJjSpUtTs2ZN6tSpw8aNG2nbtm22yycmJrJq1arMMwcRITExEWMM586dIyAgIPN7acCAAXz66aeXvS6uUKS/CX/bc5LUdEOza+zINsbwySef8Pjjj3Pu3DleffVVnnrqqXy9/lipwiA9PZ1ffvmFsWPHAlazU2ho6CXL1K5dm3PnznH27Fm2b9/O5MmTr7jel19+mQoVKrBt2zYA4uLirvicvXv3snLlSry9vbHb7SxevJjRo0ezYcMGgoODqVKlCkOHDmXSpEncdtttREVF0bNnT3bt2nXJesLCwmjUqFHmdP369VmzZg0lSpRg5cqV/OMf/+Cbb74BYN26dWzdupWAgABWrFjBvn372LhxI8YY+vXrx5o1a+jQoQPz588nICCApKQkWrZsyV133UWlSpUu2e6kSZP49ddfL9uvwYMH8+yzz17yWGxsLG3atMmcrl69OrGxsTm+NosXL6Zr166ZTd0TJ06kX79+VK1alcTERL744gu8vKweA5vNxgsvvHDF1zs/FOlEseDPw9QI8KVTvcrX9PyoqCjGjRuHzWZj3rx5mUdPSuW3qznyz09JSUk0a9aMw4cPExoaSvfu3QHrICmnq2Ou5qqZlStXsmjRosxpf3//Kz7nnnvuySxzM2jQIF566SVGjx7NokWLGDRoUOZ6d+7cmfmcs2fPkpiYSLlyf99Ue/ToUW688cbM6YSEBEaOHMm+ffsQEVJTUzPnde/enYCAAABWrFjBihUraN68OWCdFe3bt48OHTowc+ZMFi9eDEB0dDT79u27LFG88847eXtx4JI+nwy5vb6ff/75JX0uy5cvp1mzZqxatYoDBw7QvXt32rdvT/ny5alcuTJHjhzJcyzXo8h2ZiddTCfscBw9G950VRVj7XY7P/30E2AV8fvjjz9Ys2aNJgnlkXx9fYmIiCAyMpKLFy9m3gsUEhJCWFjYJcsePHiQsmXLUq5cOUJCQggPD7/i+nNKOM6PZb2mv0yZv8Bs+7cAAA0bSURBVC88adu2Lfv37+fkyZN89913DBw4ELA+p+vWrSMiIoKIiAhiY2MvSRIZ++a87n/+85907tyZ7du3s3Tp0kvmOW/TGMNzzz2Xue79+/czduxYVq9ezcqVK1m3bh1btmyhefPm2d6PMGnSpMyOZ+ef119//bJlq1evTnR0dOZ0TExMjpUcTp8+zcaNG+ndu3fmYx999BEDBw5ERKhTpw41a9Zk9+7dma+rr69vtuvKb0U2Uew8msDFdDttalW68sIOe/fupVOnTtxxxx389ttvgHX6pkX8lKerUKECM2fOZNq0aaSmpnLfffexdu1aVq5cCVhnHo8++ihPP/00AE899RRTp05l7969gPXFPX369MvW26NHD959993M6YympypVqrBr167MpqWciAh33nknTzzxBA0aNMg8es+63oiIiMue26BBA/bv3585nZCQQLVq1QBYsGBBjtvs2bMn8+fPz+xDiY2N5cSJEyQkJODv74+fnx+7d+9m/fr12T7/nXfeyUwyzj9Zm50A+vXrx6JFi0hJSeHQoUPs27ePVq1aZbver776ij59+uDj45P5WGBgIL/88gtg9aXu2bOHWrWsPtm9e/de0vTmSkU2UcTGW5k+sJLfFZdNS0vjjTfeoEmTJmzbto2PPvqIDh06uDpEpQqV5s2b07RpUxYtWoSvry9LlizhlVdeoV69ejRu3JiWLVsyceJEAJo0acKMGTMYMmQI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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["from sklearn.metrics import roc_curve, auc\n", "\n", "probas = clf.predict_proba(a_test)\n", "# probas est une matrice de deux colonnes avec la proabilit\u00e9s d'appartenance \u00e0 chaque classe\n", "\n", "fpr, tpr, thresholds = roc_curve(b_test[\"SEXE\"].ravel(), probas[:, 1])\n", "roc_auc = auc(fpr, tpr)\n", "print(\"Area under the ROC curve : %f\" % roc_auc)\n", "\n", "plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)\n", "plt.plot([0, 1], [0, 1], 'k--')\n", "plt.xlim([0.0, 1.0])\n", "plt.ylim([0.0, 1.0])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('Receiver operating characteristic example')\n", "plt.legend(loc=\"lower right\");"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Une courbe comme celle-l\u00e0 veut dire que le classifieur ne fait pas beaucoup mieux que le hasard. On va tricher un peu et apprendre le mod\u00e8le sur la base de test pour voir ce qu'on devrait voir si le mod\u00e8le \u00e9tait un bon pr\u00e9dicteur :"]}, {"cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [{"data": {"image/png": "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nDiR8uXL8/nnn/P000+zZMkSK+JnjMlUQWt6UtVYERkIzAAigXGquk5EngOWqeo04HWgIPCFdyrndlVtF6yYws327dvp2bMnVatWZezYsVSuXDnUIRljciC7cVEWo6r8+OOPiXeZW7RoETVr1iQyMjLEkRljwpnduCib2LJlC82aNaN58+aJRfzq1KljScIYE1KWKLKAuLg4hg4dSuXKlVm+fDmjRo2yIn7GmCzDaj1lATfddBPfffcdbdu25d1336VkSbvu0BiTdVgfRYicPHmSXLlyERERweeff05cXBxdunSx+kzGmKCwPoows2TJEq677jreeecdAG677Ta6du1qScIYkyVZoshEx44dY8iQIdStW5f9+/dz1VVWjsQYk/VZH0UmmT9/Pj179mTr1q3cddddvPrqqxQuXDjUYRljTKosUWSShBsLzZkzh8aNG4c6HGOMCZh1ZgfR119/zYYNG/jPf/4DQGxsLLlyWW42xmQ+68zOYvbs2UO3bt1o164dn376aWIRP0sSxphwZIkiA6kqn3zyCeXLl2fSpEk899xzLF682Ir4GWPCmv3EzUDbt2+nd+/eVK9enbFjx1KxYsVQh2SMMefMjijOUXx8PDNmzACgdOnS/PzzzyxYsMCShDEm27BEcQ42bdpE06ZNadWqFfPmzQOgVq1aVsTPGJOtWKJIh9jYWF5//XWqVKnCypUrGTt2rBXxM8ZkW9ZHkQ5t27ZlxowZtG/fnnfeeYfLLrss1CGZLOjUqVNER0cTExMT6lBMDpI3b15KliyZobdKtusoAnTixAly585NREQEkyZNIj4+nltvvdXqM5lkbdu2jUKFCnHhhRfa+8RkClVl3759HD58mCuuuOKMaXYdRZAtWrSIGjVqMGLECAA6derEbbfdZh9+k6KYmBhLEiZTiQgXXnhhhh/FWqJIwdGjR3nwwQe5/vrrOXz4MGXLlg11SCbMWJIwmS0Y7znro0jGzz//TM+ePdm2bRv33HMPL7/8Mueff36owzLGmExnRxTJiI2NJXfu3Pz000+MGDHCkoQJS5GRkVSrVo1KlSpx0003ceDAgcRp69ato2nTplxzzTWULVuW559/Ht8+y++++46oqCjKly9PuXLleOihh0KxCSlasWIFffv2DXUYydq3bx9NmjShYMGCDBw4MNn5/v33X5o3b07ZsmVp3rw5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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["from sklearn.ensemble import RandomForestClassifier\n", " \n", "clf = RandomForestClassifier(n_estimators=10)\n", "clf = clf.fit(a_test, b_test[\"SEXE\"].ravel())\n", "\n", "probas = clf.predict_proba(a_test)\n", "# probas est une matrice de deux colonnes avec la proabilit\u00e9s d'appartenance \u00e0 chaque classe\n", "\n", "fpr, tpr, thresholds = roc_curve(b_test[\"SEXE\"].ravel(), probas[:, 1])\n", "roc_auc = auc(fpr, tpr)\n", "\n", "plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)\n", "plt.plot([0, 1], [0, 1], 'k--')\n", "plt.xlim([0.0, 1.0])\n", "plt.ylim([0.0, 1.0])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('Receiver operating characteristic example\\nArea under the ROC curve : %f' % roc_auc)\n", "plt.legend(loc=\"lower right\");"]}, {"cell_type": "markdown", "metadata": {}, "source": ["#### Un peu plus de features et...\n", "\n", "Dans les exemples pr\u00e9c\u00e9dents, deux variables num\u00e9riques (``AGE`` et ``montant``) ont \u00e9t\u00e9 trait\u00e9es comme cat\u00e9gorielles et il serait plus efficace de les traiter comme num\u00e9riques (1 feature au lieu $n$ features avec $n$ = le nombre d'\u00e2ges diff\u00e9rents). Cela pr\u00e9sente l'avantage de ne pas avoir que des [features sparses](http://en.wikipedia.org/wiki/Sparse_array)."]}, {"cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": ["import random, numpy\n", "tsalaires = salaires[ (salaires[\"SEXE\"].notnull()) & ((salaires[\"SEXE\"] == \"1\") | (salaires[\"SEXE\"] == \"2\")) ].copy()\n", "tsalaires[\"rnd\"] = tsalaires.apply (lambda r : random.randint(0,50),axis=1)\n", "ech = tsalaires [ tsalaires.rnd == 0 ].copy()\n", "Xn,Xc,Y = ech[[\"AGE\",\"montant\"]], \\\n", " ech[[\"TYP_EMPLOI\",\"CONT_TRAV\", \"CS\", \"CONV_COLL\", \"DEPT\", \"DEPR\", \"PCS\"]], \\\n", " ech[[\"SEXE\"]].copy()\n", "Xd = Xc.T.to_dict().values()\n", "Y[\"SEXE\"] = Y.apply ( lambda r : int(r[\"SEXE\"])-1, axis=1)\n", "\n", "from sklearn.feature_extraction import DictVectorizer\n", "prep = DictVectorizer()\n", "Xt = prep.fit_transform(Xd).toarray()\n", "Xt = numpy.hstack((Xn,Xt))\n", "\n", "from sklearn.model_selection import train_test_split\n", "a_train, a_test, b_train, b_test = train_test_split(Xt, Y, test_size=0.33)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On teste diff\u00e9rents mod\u00e8les et on v\u00e9rifie que le fait de consid\u00e9rer les variables ``AGE`` et ``montant`` est plus efficace. Les deux derni\u00e8res options proposent deux fa\u00e7ons de r\u00e9duire le nombre de varaibles en entr\u00e9e avec une ACP et en utilisant un objet [Pipeline](http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html) qui permet de cha\u00eener les op\u00e9rations sur le m\u00eame jeu de donn\u00e9es. Ce derni\u00e8re exemple explique l'int\u00e9r\u00eat d'avoir les m\u00eames m\u00e9thodes pour chaque mod\u00e8le."]}, {"cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": ["model = \"GBC\"\n", "if model == \"lda\":\n", " from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\n", " clf = LinearDiscriminantAnalysis(n_components=2)\n", " clf = clf.fit(a_train, (b_train[\"SEXE\"]+1.0).ravel())\n", "elif model == \"tree\":\n", " from sklearn.tree import DecisionTreeClassifier\n", " clf = DecisionTreeClassifier(max_depth=10)\n", " clf = clf.fit(a_train, b_train[\"SEXE\"].ravel())\n", "elif model == \"forest\":\n", " from sklearn.ensemble import RandomForestClassifier\n", " clf = RandomForestClassifier()\n", " clf = clf.fit(a_train, b_train[\"SEXE\"].ravel()) \n", "elif model==\"pipeline\":\n", " from sklearn.pipeline import Pipeline\n", " from sklearn.svm import LinearSVC\n", " from sklearn.decomposition import PCA\n", " from sklearn.discriminant_analysis import LinearDiscriminantAnalysis\n", " clf = Pipeline([\n", " ('feature_selection', PCA(n_components=10)),\n", " ('classification', LinearDiscriminantAnalysis())\n", " ])\n", " clf = clf.fit(a_train, b_train[\"SEXE\"].ravel()) \n", "elif model==\"GBC\":\n", " from sklearn.ensemble import GradientBoostingClassifier \n", " clf = GradientBoostingClassifier(n_estimators=10)\n", " clf = clf.fit(a_train, b_train[\"SEXE\"].ravel()) \n", "else:\n", " raise Exception(\"unknown model: \" + model)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["On trace la courbe ROC pour mesurer la performance du mod\u00e8le."]}, {"cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["from sklearn.metrics import roc_curve, auc\n", "probas = clf.predict_proba(a_test)\n", "fpr, tpr, thresholds = roc_curve(b_test[\"SEXE\"].ravel(), probas[:, 1])\n", "roc_auc = auc(fpr, tpr)\n", "\n", "plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)\n", "plt.plot([0, 1], [0, 1], 'k--')\n", "plt.xlim([0.0, 1.0])\n", "plt.ylim([0.0, 1.0])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('ROC ' + model + '\\n' + \"Area under the ROC curve : %f\" % roc_auc)\n", "plt.legend(loc=\"lower right\");"]}, {"cell_type": "markdown", "metadata": {}, "source": ["Si le model choisi est un [GradientBoostingClassifier](http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html), on peut regarder l'importance des variables dans la construction du r\u00e9sultat. Le graphe suivant est inspir\u00e9 de la page [Gradient Boosting regression](http://scikit-learn.org/stable/auto_examples/ensemble/plot_gradient_boosting_regression.html) m\u00eame si ce n'est pas une r\u00e9gression qui a \u00e9t\u00e9 utilis\u00e9e ici."]}, {"cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [{"data": {"image/png": "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\n", "text/plain": ["
"]}, "metadata": {"needs_background": "light"}, "output_type": "display_data"}], "source": ["if model == \"GBC\":\n", " import pandas\n", " import numpy as np\n", " feature_name = pandas.Series([\"AGE\",\"montant\"] + prep.feature_names_)\n", " \n", " limit = 20\n", " feature_importance = clf.feature_importances_[:20]\n", "\n", " feature_importance = 100.0 * (feature_importance / feature_importance.max())\n", " sorted_idx = np.argsort(feature_importance)\n", " pos = np.arange(sorted_idx.shape[0]) + .5\n", " plt.subplot(1, 2, 2)\n", " plt.barh(pos, feature_importance[sorted_idx], align='center')\n", " plt.yticks(pos, feature_name[sorted_idx])\n", " plt.xlabel('Relative Importance')\n", " plt.title('Variable Importance');"]}, {"cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": []}], "metadata": {"kernelspec": {"display_name": "Python 3", "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.7.0"}}, "nbformat": 4, "nbformat_minor": 2}