From 3a14b3310a523bd3f941b0beda6f3de5125d279f Mon Sep 17 00:00:00 2001 From: jExbrayat Date: Tue, 16 Jan 2024 00:07:43 +0100 Subject: [PATCH] feat: big fkin commit --- src/notebooks/supervised-regression.ipynb | 508 +++++++++++++++++----- 1 file changed, 403 insertions(+), 105 deletions(-) diff --git a/src/notebooks/supervised-regression.ipynb b/src/notebooks/supervised-regression.ipynb index 056e44d..7973fa2 100644 --- a/src/notebooks/supervised-regression.ipynb +++ b/src/notebooks/supervised-regression.ipynb @@ -2,12 +2,12 @@ "cells": [ { "cell_type": "markdown", - "source": [ - "# Régression supervisée" - ], "metadata": { "collapsed": false - } + }, + "source": [ + "# Régression supervisée" + ] }, { "cell_type": "markdown", @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -28,15 +28,16 @@ "import statsmodels.api as sm\n", "from sklearn.ensemble import RandomForestRegressor\n", "from sklearn.linear_model import LinearRegression\n", - "from sklearn.metrics import mean_absolute_error, mean_squared_error\n", + "from sklearn.metrics import mean_absolute_error, mean_squared_error, accuracy_score\n", "from sklearn.model_selection import train_test_split\n", "\n", - "from src.utils import init_notebook" + "from src.utils import init_notebook\n", + "from sklearn.linear_model import LogisticRegression" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -45,7 +46,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -69,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -89,17 +90,207 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Régression linéaire" + "# Régression logistique" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous cherchons à prévoir si le projet sera financé dans les 60 jours impartis ou non." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "X = df.drop([\"day_succ\", \"Status\"], axis=1)\n", - "y = event_times" + "y = event_observed" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "X_train, X_test, y_train, y_test = train_test_split(\n", + " X, y, test_size=0.2, random_state=42\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "log_reg = LogisticRegression()\n", + "log_reg.fit(X_train, y_train)\n", + "y_pred = log_reg.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.629940119760479" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "accuracy = accuracy_score(y_test, y_pred)\n", + "accuracy" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous obtenons une accuracy de 62%, ce qui est relativement peu." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "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", + "
VariableCoefficient
0has_video0.848165
1facebook_connected-0.009586
2goal-6.582300
3facebook_friends0.366086
\n", + "
" + ], + "text/plain": [ + " Variable Coefficient\n", + "0 has_video 0.848165\n", + "1 facebook_connected -0.009586\n", + "2 goal -6.582300\n", + "3 facebook_friends 0.366086" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Get coefficients\n", + "log_reg_coeff = pd.DataFrame(\n", + " {\"Variable\": [col for col in X.columns], \"Coefficient\": log_reg.coef_[0].tolist()}\n", + ")\n", + "log_reg_coeff" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Régression linéaire" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nous cherchons à déterminer quelle est la durée de financement d'un projet, sachant qu'il a été financé." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "# Redefine variables\n", + "X = df[event_observed == 1].drop([\"Status\", \"day_succ\"], axis=1)\n", + "y = df[\"day_succ\"][event_observed == 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 0, 'Nombre de jours avant le financement')" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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vYR+u6W5fkWFNTIM62U4U9bMpCcp79+/jxEjRuDIkSPStGfPnuHs2bOoXbs2fH19ceLECWg0//4v8OjRo6hZsyYqVKiAunXrokyZMjh27Jg0PzU1FWfPnoWvr2+xbgsRERGVDCYNP2q1Gi1atMC0adMQFxeHixcvYvTo0UhNTUXv3r3RtWtXPHnyBGPHjsXly5exZcsWrFy5EiEhIQCeX+vTs2dPREZGYu/evTh//jyGDx8OFxcXtG7d2pSbRkRERGbK5Nf8REdHIyoqCsOHD8fjx4/RuHFjrFu3Dq+99hoAYNmyZYiIiEDnzp1RqVIlhIWFoXPnztL6w4YNQ1ZWFsaNG4f09HT4+vpi+fLlsLS0NNUmERERkRkzefgpW7YsJk2ahEmTJuU439PTExs3bsx1fZVKhVGjRmHUqFFGGiERERGVJnwwAREREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJCsMPERERyQrDDxEREckKww8RERHJisnDz8OHDzFhwgS0aNECPj4+6N69O+Lj46X5ffr0gZubm95XcHCwND8jIwOTJ09G06ZN4e3tjc8//xzJycmm2BQiIiIqASxMPYARI0bg3r17iI6ORoUKFbBmzRr069cPW7duRa1atXDhwgVMmjQJrVq1ktaxtLSU/j1p0iTEx8dj/vz5sLKywsSJEzFs2DCsXbvWFJtDREREZs6k4ef69es4dOgQ1q9fj0aNGgEAxo8fj99++w07duxAz5498eDBAzRs2BCVKlXKtn5iYiK2bduGxYsXo3HjxgCA6OhotG3bFidPnoS3t3exbg8RERGZP5Oe9nJ0dERsbCw8PDykaQqFAgqFAqmpqbhw4QIUCgVq1qyZ4/onTpwAAPj7+0vTatasCWdnZ8TFxRl38ERERFQimfTIj4ODA9566y29abt27cL169fxxRdf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wKlTp7Bo0aKiHicRERFRkShU+Pnhhx/wySefoGPHjlD9/5NTLSws8N577+GTTz7Bjh07inSQREREREWlUOEnOTkZ7u7uOc5zd3dHYmLiKw2KiIiIyFgKFX5ef/116UNFXxYXF4cqVaq80qCIiIiIjKVQFzx369YNM2fOhI2NDdq3b4+KFSvi/v37+OGHH7B06VLptnMiIiIic1Oo8NO9e3ecPXsWkZGRiIqKkqYLIdC5c2cMHDiwyAZIREREVJQKfat7REQE+vbti+PHj+PRo0dQKBRo1aoVateuXdRjJCIiIioyBl3zc+HCBXTt2hVff/01AKB27dro3r07PvroI3z11VcYMWIErl27ZpSBEhERERWFAoefW7duoVevXrh//z5q1qypN8/S0hJhYWF4+PAhPvroI97tRURERGarwOEnNjYW5cuXx9atW9G2bVu9eba2tujduzc2bdoEa2trLFmypMgHSkRERFQUChx+jhw5gv79+8PJySnXZSpVqoS+ffvi0KFDRTI4IiIioqJW4PCTlJSEGjVq5LucWq1GQkLCq4yJiIiIyGgKHH6cnJyQlJSU73IpKSkoV67cKw2KiIiIyFgKHH58fX2xZcuWfJfbtm1brh99QURERGRqBQ4/wcHBOHbsGGbOnImMjIxs8zMzMzFr1iwcPHgQPXr0KNJBEhERERWVAj/k0MPDA2PGjMH06dOxfft2NG3aFNWqVYNGo8GdO3dw7NgxpKSk4NNPP0Xz5s2NOWYiIiKiQjPoCc89evRA3bp1sXz5cuzdu1c6AmRvb48333wTffv2RcOGDY0yUCIiIqKiYPDHWzRq1AiNGjUCACQnJ8PCwgIODg5FPjAiIiIiYyjUZ3vp5PXMHyIiIiJzZNBnexERERGVdAw/REREJCsMP0RERCQrDD9EREQkKww/REREJCsMP0RERCQrDD9EREQkKww/REREJCsMP0RERCQrDD9EREQkKww/REREJCsMP0RERCQrDD9EREQkKww/REREJCsMP0RERCQrZhV+lixZguDgYL1p48aNg5ubm95XYGCgNF+r1WLevHlo3rw5vLy8MGDAANy8ebO4h05EREQlhNmEn3Xr1mHu3LnZpl+4cAGDBg3C77//Ln1t2rRJmr9w4UKsX78eU6dOxYYNG6DVatG/f39kZmYW4+iJiIiopDB5+ElMTMSgQYMQGRmJGjVq6M0TQuDy5cto0KABKlWqJH05OTkBADIzM7FixQoMGzYMLVu2RN26dTFnzhwkJCTgl19+McHWEBERkbmzMPUA/vrrL1haWuL777/HggULcPv2bWnejRs38PTpU9SqVSvHdc+fP49//vkHTZs2laY5ODjA3d0dcXFxCAoKKvS4LCwMz4UqlVLve27zFQoFFApFoceWF127uY3B3ORXM9JnqnoV574LBYquD8W/3xVQlLj3hynwPWkY1stw5lAzk4efwMBAvWt4XnTx4kUAwJo1a3Dw4EEolUq0aNECw4cPR9myZZGQkAAAqFKlit56lStXluYVhlKpgKOjfaHXd3CwzXO+SqWEhYWq0O3n13ZBxmBuStp4Tc1U9TLqvqtUSt+Lug8L1fP2Sur7wxRYI8OwXoYzZc1MHn7ycvHiRSiVSlSuXBmLFy/GjRs3MGvWLFy6dAmrVq1CWloaAMDKykpvPWtrazx69KjQ/Wq1AqmpTw1eT6VSwsHBFqmpadBotLnO12i0yMrSFHp8edH1m9sYzE1+NSN9pqpXsey7Wq30vcj6UDwPPlkaDSBK3vvDFPieNAzrZThj1czBwbbAR5PMOvwMHjwYH330ERwdHQEAarUalSpVwn//+1+cOXMGNjY2AJ5f+6P7NwBkZGTA1vbVEmVWVuFfkOd/IHJfXwgBIUSh28+Lrt38xmBuStp4Te3leimVCiiVxjkd9aLi2HchUGR9KHTnvYT+2Lm/5Y81MgzrZThT1sysw49SqZSCj06dOnUAAAkJCdLprqSkJLz++uvSMklJSXBzcyu+gRKZkFKpQHlHO+m0ERER5c2sw09YWBiSkpKwcuVKadqZM2cAAK6urqhevTrKlCmDY8eOSeEnNTUVZ8+eRc+ePU0xZKJip1QqoFIqsf7nc0hKNvx0bUG41XBCu2Y1jXaxMxFRcTLr8NOmTRsMGTIEMTEx6NixI65du4YpU6YgKCgItWvXBgD07NkTkZGRcHJyQtWqVTF79my4uLigdevWJh49UfFKSn6K2/eeGKXtSo68mJOISg+zDj9vv/025s6di9jYWCxduhRly5ZFhw4d8Nlnn0nLDBs2DFlZWRg3bhzS09Ph6+uL5cuXw9LS0nQDJyIiIrNlVuFn5syZ2aa1a9cO7dq1y3UdlUqFUaNGYdSoUcYcGhEREZUSvEKSiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4iIiGTFrD7bi+hFSqUCSqXCqH1otQJarTBqH0REZF4YfsgsKZUKlHe0g0pp3IOTGq0WD1OeMgAREckIww+ZJaVSAZVSifU/n0NS8lOj9FHZyQ4fta0HpVLB8ENEJCMMP2TWkpKf4va9J6YeBhERlSK84JmIiIhkheGHiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4iIiGSFT3gupVQq4+ba0vSBoKwVEZG8MPyUMmXtLKHVCjg42Bq1n9LwgaCsFRGRPDH8lDI21hZQKhX4Ztd5JD74xyh9lJYPBC3OWllaqqDRaF+5Pd1RqhePVhn7yBURUWnD8FNK8QNBC86YtTLW0SVjH60iIirNGH6IjKiojy4pFAqoVEpoNFoI8fyom1sNJ7RrVhMKheKV2ycikgOGH6JiUFRHlxQKBSwsVMjK0kjhp5IjjwIRERmCFwsQERGRrDD8EBERkaww/BAREZGsMPwQERGRrDD8EBERkayYVfhZsmQJgoOD9aadO3cOPXv2hJeXFwIDA7F69Wq9+VqtFvPmzUPz5s3h5eWFAQMG4ObNm8U5bNlSqZSwsHi1rxcf2pfTdCIioqJmNre6r1u3DnPnzkXjxo2laSkpKejTpw8CAwMxefJknDp1CpMnT4a9vT26du0KAFi4cCHWr1+PmTNnwsXFBbNnz0b//v2xY8cOWFlZmWpzSjVjPLiPD+0jIqLiYvLwk5iYiIkTJ+LYsWOoUaOG3rxvv/0WlpaWmDJlCiwsLFC7dm1cv34dsbGx6Nq1KzIzM7FixQqMHDkSLVu2BADMmTMHzZs3xy+//IKgoKDi3yAZKMoH9+X00D6AD+4jIiLjMXn4+euvv2BpaYnvv/8eCxYswO3bt6V58fHx8PPzg4XFv8P09/fHkiVLcP/+fdy5cwf//PMPmjZtKs13cHCAu7s74uLiXin8WFgYftolp89dymm+QqEw2h91qV0FjN5HUspT3Ln/ik8tVgAWKhWyNBrghY8Jq+xkJ80vDbUqsj4U/35X/P8PJXI7iquPl+qla5enVXOX3+8x0sd6Gc4camby8BMYGIjAwMAc5yUkJECtVutNq1y5MgDg7t27SEhIAABUqVIl2zK6eYWhVCrg6Ghf6PXzO4Xz/PoWVaHbz7NtpVL6XpL6sFDpt1NSt6O4+nixXiV5O4qrD129dL9seZo1f6yRYVgvw5myZiYPP3lJT0/Pdt2OtbU1ACAjIwNpaWkAkOMyjx49KnS/Wq1AaupTg9dTqZRwcLBFampajp/grZuv0WiRlaUp9PjyotFqpe8loo9cjvyUuO0orj5yqFeJ3I7i6uOleunel7m9Ryn/32Okj/UynLFq5uBgW+CjSWYdfmxsbJCZmak3LSMjAwBgZ2cHGxsbAEBmZqb0b90ytravliizsgr/gjwPN7mvL4TQu76lKEntCpSIPnSnbl5uq6RtR3H1kVO9SuJ2FFcfL9dL125+71FijQzFehnOlDUz65OULi4uSEpK0pum+9nZ2Vk63ZXTMs7OzsUzSCIiIipRzDr8+Pr64sSJE9Bo/j0EfvToUdSsWRMVKlRA3bp1UaZMGRw7dkyan5qairNnz8LX19cUQyYiIiIzZ9bhp2vXrnjy5AnGjh2Ly5cvY8uWLVi5ciVCQkIAPL/Wp2fPnoiMjMTevXtx/vx5DB8+HC4uLmjdurWJR09ERETmyKyv+alQoQKWLVuGiIgIdO7cGZUqVUJYWBg6d+4sLTNs2DBkZWVh3LhxSE9Ph6+vL5YvXw5LS0sTjpyIiIjMlVmFn5kzZ2ab5unpiY0bN+a6jkqlwqhRozBq1ChjDo2IiIhKCbM+7UVERERU1Bh+iIiISFYYfoiIiEhWGH6IiIhIVhh+iIiISFYYfoiIiEhWGH6IiIhIVhh+iIiISFYYfoiIiEhWGH6IiIhIVhh+iIiISFYYfoiIiEhWGH6IiIhIVhh+iIiISFYsTD0AIqLiplIZ9/99Wq2AViuM2gcRFR7DDxHJRlk7S2i1Ag4OtkbtR6PV4mHKUwYgIjPF8ENEsmFjbQGlUoFvdp1H4oN/jNJHZSc7fNS2HpRKBcMPkZli+CEi2UlKforb956YehhEZCK84JmIiIhkheGHiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIUPOSQiMgJ+fhiR+WL4ISIqQvz8MCLzx/BDRFSE+PlhROaP4YeIyAj4+WFE5osXPBMREZGsMPwQERGRrDD8EBERkaww/BAREZGslIjwk5iYCDc3t2xfW7ZsAQCcO3cOPXv2hJeXFwIDA7F69WoTj5iIiIjMVYm42+v8+fOwtrbGnj17oFAopOlly5ZFSkoK+vTpg8DAQEyePBmnTp3C5MmTYW9vj65du5pw1ERERGSOSkT4uXjxImrUqIHKlStnm7dq1SpYWlpiypQpsLCwQO3atXH9+nXExsYy/BAREVE2JeK014ULF1C7du0c58XHx8PPzw8WFv/mOH9/f/z999+4f/9+cQ2RiIiISogSc+TH0dERPXr0wLVr1/Cf//wHgwcPRosWLZCQkAC1Wq23vO4I0d27d1GxYsVC9WlhYXgu1H2WT26f6aObrlAo9E7fFSWpXQVKRh+Kf78r8G9bJW47iquPHOpVIrejuPp4qV4ldjty6cMYnx+W3+8x0sd6Gc4camb24ScrKwtXr16Fq6srRo8ejTJlymDnzp0YOHAgvv76a6Snp8PKykpvHWtrawBARkZGofpUKhVwdLQv9Jjz+0wflUoJCwtVodvPs22lUvpekvqwUOm3U1K3o7j6eLFeJXk7iqsPXb1K+nZIffz/Hw1jfn6YsT+brLRhvQxnypqZffixsLDAsWPHoFKpYGNjAwBo0KABLl26hOXLl8PGxgaZmZl66+hCj52dXaH61GoFUlOfGryeSqWEg4MtUlPToNFoc52v0WiRlaUp1Njyo9Fqpe8log/F8z9MWRoN8MJHFJW47SiuPnKoV4ncjuLq46V6ldjteLmP///9ktvvmleR3+8x0sd6Gc5YNXNwsC3w0SSzDz8AYG+f/ShMnTp18Pvvv8PFxQVJSUl683Q/Ozs7F7rPrKzCvyDPw03u6wshIIRxPoxQalegRPQhnep6qa2Sth3F1UdO9SqJ21Fcfbxcr5K6Hbn1kd/vmldhzLZLI9bLcKasmdmfpLx06RJ8fHxw7Ngxvel//vknXF1d4evrixMnTkCj+fd/WEePHkXNmjVRoUKF4h4uERERmTmzDz+1a9dGrVq1MGXKFMTHx+PKlSuYMWMGTp06hcGDB6Nr16548uQJxo4di8uXL2PLli1YuXIlQkJCTD10IiIiMkNmf9pLqVRi8eLFiIqKwmeffYbU1FS4u7vj66+/lu7yWrZsGSIiItC5c2dUqlQJYWFh6Ny5s4lHTkRERObI7MMPAFSsWBEzZszIdb6npyc2btxYjCMiIiKiksrsT3sRERERFSWGHyIiIpIVhh8iIiKSFYYfIiIikhWGHyIiIpIVhh8iIiKSFYYfIiIikhWGHyIiIpKVEvGQQyIiKn5KpQJKpcKofWi1AlqtcT4Alig3DD9ERJSNQqFAeUdbqJTGPUGg0WrxMOUpAxAVK4YfIiLKRqlUQKVUYv3P55CU/NQofVR2ssNHbetBqVQw/FCxYvghIqJcJSU/xe17T0w9DKIixQueiYiISFZ45IeIqIRSqYr+/6+6No19oTORKTH8EBGVMGXtLKHVCjg42BqtjzJlbIzWNpGpMfwQEZUwNtYWUCoV+GbXeSQ++KdI21YoFFCplHCtVg5tm9WEQsEjQHJj7EccGOOIpaEYfoiISihjXIysUChgYaGCk4N1kbabl+L4Y8jnCRWMUqlAeUc7oz/iQKsVJg3WDD9ERGQSxXH6TofPEyqY4njEgXMFe3RvU9ek15Ux/BARkUkY8/Tdi/g8IcMZ8xEH5nAqleGHiIhMis8SouJm+quOiIiIiIoRww8RERHJCsMPERERyQqv+SEiIioCxn4+DsBb9osKww8REcmCMT8OxMJCBTt7K6M/H4e37BcNhh8iIirViuN5QmXLPv84EGM+H4e37Bcdhh8iIirVivPjQO6lpPG2/RKA4YeIiGShtHwcCL063u1FREREssLwQ0RERLLC8ENERESywvBDREREssLwQ0RERLLC8ENERESywlvdiYiIShBjPKm6ONo2J6Ui/Gi1WsTExOC7777D48eP4evriwkTJqB69eqmHhoREVGRKI4nVctFqQg/CxcuxPr16zFz5ky4uLhg9uzZ6N+/P3bs2AErKytTD4+IiOiVGfNJ1TpuNZzQrllNKBTG/YBWUyvx4SczMxMrVqzAyJEj0bJlSwDAnDlz0Lx5c/zyyy8ICgoy7QCJiIiKkDGeVK1TyVEeR5VK/Mm98+fP459//kHTpk2laQ4ODnB3d0dcXJwJR0ZERETmSCGEKNEfDfvLL79g6NChOH36NGxsbKTpn376KdLT07FkyRKD2xRCFOoTcxUKQKlUQqvVIqeq6uY/eZoJjZE+kdfSQgk7G0v2wT7YB/tgH8XYD/soOJVSgTJ2Vrn+rSwspVJR4NN1Jf60V1paGgBku7bH2toajx49KlSbzz+lt/DnO5XKvA+olbEz/nVI7IN9sA/2wT6Kvx/2UXD5/a00at8m67mI6I72ZGZm6k3PyMiAra08zl0SERFRwZX48FOlShUAQFJSkt70pKQkODs7m2JIREREZMZKfPipW7cuypQpg2PHjknTUlNTcfbsWfj6+ppwZERERGSOSvw1P1ZWVujZsyciIyPh5OSEqlWrYvbs2XBxcUHr1q1NPTwiIiIyMyU+/ADAsGHDkJWVhXHjxiE9PR2+vr5Yvnw5LC0tTT00IiIiMjMl/lZ3IiIiIkOU+Gt+iIiIiAzB8ENERESywvBDREREssLwQ0RERLLC8ENERESywvBDREREssLwQ0RERLLC8FNEtFot5s2bh+bNm8PLywsDBgzAzZs3TT0ss7RkyRIEBwfrTTt37hx69uwJLy8vBAYGYvXq1SYanXl4+PAhJkyYgBYtWsDHxwfdu3dHfHy8NP/IkSPo0qULGjZsiLZt22Lnzp0mHK15ePDgAUaNGgV/f394e3tj4MCBuHLlijSf+1jurl27Bm9vb2zZskWaxnrpS0xMhJubW7YvXc1Yr5xt27YN7777Ljw8PNC+fXv89NNP0rxbt24hJCQEPj4+ePPNNzF37lxoNJriGZigIjF//nzRpEkTsW/fPnHu3DnRt29f0bp1a5GRkWHqoZmVtWvXirp164qePXtK05KTk0WTJk3EmDFjxOXLl8WmTZuEh4eH2LRpkwlHalp9+vQRQUFBIi4uTly9elVMnjxZeHp6iitXrojLly8LDw8PER0dLS5fviyWLVsm3N3dxeHDh009bJP68MMPxQcffCBOnz4tLl++LIYOHSrefPNN8fTpU+5jecjMzBRdunQRarVabN68WQjB92RO9u/fLzw8PERiYqJISkqSvtLS0livXGzbtk24u7uLtWvXiuvXr4uFCxeKunXriv/9738iMzNTtG7dWgwcOFBcuHBB7N69W/j5+YmvvvqqWMbG8FMEMjIyhLe3t1i3bp007dGjR8LT01Ps2LHDhCMzHwkJCSIkJER4eXmJtm3b6oWfxYsXizfffFM8e/ZMmhYVFSVat25tiqGa3N9//y3UarWIj4+Xpmm1WtGqVSsxd+5cMX78ePH+++/rrTNixAjRt2/f4h6q2Xj48KEYMWKEuHDhgjTt3LlzQq1Wi9OnT3Mfy0NUVJTo1auXXvhhvbKLjY0VHTp0yHEe65WdVqsVAQEBYubMmXrT+/btKxYvXix27NghGjRoIB4+fCjN27Bhg/Dx8SmWgwY87VUEzp8/j3/++QdNmzaVpjk4OMDd3R1xcXEmHJn5+Ouvv2BpaYnvv/8eDRs21JsXHx8PPz8/WFj8+1Fz/v7++Pvvv3H//v3iHqrJOTo6IjY2Fh4eHtI0hUIBhUKB1NRUxMfH6+1rwPN6nThxAkKmn1ZTrlw5REVFQa1WAwCSk5OxcuVKuLi4wNXVlftYLuLi4rBx40bMnDlTbzrrld2FCxdQu3btHOexXtldu3YNt2/fRocOHfSmL1++HCEhIYiPj0f9+vVRrlw5aZ6/vz+ePHmCc+fOGX18DD9FICEhAQBQpUoVvemVK1eW5sldYGAg5s+fj+rVq2ebl5CQABcXF71plStXBgDcvXu3WMZnThwcHPDWW2/ByspKmrZr1y5cv34dzZs3z7VeaWlpSElJKe7hmp3x48ejadOm2LlzJyIiImBnZ8d9LAepqakICwvDuHHjsv3uYr2yu3jxIpKTk9GjRw80a9YM3bt3x8GDBwGwXjm5du0aAODp06fo168fmjZtig8++AC//vorANPXjOGnCKSlpQGA3h8rALC2tkZGRoYphlSipKen51g7AKwfgP/9738YM2YMWrdujZYtW+ZYL93PmZmZphiiWfn444+xefNmBAUFITQ0FH/99Rf3sRxMmjQJ3t7e2f5nDvA9+bKsrCxcvXoVjx49wtChQxEbGwsvLy8MHDgQR44cYb1y8OTJEwBAeHg4goKCsGLFCrzxxhsYMmSIWdTMIv9FKD82NjYAnv/h0f0beP4C2trammpYJYaNjU22P9q6nd/Ozs4UQzIbe/bswciRI+Hj44PIyEgAz39BvFwv3c/c3wBXV1cAQEREBE6fPo21a9dyH3vJtm3bEB8fjx07duQ4n/XSZ2FhgWPHjkGlUkm/4xs0aIBLly5h+fLlrFcOLC0tAQD9+vVD586dAQD16tXD2bNn8fXXX5u8ZjzyUwR0h4yTkpL0piclJcHZ2dkUQypRXFxccqwdAFnXb+3atRg6dCgCAgKwePFi6X9FVapUybFednZ2KFu2rCmGanLJycnYuXMnsrKypGlKpRKurq5ISkriPvaSzZs348GDB2jZsiW8vb3h7e0NAJg4cSL69+/PeuXA3t5e7z+3AFCnTh0kJiayXjnQbbfuOjwdV1dX3Lp1y+Q1Y/gpAnXr1kWZMmVw7NgxaVpqairOnj0LX19fE46sZPD19cWJEyf0nu9w9OhR1KxZExUqVDDhyExn/fr1mDp1Knr06IHo6Gi9w8ONGzfG8ePH9ZY/evQofHx8oFTK8y19//59jBgxAkeOHJGmPXv2DGfPnkXt2rW5j70kMjISP/74I7Zt2yZ9AcCwYcMQERHBer3k0qVL8PHx0fsdDwB//vknXF1dWa8c1K9fH/b29jh9+rTe9IsXL+L111+Hr68vzp49K50eA57XzN7eHnXr1jX+AI1+P5lMREdHCz8/P7Fnzx695/xkZmaaemhmJzw8XO9W9/v37wtfX18RHh4uLl26JDZv3iw8PDzEli1bTDhK07l69aqoX7++CA0N1XueSFJSkkhNTRUXL14U9evXF7NnzxaXL18Wy5cv53N+hBD9+/cXrVu3FsePHxcXLlwQI0aMEL6+vuL27dvcxwrgxVvdWS99Go1GdO3aVbz77rsiLi5OXL58WUyfPl00aNBAXLhwgfXKxYIFC4S3t7fYsWOH3nN+jh49KtLT00WrVq1Ev379xLlz56Tn/MyfP79YxsbwU0SysrLErFmzhL+/v/Dy8hIDBgwQN2/eNPWwzNLL4UcIIU6fPi3++9//igYNGoiAgACxZs0aE43O9BYtWiTUanWOX+Hh4UIIIQ4cOCCCgoJEgwYNRNu2bcXOnTtNPGrTS01NFRMnThRvvPGG8PT0FH379hUXL16U5nMfy9uL4UcI1utl9+7dE6NHjxZvvPGG8PDwEB9++KGIi4uT5rNeOVuxYoUIDAwU9evXFx07dhS7d++W5v3999+iT58+wsPDQ7z55pti7ty5QqPRFMu4FELI9MEgREREJEvyvECAiIiIZIvhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4iIiGSF4YeIiIhkheGHiIiIZIXhh4ioiPHxaSUfX8PSjeGHSrzg4GC4u7vjzJkzOc4PDAzE6NGji2Uso0ePRmBgYLH0lZctW7bAzc0Nt27deqV2zGV7SpITJ05g4MCBeS5TVHW9cOEC3nvvPTRo0ADvvvtukb3ucrd3716Eh4ebehhkRBamHgBRUdBoNBgzZgy2bNmi9yGg9GqGDBmCXr16mXoYJcp3332HK1euFEtfCxYswJ07d7BgwQI4OTmhatWq2LhxIypXrlws/ZdWK1euNPUQyMgYfqhUKFu2LC5duoQFCxZg+PDhph5OqfH666+begiUh5SUFKjVarz11lvSNCcnJxOOiKhk4GkvKhXq1auH9957D8uWLcOff/6Z57IajQbr1q1Dhw4d4OnpiZYtWyIyMhIZGRnSMqNHj0a/fv2wceNGtGrVCp6enujWrRuuXbuGffv2oUOHDmjYsCE++OADnDt3LlsfGzduRMuWLeHp6YmPP/4YZ8+eleZt2bIF7u7u+O677/DGG2/Az88Ply9fBgDs2bMHXbp0gYeHB9544w1MmzYNT58+zXN7tFotFi5ciJYtW6Jhw4YYMmQIHj16lG25ixcvIiQkBD4+PvDx8UFoaChu3ryZZ9svn54pSO2Cg4MRHBys186xY8fg5uaGY8eO5VmDGzduYNCgQWjSpAkaNmyIDz/8EAcOHMhzjOnp6YiKikLr1q3RoEED+Pj4oE+fPtLrsmPHDri5ueHixYt66+3Zswdubm7Sa3P+/Hl88skn8Pf3R/369dG8eXNMmzYN6enp0jpubm5Yt24dxo4dCz8/P3h7e+PTTz/F/fv3pXpt3boVt2/fhpubG7Zs2ZLn2F/03XffoX379mjQoAFatmyJ+fPnQ6PR5Lq8m5sbjh8/jri4OKmvl097jR49Gr1798bmzZvRpk0bNGjQAJ06dcLBgwf12oqLi0O/fv3g6+uLBg0aIDAwEPPnz4dWqwUA3Lp1C25ubvjpp58wbNgweHt7w8/PD+PGjdPbP4UQWLlyJdq1awdPT0+88847WL58ud71M/Hx8ejZsycaNmwIPz8/hIeHIzk5WZq/ZcsWeHh4ID4+Hl27doWHhwfatGmDX3/9FVevXsXHH3+Mhg0b4p133sHOnTv1tuPOnTsYMWIE/Pz80LBhw2zvvYJsR3BwMI4fP47jx4/r7bNUujD8UKnxxRdfwNHREWPGjEFmZmauy02YMAEzZsxAq1atsGjRIvTo0QNr167FkCFD9H5Jnzx5EmvXrsXo0aMxY8YMXLlyBQMHDsSMGTMQEhKC6Oho3L17FyNHjtRrPyEhATExMfjss88QHR2NR48eITg4GHfu3JGW0Wg0WLFiBSIiIjBmzBjUrl0bO3bsQGhoKGrVqoUFCxbgk08+wffff59tXC+bPXs2FixYgPfffx8xMTEoX748oqKi9Ja5du0aunXrhgcPHuDLL79EREQEbt68ie7du+PBgwcFrnFBa1cQL9egZs2aCAkJQVpaGmbNmoWFCxeifPnyGDx4MK5fv55rO2FhYdi8eTMGDhyIFStWYMyYMbh06RI+//xzCCHQqlUr2NnZZftD+cMPP6BOnTpwd3dHUlISevTogbS0NMycORNLly5F+/btsWbNGqxevVpvvTlz5kCr1SI6OhphYWHYt28fpk+fDuD5acK33noLlSpVkgJwQSxZsgTjx49H06ZNsXjxYvTo0QNLly7F+PHjc11n48aNcHd3h7u7e559/fnnn1i+fDmGDRuGBQsWQKVSYejQoVJAPn/+PHr37o3y5ctjzpw5WLRoERo3boyYmBj89NNPem1NnDgRVatWxcKFC9GvXz9s2rQJixYtkubPmjULs2bNQmBgIBYvXoz3338fkZGRiI2NBfA8ZPXu3Rs2NjaYO3cuvvjiCxw/fhy9evXSC5lZWVn4/PPP0a1bNyxatAi2trYYOXIkBg0ahJYtW2Lx4sWoXLkywsPDkZCQAABITk5Gt27d8Ndff2H8+PGIioqCVqtFjx49sp2GzGs7Jk6cqFfX+vXrF+g1pBKmWD47nsiIevbsKXr27CmEEGLv3r1CrVaL6OhoaX5AQIAIDw8XQghx6dIloVarxZIlS/Ta2LZtm1Cr1WL//v1CCCHCw8OFWq0Wly9flpaZMGGCUKvV4vDhw9K05cuXC7VaLR49eqS33unTp6VlkpKShKenp5g5c6YQQojNmzcLtVottm3bJi2j1WpFixYtRL9+/fTGdfjwYaFWq8W+ffty3PZHjx6J+vXri9mzZ+tN79evn1Cr1eLmzZtCCCFGjBghmjVrJh4/fiwtk5KSIho1aiSNKyfh4eEiICDAoNq9+HroHD16VKjVanH06NFca5CUlCTUarX4/vvvpWmpqali+vTp4uLFizmOLyMjQ/Tt21fs3LlTb/qKFSuEWq0WSUlJ0na0atVKmv/kyRPh6ekpbctvv/0mevTooVcfIYQICgoSffv2lX5Wq9Wie/fuesuMHj1aeHl55Viz3Ly4TGpqqvD09BQTJkzQW+bbb78VarU6120XInutdXXVve66/fH69evSMsePHxdqtVr8/PPPQgghtm7dKvr37y80Go20jEajEY0aNRLjx48XQghx8+ZNoVarxciRI/X6Dw4OFkFBQUKI5/uiu7u7iIiI0Ftm6tSp0n794YcfiqCgIJGVlSXNv3r1qqhXr55Yu3at3jasX79eWmbnzp1CrVaLuXPnStPOnDkj1Gq12L17txBCiOjoaOHh4SFu3bolLZORkSHefvttMXTo0AJvR051pdKHR36oVAkMDETHjh2xbNky/PXXX9nmHz9+HADQvn17vent27eHSqXSO8Rdrlw51K5dW/q5YsWKAICGDRtK08qXLw8ASE1NlaZVr14dnp6e0s+VKlWCl5cX4uLi9PqsV6+e9O+rV68iISEBgYGByMrKkr58fX1RpkwZHDp0KMftPXXqFJ49e4aAgAC96e3atdP7+ejRo/Dz84ONjY3UdpkyZdC4cWMcPnw4x7ZfZkjtCurFGlSsWBGurq4YP348wsPDsWPHDmi1WowZMwZ16tTJcX0rKyssX74c7777LhITE3H06FFs2LAB+/btAwDpCGCnTp1w48YN/PHHHwCe382TmZmJjh07AgDefPNNrF27FtbW1rh8+TL27t2LRYsWITk5OdtRRC8vL72fXVxckJaWZvC265w8eRLp6enZXnvd6cbcXvuCcnJy0rt2y8XFBQCkMb/33ntYunQpnj17hvPnz2PXrl2YN28eNBoNnj17ptdWTtuuO1106tQpZGVloXXr1nrLjBs3DsuWLUNaWhpOnz6Nt956C0IIaTurV6+O2rVrZ9tOb29v6d8VKlQAkPd778iRI6hXrx6cnZ2ltpVKJVq0aJFtH89rO0geeMEzlTrjxo3DkSNHMGbMGGzevFlvnu5Qf6VKlfSmW1hYwNHREY8fP5amlSlTJsf27ezs8uxfF5JeVKFCBdy9ezfXdh4+fAgAmDx5MiZPnpxt/aSkpBz70m2Po6Oj3vSXt+/hw4f48ccf8eOPP2Zro6AXyBpSu4J6sQYKhQIrVqzAokWLsHv3bmzbtg2WlpZo1aoVJk+ejHLlyuXYxm+//Ybp06fj6tWrsLe3R926daV2xf+fimvSpAmcnZ2xc+dOeHp6YufOnfDz85OCgO401rp16/D06VNUqVIFnp6esLa2ztafra2t3s9KpfKVngmje+1zuz0+t9e+oF4er0KhAADpep709HRMnToV27dvR1ZWFqpVqwZvb29YWFhk2668tl23HbntT6mpqdBqtVi6dCmWLl2abf7Ltc7p/fdy/y96+PAhrl+/nutpqhcDalG/hlTyMPxQqVOuXDlMmjQJoaGhWLhwYbZ5AHDv3j1UrVpVmv7s2TOkpKRkCxGFkdPFxvfu3cszZDg4OAB4fv2Kn59ftvm5/eHXjffBgweoVauWNF33h0inbNmyaNasGfr06ZOtDQuLgv0aMKR2L1+oW9D/VTs7O2PSpEmYOHEizp8/j59//hlLly6Fo6MjJk6cmG35GzduIDQ0FK1atcKSJUtQvXp1KBQKrFu3Dr/99pu0nFKpRIcOHfDDDz9g0KBBOHToEKZMmSLNj42NxcqVKzF58mS0bt0aZcuWBQC8//77BRr3q9C99pGRkahRo0a2+TmF6aIUERGBXbt2Ye7cuWjWrJkUHJs2bWpQO7rtSE5O1tsX79y5gxs3bqBBgwZQKBTo3bt3tqOHQN7BpiDKli0LPz8/hIWF5Tifj8CgF/G0F5VKrVq1QlBQEGJjY/XuJNEFi5cvft25cyc0Gg0aNWr0yn1fu3YNN27ckH6+e/cuTp48iSZNmuS6Tq1atVChQgXcunULHh4e0pezszOioqL07lh5kbe3N2xsbPDzzz/rTded9tHR3U1Vr149qe0GDRpg5cqV2L17d4G2q6C1K1OmjHQRqs6JEyfybf/kyZNo1qwZ/vjjDygUCtSrVw/Dhw+HWq3Wu1j8RX/++ScyMjIwcOBAvP7669JRDV3wefF/8506dUJCQoJ00e+Lp2dOnDgBV1dXdO3aVQo+iYmJuHjxonSEpKCUSsN+rTZs2BCWlpZITEzUe+0tLCwQHR1t9AcWnjhxAk2aNJEuDAee1zU5Odmgbff09ISlpWW2fW/FihUYMWIE7Ozs4O7ujqtXr+ptZ506dTB//vxXvqvKz88P165dQ82aNfXa3759OzZt2gSVSlXgtgx9Dank4ZEfKrXGjx+Po0ePSrchA4Crqys6d+6MefPmIS0tDb6+vjh37hxiYmLQpEkTNG/e/JX7tba2xuDBgzF8+HBoNBp89dVXKF++PD7++ONc11GpVBg+fDgmTJgAlUqFgIAApKamYuHChUhMTMz1UL69vT2GDBmCuXPnwtbWFv7+/jhw4EC2P0BDhgxBt27dEBISgu7du8Pa2hobN27Enj17MG/evAJtV0FrFxAQgF9//RUzZsxAYGAg4uPjsW3btnzbd3d3h42NDcLCwjB06FBUrFgRhw8fxrlz53J90GL9+vVhYWGB2bNno2/fvsjMzMSWLVuwf/9+APpHnNRqNerVq4f169ejXbt2eqdVPD09sXDhQsTGxsLLywvXr1/HkiVLkJmZafD1PA4ODrh//z4OHDiAevXq5fvAQUdHR/Tv3x9fffUVnjx5giZNmiAxMRFfffUVFAoF6tata1D/hvL09MRPP/2Eb775BrVr18b58+exaNEiKBQKg7bdyckJvXr1wsqVK2FlZQU/Pz+cPn0a33zzDcLCwqBUKjFixAgMHDgQn3/+OTp27Cjd8Xf69GkMGTLklbajd+/e2L59O3r37o2+ffvC0dERP/74I7799luMGTPGoLYcHBxw8uRJHDlyBO7u7rkeeaWSi+GHSq3y5ctj0qRJ+OSTT/SmR0RE4D//+Q82b96MpUuXonLlyujVqxeGDBlSJP/jc3d3R5s2bTBp0iQ8fvwYTZs2xRdffJHvtTUffPAB7O3tsWzZMmzcuBF2dnbw8fFBZGQkqlevnut6ISEhsLOzw6pVq7Bq1Sp4e3sjPDwckyZNkpapW7cu1q1bhzlz5iAsLAxCCKjVaixYsABvv/12gbetILXr2rUrbty4ga1bt2LDhg3w9fXFvHnz0L179zzbtra2xooVKxAVFYWIiAikpqaiRo0amDJlCrp06ZLjOv/5z38QFRWFmJgYDB48GOXKlYOXlxfWrFmD4OBgxMfHw83NTVq+U6dOmDlzpnSh84s1TElJwerVq7FgwQJUqVIFnTp1gkKhwJIlS5Camiqd1slPly5dcODAAYSGhmLYsGH5ftQFAHz22WeoVKkS1q9fj2XLlqFcuXJo2rQpRowYIR2JMpbRo0fj2bNnmDt3LjIzM1GtWjUMHjwYly9fxq+//prns4ZeNmrUKFSoUAEbNmzAsmXLUK1aNYwfPx7dunUD8PzC8uXLlyMmJgbDhg2DpaUl6tevj6+//jrbRciGcnZ2xoYNGxAVFYVJkyYhIyMDNWrUQEREhMGnL3v06IE///wTAwYMwIwZM9ChQ4dXGhuZH4XgVV5ElIvhw4fj4sWL2U51ERGVZDzyQ0TZ6G4bj4uLg4eHh6mHQ0RUpHhVFxFlc+LECUycOBGOjo749NNPTT0cIqIixdNeREREJCs88kNERESywvBDREREssLwQ0RERLLC8ENERESywvBDREREssLwQ0RERLLC8ENERESywvBDREREsvJ/LANL5UZ4u48AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.histplot(y)\n", + "plt.title(\"Distribution des évènements non censurés\")\n", + "plt.xlabel(\"Nombre de jours avant le financement\")" ] }, { @@ -111,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -137,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -146,25 +337,25 @@ "\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", @@ -178,33 +369,33 @@ " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "
OLS Regression Results
Dep. Variable: day_succ R-squared: 0.012Dep. Variable: day_succ R-squared: 0.017
Model: OLS Adj. R-squared: 0.011Model: OLS Adj. R-squared: 0.015
Method: Least Squares F-statistic: 12.36Method: Least Squares F-statistic: 8.626
Date: Mon, 15 Jan 2024 Prob (F-statistic): 5.40e-10Date: Mon, 15 Jan 2024 Prob (F-statistic): 6.71e-07
Time: 18:32:51 Log-Likelihood: -16973.Time: 23:50:54 Log-Likelihood: -7852.4
No. Observations: 4175 AIC: 3.396e+04No. Observations: 1962 AIC: 1.571e+04
Df Residuals: 4170 BIC: 3.399e+04Df Residuals: 1957 BIC: 1.574e+04
Df Model: 4 coef std err t P>|t| [0.025 0.975]
const 28.8337 0.583 49.488 0.000 27.691 29.976const 17.1439 1.006 17.048 0.000 15.172 19.116
has_video -1.8480 0.557 -3.317 0.001 -2.940 -0.756has_video 2.5783 0.904 2.853 0.004 0.806 4.351
facebook_connected 0.4810 0.473 1.016 0.310 -0.447 1.409facebook_connected 1.2968 0.670 1.936 0.053 -0.017 2.610
goal 5.0693 0.877 5.777 0.000 3.349 6.790goal 32.5965 10.546 3.091 0.002 11.914 53.279
facebook_friends -0.5737 0.245 -2.338 0.019 -1.055 -0.093facebook_friends 0.8303 0.311 2.670 0.008 0.220 1.440
\n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "\n", - " \n", + " \n", "\n", "
Omnibus: 17.062 Durbin-Watson: 0.023Omnibus: 44.454 Durbin-Watson: 0.034
Prob(Omnibus): 0.000 Jarque-Bera (JB): 17.339Prob(Omnibus): 0.000 Jarque-Bera (JB): 46.567
Skew: 0.142 Prob(JB): 0.000172Skew: 0.367 Prob(JB): 7.73e-11
Kurtosis: 3.137 Cond. No. 6.08Kurtosis: 2.827 Cond. No. 56.2


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified." ], @@ -212,13 +403,13 @@ "\\begin{center}\n", "\\begin{tabular}{lclc}\n", "\\toprule\n", - "\\textbf{Dep. Variable:} & day\\_succ & \\textbf{ R-squared: } & 0.012 \\\\\n", - "\\textbf{Model:} & OLS & \\textbf{ Adj. R-squared: } & 0.011 \\\\\n", - "\\textbf{Method:} & Least Squares & \\textbf{ F-statistic: } & 12.36 \\\\\n", - "\\textbf{Date:} & Mon, 15 Jan 2024 & \\textbf{ Prob (F-statistic):} & 5.40e-10 \\\\\n", - "\\textbf{Time:} & 18:32:51 & \\textbf{ Log-Likelihood: } & -16973. \\\\\n", - "\\textbf{No. Observations:} & 4175 & \\textbf{ AIC: } & 3.396e+04 \\\\\n", - "\\textbf{Df Residuals:} & 4170 & \\textbf{ BIC: } & 3.399e+04 \\\\\n", + "\\textbf{Dep. Variable:} & day\\_succ & \\textbf{ R-squared: } & 0.017 \\\\\n", + "\\textbf{Model:} & OLS & \\textbf{ Adj. R-squared: } & 0.015 \\\\\n", + "\\textbf{Method:} & Least Squares & \\textbf{ F-statistic: } & 8.626 \\\\\n", + "\\textbf{Date:} & Mon, 15 Jan 2024 & \\textbf{ Prob (F-statistic):} & 6.71e-07 \\\\\n", + "\\textbf{Time:} & 23:50:54 & \\textbf{ Log-Likelihood: } & -7852.4 \\\\\n", + "\\textbf{No. Observations:} & 1962 & \\textbf{ AIC: } & 1.571e+04 \\\\\n", + "\\textbf{Df Residuals:} & 1957 & \\textbf{ BIC: } & 1.574e+04 \\\\\n", "\\textbf{Df Model:} & 4 & \\textbf{ } & \\\\\n", "\\textbf{Covariance Type:} & nonrobust & \\textbf{ } & \\\\\n", "\\bottomrule\n", @@ -226,18 +417,18 @@ "\\begin{tabular}{lcccccc}\n", " & \\textbf{coef} & \\textbf{std err} & \\textbf{t} & \\textbf{P$> |$t$|$} & \\textbf{[0.025} & \\textbf{0.975]} \\\\\n", "\\midrule\n", - "\\textbf{const} & 28.8337 & 0.583 & 49.488 & 0.000 & 27.691 & 29.976 \\\\\n", - "\\textbf{has\\_video} & -1.8480 & 0.557 & -3.317 & 0.001 & -2.940 & -0.756 \\\\\n", - "\\textbf{facebook\\_connected} & 0.4810 & 0.473 & 1.016 & 0.310 & -0.447 & 1.409 \\\\\n", - "\\textbf{goal} & 5.0693 & 0.877 & 5.777 & 0.000 & 3.349 & 6.790 \\\\\n", - "\\textbf{facebook\\_friends} & -0.5737 & 0.245 & -2.338 & 0.019 & -1.055 & -0.093 \\\\\n", + "\\textbf{const} & 17.1439 & 1.006 & 17.048 & 0.000 & 15.172 & 19.116 \\\\\n", + "\\textbf{has\\_video} & 2.5783 & 0.904 & 2.853 & 0.004 & 0.806 & 4.351 \\\\\n", + "\\textbf{facebook\\_connected} & 1.2968 & 0.670 & 1.936 & 0.053 & -0.017 & 2.610 \\\\\n", + "\\textbf{goal} & 32.5965 & 10.546 & 3.091 & 0.002 & 11.914 & 53.279 \\\\\n", + "\\textbf{facebook\\_friends} & 0.8303 & 0.311 & 2.670 & 0.008 & 0.220 & 1.440 \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "\\begin{tabular}{lclc}\n", - "\\textbf{Omnibus:} & 17.062 & \\textbf{ Durbin-Watson: } & 0.023 \\\\\n", - "\\textbf{Prob(Omnibus):} & 0.000 & \\textbf{ Jarque-Bera (JB): } & 17.339 \\\\\n", - "\\textbf{Skew:} & 0.142 & \\textbf{ Prob(JB): } & 0.000172 \\\\\n", - "\\textbf{Kurtosis:} & 3.137 & \\textbf{ Cond. No. } & 6.08 \\\\\n", + "\\textbf{Omnibus:} & 44.454 & \\textbf{ Durbin-Watson: } & 0.034 \\\\\n", + "\\textbf{Prob(Omnibus):} & 0.000 & \\textbf{ Jarque-Bera (JB): } & 46.567 \\\\\n", + "\\textbf{Skew:} & 0.367 & \\textbf{ Prob(JB): } & 7.73e-11 \\\\\n", + "\\textbf{Kurtosis:} & 2.827 & \\textbf{ Cond. No. } & 56.2 \\\\\n", "\\bottomrule\n", "\\end{tabular}\n", "%\\caption{OLS Regression Results}\n", @@ -251,28 +442,28 @@ "\"\"\"\n", " OLS Regression Results \n", "==============================================================================\n", - "Dep. Variable: day_succ R-squared: 0.012\n", - "Model: OLS Adj. R-squared: 0.011\n", - "Method: Least Squares F-statistic: 12.36\n", - "Date: Mon, 15 Jan 2024 Prob (F-statistic): 5.40e-10\n", - "Time: 18:32:51 Log-Likelihood: -16973.\n", - "No. Observations: 4175 AIC: 3.396e+04\n", - "Df Residuals: 4170 BIC: 3.399e+04\n", + "Dep. Variable: day_succ R-squared: 0.017\n", + "Model: OLS Adj. R-squared: 0.015\n", + "Method: Least Squares F-statistic: 8.626\n", + "Date: Mon, 15 Jan 2024 Prob (F-statistic): 6.71e-07\n", + "Time: 23:50:54 Log-Likelihood: -7852.4\n", + "No. Observations: 1962 AIC: 1.571e+04\n", + "Df Residuals: 1957 BIC: 1.574e+04\n", "Df Model: 4 \n", "Covariance Type: nonrobust \n", "======================================================================================\n", " coef std err t P>|t| [0.025 0.975]\n", "--------------------------------------------------------------------------------------\n", - "const 28.8337 0.583 49.488 0.000 27.691 29.976\n", - "has_video -1.8480 0.557 -3.317 0.001 -2.940 -0.756\n", - "facebook_connected 0.4810 0.473 1.016 0.310 -0.447 1.409\n", - "goal 5.0693 0.877 5.777 0.000 3.349 6.790\n", - "facebook_friends -0.5737 0.245 -2.338 0.019 -1.055 -0.093\n", + "const 17.1439 1.006 17.048 0.000 15.172 19.116\n", + "has_video 2.5783 0.904 2.853 0.004 0.806 4.351\n", + "facebook_connected 1.2968 0.670 1.936 0.053 -0.017 2.610\n", + "goal 32.5965 10.546 3.091 0.002 11.914 53.279\n", + "facebook_friends 0.8303 0.311 2.670 0.008 0.220 1.440\n", "==============================================================================\n", - "Omnibus: 17.062 Durbin-Watson: 0.023\n", - "Prob(Omnibus): 0.000 Jarque-Bera (JB): 17.339\n", - "Skew: 0.142 Prob(JB): 0.000172\n", - "Kurtosis: 3.137 Cond. No. 6.08\n", + "Omnibus: 44.454 Durbin-Watson: 0.034\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 46.567\n", + "Skew: 0.367 Prob(JB): 7.73e-11\n", + "Kurtosis: 2.827 Cond. No. 56.2\n", "==============================================================================\n", "\n", "Notes:\n", @@ -280,7 +471,7 @@ "\"\"\"" ] }, - "execution_count": null, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -294,14 +485,14 @@ "metadata": {}, "source": [ "* Un objectif financier (`goal`) ambitieux signifie plus de temps avant d'atteindre le financement. C'est la variable la plus influente.\n", - "* Avoir une vidéo pour promouvoir le projet est très favorable.\n", + "* Avoir une **vidéo pour promouvoir le projet est très favorable**.\n", "* Plus le compte facebook du projet a d'abonnés, plus la durée de financement est courte. \n", "* `facebook_connected` engendre un problème de multicolinéarité avec `facebook_friends` et n'est donc pas significative. On la retire de l'analyse." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -311,7 +502,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 46, "metadata": {}, "outputs": [ { @@ -320,13 +511,13 @@ "Text(0.5, 1.0, 'Distribution des résidus')" ] }, - "execution_count": null, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj8AAAG1CAYAAAAWb5UUAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA6KklEQVR4nO3deXwV1f3/8fdNQsgCgYCQ0FIqgmGTJYFg8tMgoF+kijyKQGWXVZAgaBQCghSLIEhYZBVkEwFByla3UrFWlAIhVKEtoEXAihrCHpYsJHd+f9BcuWS7CUlubs7r+XjwgDtzZu6ZD3Nv3pk5M2OzLMsSAACAIbzc3QEAAICyRPgBAABGIfwAAACjEH4AAIBRCD8AAMAohB8AAGAUwg8AADAK4QcAABiF8AMYrjzc57Q89AGAOQg/QDnWv39/NWrUyPGncePGCg8P1+OPP641a9YoKyvLqX3Hjh01fvx4l9f/ySefKD4+vtB248ePV8eOHYv9PvlJTU3VuHHjlJSU5JjWv39/9e/f/7bXXVxbtmxRo0aNdOrUKbf1Icdnn32mRo0aaenSpUVabt++fWrUqJH27dtXYLtGjRppwYIFt9NFwCP5uLsDAArWtGlT/f73v5ckZWdn69KlS9q1a5deffVVJSUlad68efLyuvF7zMKFC1WlShWX17169WqX2o0cOVIDBgwoct8Lc+TIEW3fvl3du3d3TMvZVkgLFixQ165dNXz48CIt16xZM23cuFENGzYspZ4Bno3wA5RzVapUUatWrZymdezYUXfddZemTZum999/X127dpV0IyiVhnr16pXKevPCD+wbsrOzNXPmTP3qV78q8rJ57TMAfsZpL8BD9evXTyEhIdqwYYNj2q2no3KCUYsWLRQVFaUXXnhBp0+flnTj9FJiYqISExMdp0hyTpds2LBBHTp0UEREhHbv3p3rtJckXb9+Xa+88ooiIyPVpk0bxcfH6/z58475eZ2+uvl0zL59+xxHkwYMGOBoe+tyGRkZWrRokTp37qzmzZurU6dOWrZsmex2u9N7TZw4UcuWLVP79u3VvHlz9erVS4cOHSqwhna7XYsXL1b79u3VsmVLjRw5UpcuXcrV7ptvvtHw4cMVERGhiIgIxcbG6vvvv3dq89Zbbzn6GBMToylTpujKlSv5vveWLVvUtGlTbdq0Sffdd5/atm2rY8eOSZJ27typnj176re//a06dOigV155RdeuXXMsm56erilTpqhdu3a655571LlzZ61YsSLPOudITEzUE088oZYtW+rhhx/W3//+d6f+5Heq7Nb/j3/961968skn1bp1a4WHh2vgwIH66quvCqgyUP4QfgAP5eXlpejoaB06dCjX2B9JOnDggMaNG6dOnTrpzTff1IQJE7R37149//zzkm6cXmratKmaNm2qjRs3qlmzZo5lFy5cqPj4eE2ePFnh4eF5vv9HH32kf//735oxY4bi4+P1t7/9TcOGDVN2drZL/W/WrJkmT54sSZo8eXKep7ssy9KIESO0fPly9ezZU2+88YY6d+6sefPm5Wq/Y8cOffLJJ5o0aZLmzJmjs2fP6plnnimwP7NmzdKiRYvUo0cPLVy4UNWrV9fs2bOd2pw4cUK9evXSuXPnNHPmTE2bNk3ff/+9evfurXPnzkm6ETJnzZqlvn37asWKFYqNjdX27ds1derUAmuQnZ2tlStXatq0aZowYYIaNGig9957T7Gxsbrrrru0aNEijRo1Sn/60580cuRIx8Dw6dOna9euXYqPj9eKFSv04IMP6rXXXtPmzZvzfJ9///vfGjx4sKpWrar58+drwIABiouLK7Bvebly5YqGDh2q4OBgLViwQHPnzlVaWpqGDBmiy5cvF3l9gLtw2gvwYHfccYeuX7+uixcv6o477nCad+DAAfn5+empp56Sr6+vJKl69er65z//Kcuy1LBhQ8f4oFtPkfTp00edO3cu8L2Dg4O1YsUKBQQEOF7HxsZq165d6tChQ6F9r1KliuMUV8OGDfM83bVr1y79/e9/15w5c/Too49Kku677z75+fnp9ddf14ABA3T33XdLkrKysrRixQrHNl29elXx8fE6cuSI7rnnnlzrTk1N1dtvv61BgwZp1KhRkqSYmBilpKTo888/d7RbuHCh/P39tXr1ase6o6Oj9dBDD2n58uWKj49XYmKi6tatq759+8rLy0tt27ZVQEBAnkeRbjVixAi1b99e0o2wl5CQoJiYGCUkJDja3HnnnRo4cKA+++wztW/fXomJibrvvvscNbn33nsVEBCgmjVr5vkeS5cuVc2aNbVkyRJVqlRJ0o3/r+eee67Q/t3s2LFjunDhggYMGKCIiAhJ0l133aWNGzfq6tWrqlq1apHWB7gLR34AD5ZzJMBms+WaFxkZqbS0NHXp0kWzZ89WUlKS7r//fo0aNSrP9jdr0qRJoe/9wAMPOIKPdOOUm4+Pj/bv31/ErchfYmKifHx8cgWxnDFOiYmJjmk3hzlJCgkJkSSlpaXlue6vvvpK169fzxXUfvOb3zi93rt3r9q2bSs/Pz9lZWUpKytLVapUUZs2bRynjqKionTixAk9/vjjWrhwof75z3/qsccec+mqtZtrffz4cSUnJ6tjx46O98rKylJkZKSqVKmi3bt3S7oRdt59910NGzZMa9eu1ffff6/Y2FhHiLrVgQMHFBMT4wg+ktSpUyd5e3sX2r+b3X333apRo4ZGjBihyZMn6+OPP9Ydd9yhsWPHKjQ0tEjrAtyJ8AN4sNOnT8vPz0/Vq1fPNS88PFzLli3Tr371K61atUp9+/ZVu3bt9Pbbbxe63ptDTX5q1arl9NrLy0vBwcFKTU11uf+FuXTpkoKDg3P9kM5575tPtfj7++fqjySnsUG3rlu6cQQkr3XnuHjxoj788EM1a9bM6c+nn36qlJQUSdIjjzyi2bNnKyAgQIsXL1aPHj304IMP6sMPPyx0G2+u9cWLFyVJL7/8cq73u3LliuP9Jk6cqGeffVanTp3S1KlT9dBDD6lXr146evRovtt663b6+PjkmlaYwMBArVu3Tg888IA++ugjjRo1StHR0Zo8ebIyMzOLtC7AnTjtBXiorKws7du3TxEREfn+Bh8TE6OYmBilpaVp7969WrNmjV555RW1bNlSLVq0uK33z/lBnSM7O1sXLlxwOvVy63ibmwftuqJatWq6cOGCsrOznbYxJwQU9Yf3zXKWPXfunO666y7H9Fu3q2rVqvp//+//adCgQbnW4ePz81doly5d1KVLF12+fFlffPGF3nzzTY0dO1atW7d2HIUqTFBQkCRp3Lhxatu2ba751apVkyT5+vrq6aef1tNPP60ff/xRn376qRYvXqznn39eH3zwQa7lqlevrrNnzzpNsyzL6bRcztHAW8Pi1atXFRgY6Hh91113adasWcrOztahQ4e0fft2vfPOO6pXr56GDh3q0nYC7saRH8BDbdy4UWfOnFHv3r3znD9z5kx1795dlmXJ399fHTp0cNzQ8Mcff5T089GR4ti9e7fTQOsdO3YoKytL9957r6QbY3qSk5Odljlw4IDT68JOu7Rt21ZZWVn685//7DT9T3/6kySpdevWxe5/eHi4/Pz8cq37008/zdWHY8eOqUmTJmrevLmaN2+ue+65R6tXr9bHH38sSXr22WcVGxsr6UZY+s1vfqORI0cqKyvLEdRccdddd6lmzZo6deqU472aN2+ukJAQzZ49W4cPH1Z6eroefvhhrVy5UpL0i1/8Qn379tWjjz7q+H+9VXR0tHbt2uV0CvDzzz/X9evXHa9zThne/H926dIlffvtt47Xf/7znxUVFaUzZ87I29tb4eHhmjJlioKCgvJ9b6A84sgPUM5duXLFcSmx3W7XhQsX9MUXX2jjxo3q2rWrOnXqlOdyUVFRWrVqlcaPH6+uXbvq+vXrWr58uapXr66oqChJN440fPnll9qzZ0+R7xF05swZPfPMM+rfv79OnjypOXPm6L777lN0dLQkqUOHDvrrX/+qV199VR07dlRSUpK2bdvmtI6cAbJ/+9vfVK1aNTVu3Nhpfrt27XTvvfdq0qRJOn36tBo3bqzExES9+eab6tat223dEygwMFAjR47UvHnz5O/vr6ioKH322We5ws/IkSPVq1cvDR8+XL1791blypW1ceNG7dy5U/Pnz5d0o9a///3vNXPmTLVr106pqalauHCh7rzzzlzbVBBvb28999xzmjx5sry9vdWhQwelpqZq8eLFOn36tJo1ayY/Pz81a9ZMCxcuVKVKldSoUSOdOHFCW7du1cMPP5znemNjY7Vz504NGTJEQ4cO1fnz5zVv3jynMUCNGjVSnTp1tGjRIlWpUkU2m01Lly51Op0YEREhu92u2NhYPfXUUwoMDNRHH32ky5cv57sfAuUR4Qco5w4fPqwnnnhC0o1TE4GBgQoLC9OUKVPUs2fPfJd74IEHlJCQoJUrVzoGObdu3Vpr1qxxjBHq27ev/vWvf2nYsGF69dVXVbt2bZf71adPH12+fFmxsbHy9fXVY489prFjxzpOn3Tv3l3//e9/tXXrVm3YsEGRkZGaP3++05Gqu+++W126dNG6dev0+eef6/3333d6j5wfwPPnz9fq1at1/vx51a1bV3FxcXmehiqq4cOHKyAgQG+99ZbeeusthYeHKz4+XlOmTHG0ady4sdatW6e5c+dq3LhxsixLYWFhWrRokR588EFJUq9evXT9+nVt2LBB69evl5+fn6KjozV27FingOGKnj17KjAwUMuXL9fGjRsVEBCg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u1aPPfaYpk2bxpVdAADAoxTrPj9nz55Vjx49CD4AAMDjFCv8NG3aVP/5z39Kui8AAAClrlinvV588UU9++yzCggIUMuWLeXv75+rzS9+8Yvb7hwAAEBJK1b46d27t+x2u1588cV8BzcfOXLktjoGAABQGooVfqZOncoVXQAAwCMVK/w8/vjjJd0PAACAMlGs8LN///5C20RGRhZn1QAAAKWqWOGnf//+stlssizLMe3W02CM+QEAAOVRscLPmjVrck27du2akpKStH37di1YsOC2OwYAAFAaihV+2rZtm+f09u3bKyAgQEuWLNHSpUtvq2MAAACloVg3OSxImzZtlJiYWNKrBQAAKBElHn7++te/KjAwsKRXCwAAUCKKddprwIABuabZ7XYlJyfrhx9+0LBhw267YwAAAKWhWOHn5qu8cnh5eSksLEzDhw9X9+7db7tjAAAApaFY4eftt98u6X4AAACUiWKFnxy7du1SYmKiUlNTVaNGDbVu3VoxMTEl1TcAAIASV6zwk5mZqZEjR+qLL76Qt7e3goODdeHCBS1dulRRUVFaunSpfH19S7qvAAAAt61YV3stWLBABw4c0GuvvaZDhw7piy++0MGDB/Xqq6/qq6++0pIlS0q6nwAAACWiWOHn/fff16hRo9S1a1d5e3tLknx8fPTb3/5Wo0aN0nvvvVeinQQAACgpxQo/58+fV9OmTfOc17RpU50+ffq2OgUAAFBaihV+6tWrpwMHDuQ5b//+/apTp85tdQoAAKC0FGvAc69evTRjxgz5+fnp0Ucf1R133KGzZ8/q/fff15tvvqlRo0aVdD8BAABKRLHCT+/evXX48GElJCRo9uzZjumWZalbt2566qmnSqyDAAAAJanYl7pPmzZNgwcPVmJioi5duiSbzaaHHnpIDRo0KOk+AgAAlJgijfn5+uuv1b17d61atUqS1KBBA/Xu3Vt9+vTR66+/rri4OJ04caJUOgoAAFASXA4/p06d0oABA3T27FnVr1/faV6lSpU0btw4Xbx4UX369OFqLwAAUG65HH6WLVum6tWra+vWrercubPTPH9/fw0cOFB//OMfVblyZS1durTEOwoAAFASXA4/e/bs0dChQ1WjRo1829SqVUuDBw/W7t27S6RzAAAAJc3l8JOSkqI777yz0HZhYWFKTk6+nT4BAACUGpfDT40aNZSS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vn37as6cOU6nckz+DJ09e1ZxcXFOl/Vfv35dhw8fVoMGDUpnvyn+xWnwNBkZGVbXrl2tHj16WP/85z+tf/3rX9aTTz5pdezY0bp8+bJlWZb1zTffWM2aNbNmzZplHTt2zFqxYoXVtGlT6+9//7ube1+69u7da4WFhVlTp061UlJSnP5cuXLFsizL+vzzz60mTZpYK1eutI4dO2bNnDnTatGihXXs2DE3975s9evXL9el7qbuNznmzJljtW3b1tq5c6d15MgRa/DgwVanTp2szMxMd3fNreLj450udT979qwVGRlpxcfHW//5z3+szZs3W82bN7e2bNnixl6WjePHj1vNmjWzYmNjc33HpKamGv8ZGjp0qNWpUycrMTHR+vrrr624uDgrMjLS+uGHH0plv7FZVgW/hg5OUlJSNHPmTO3evVuZmZm6//77NWHCBKcrVXbt2qVZs2bp5MmTqlu3rp555hk98sgjbux16cu5wiAvo0aN0jPPPCNJ2rZtmxYvXqzk5GQ1bNhQY8eOzXV5akXXv39//fKXv9SMGTOcppu43+TIzs7WnDlztGXLFqWnpysyMlKTJ0/O87YAJhk/frx++OEHvf32245phw4d0rRp03T48GHVqlVLgwcPVr9+/dzYy7LxxhtvaO7cuXnO69atm2bMmGH0Z+jy5cuaPXu2du7cqcuXL6tNmzYaP3687r77bkklv98QfgAAgFEq9olEAACAWxB+AACAUQg/AADAKIQfAABgFMIPAAAwCuEHAAAYhfADAACMQvgBAABGIfwAAACjEH4AAIBRCD8AAMAohB8AAGCU/w/r0wh/9RKIQQAAAABJRU5ErkJggg==", + "image/png": "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gMPhKDQvLi5O2dnZ6tatm2bNmqWUlBRdeeWVGjlyZJHLn61Zs2YXfOyrrrrKE3yk/FNuQUFB2r59+0V2cX7btm1TUFBQoSBWcI3Ttm3bPNPODnOSVKdOHUlSdnZ2kWN//vnnOnPmTKGgdt1113n9vGXLFnXo0EGhoaHKy8tTXl6eIiIi1L59e8+po/j4eB08eFA33XST5s+fry+//FI33HBDsd61dvZzfeDAAaWmpiopKcnzWHl5eYqLi1NERIQ2bdokKT/svPrqqxo8eLBWrlypQ4cOacSIEZ4Qda4dO3YoMTHRE3wkqWvXrnI6nRes72xNmjRR9erVddddd2n8+PFav369atasqdGjR6tu3boXNRbgS4QfIIClpaUpNDRU1apVKzSvbdu2WrRokf70pz/pxRdfVJ8+fdSpUyetWLHiguOeHWrOp1atWl4/G4ahqKgoZWZmFrv+Czlx4oSioqIK/ZEueOyzT7WEhYUVqkeS17VB544t5R8BKWrsAsePH9c///lPtWjRwuvfhx9+qPT0dEnS3/72N82aNUvh4eFasGCBbr75Zl199dX65z//ecEez36ujx8/Lkl64oknCj3eyZMnPY/36KOP6r777tOPP/6oSZMm6ZprrtGtt96qPXv2nLfXc/sMCgoqNO1CKleurJdffllXXXWV3n//fY0cOVIJCQkaP368cnNzL2oswJc47QUEqLy8PG3dulWxsbHn/R98YmKiEhMTlZ2drS1btuill17Sk08+qdatW6tVq1alevyCP9QFXC6Xjh075nXq5dzrbc6+aLc4qlatqmPHjsnlcnn1WBACLvaP99kK1j169KgaNmzomX5uX1WqVNFf/vIXDRgwoNAYQUG/v4R269ZN3bp106+//qpPPvlEL7zwgkaPHq127dp5jkJdSGRkpCRpzJgx6tChQ6H5VatWlSRVqlRJw4YN07Bhw/Tzzz/rww8/1IIFC/TAAw/ovffeK7RetWrVdOTIEa9ppml6nZYrOBp4blg8deqUKleu7Pm5YcOGmjFjhlwul3bu3Km33npLr7zyii677DINGjSoWH0CvsaRHyBArVmzRocPH1bv3r2LnD9t2jT17NlTpmkqLCxMXbp08Xyg4c8//yzp96MjJbFp0yavC63XrVunvLw8dezYUVL+NT2pqale6+zYscPr5wuddunQoYPy8vL0wQcfeE1/++23JUnt2rUrcf1t27ZVaGhoobE//PDDQjXs379fzZo1U8uWLdWyZUtdfvnlWrZsmdavXy9Juu+++zRixAhJ+WHpuuuu0/Dhw5WXl+cJasXRsGFD1ahRQz/++KPnsVq2bKk6depo1qxZ2rVrl06fPq1rr71WS5culST93//9n/r06aPrr7/es13PlZCQoI0bN3qdAvz444915swZz88FpwzP3mYnTpzQt99+6/n5gw8+UHx8vA4fPiyn06m2bdtqwoQJioyMPO9jA/6IIz+Anzt58qTnrcRut1vHjh3TJ598ojVr1qh79+7q2rVrkevFx8frxRdf1EMPPaTu3bvrzJkzWrx4sapVq6b4+HhJ+UcaPvvsM23evPmiPyPo8OHDuvvuu9WvXz999913mj17tq644golJCRIkrp06aL//Oc/euqpp5SUlKSUlBS9+eabXmMUXCD73//+V1WrVlXTpk295nfq1EkdO3bUuHHjlJaWpqZNm2rbtm164YUX1KNHj1J9JlDlypU1fPhwzZkzR2FhYYqPj9dHH31UKPwMHz5ct956q4YOHarevXsrJCREa9as0YYNGzR37lxJ+c/1448/rmnTpqlTp07KzMzU/PnzVb9+/UI9/RGn06n7779f48ePl9PpVJcuXZSZmakFCxYoLS1NLVq0UGhoqFq0aKH58+crODhYMTExOnjwoN544w1de+21RY47YsQIbdiwQXfeeacGDRqkjIwMzZkzx+saoJiYGNWrV0/PPvusIiIi5HA4tHDhQq/TibGxsXK73RoxYoSGDBmiypUr6/3339evv/563v0Q8EeEH8DP7dq1S7169ZKUf2qicuXKio6O1oQJE3TLLbecd72rrrpKM2fO1NKlSz0XObdr104vvfSS5xqhPn366KuvvtLgwYP11FNPqXbt2sWu67bbbtOvv/6qESNGqFKlSrrhhhs0evRoz+mTnj176ocfftAbb7yh1atXKy4uTnPnzvU6UtWkSRN169ZNL7/8sj7++GO9++67Xo9R8Ad47ty5WrZsmTIyMnTppZdq1KhRRZ6GulhDhw5VeHi4li9fruXLl6tt27YaO3asJkyY4FmmadOmevnll/X0009rzJgxMk1T0dHRevbZZ3X11VdLkm699VadOXNGq1ev1qpVqxQaGqqEhASNHj3aK2AUxy233KLKlStr8eLFWrNmjcLDwxUbG6uZM2d6PvBw4sSJmjNnjpYuXarDhw+rRo0auvnmm3XvvfcWOWb9+vW1cuVKTZ06Vffff79q1KihsWPHaurUqZ5lnE6n5s6dqylTpmjUqFGqWbOmbr/9dh04cEAHDx6UJNWuXVuLFy/WM888o0cffVTZ2dlq0qSJ5s2b5wnUQCBwmNxREAAA2AjX/AAAAFsh/AAAAFsh/AAAAFsh/AAAAFsh/AAAAFsh/AAAAFsh/AAAAFvhQw6LYJqm3G7ff/yRYTj8og5fsHPvkr37p3d79i7Zu396L33vhuHwfMjqhRB+iuB2m8rIOOXTGoKCDEVFVVZmZpby8oq+K3VFZefeJXv3T+/27F2yd//0bk3v1atXltNZvPDDaS8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArhB8AAGArQb4uAAD+iGE4ZBgOy8Zzu0253aZl4wEIPIQfAH7LMByqFhUup2HdQWqX263jx7IIQICNEX4A+C3DcMhpGFr1wW6lZ2SVerza1cN1W3IzGYaD8APYGOEHgN9Lz8jST4dP+roMABUEFzwDAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABb8Xn4OX78uMaPH69OnTopNjZWvXv3VkpKimf+gAEDFBMT4/WvX79+nvk5OTl64oknlJCQoLZt2+qBBx5QRkaGL1oBAAABIMjXBYwaNUqHDx/W7NmzVaNGDa1YsUJ33nmn3njjDTVs2FB79+7VhAkTdM0113jWCQ4O9nw/YcIEpaSkaN68eapUqZIef/xx3XPPPVq5cqUv2gEAAH7Op+Hn+++/16ZNm7Rq1Sq1a9dOkvTYY4/p448/1jvvvKO+ffvq6NGjat26tWrVqlVo/bS0NL355pt6/vnn1b59e0nS7NmzlZycrM8++0xt27Yt134AAID/8+lpr6ioKC1atEgtW7b0THM4HHI4HMrMzNTevXvlcDjUoEGDItffsWOHJCk+Pt4zrUGDBqpTp462b99etsUDAICA5NPwExkZqauuukqVKlXyTFu3bp2+//57JSYmat++fapSpYomTpyoTp06KTk5WXPmzFFubq6k/CM/UVFRCgkJ8Rq3du3aSk1NLddeAABAYPD5NT9n+/TTT/Xwww+ra9eu6ty5sx555BHl5OSoVatWGjBggHbv3q3p06fr559/1vTp05Wdne0VnAqEhIQoJyenVLUEBfn2WnCn0/D6aid27l2yd//n9l7wteCIcGkVjOGPz62dt7tk7/7pvfx795vws2HDBj344IOKjY3VzJkzJUkTJ07U2LFjVbVqVUlSdHS0goODdf/992vMmDEKDQ31HAU6W05OjsLCwkpci2E4FBVVucTrWykysuR9BDo79y7Zu/9ze3c6DQUFOUs9bsELrD8/t/5cW3mwc//0Xn78IvysXLlSkydPVnJysqZNm+Y5mhMUFOQJPgWaNGkiSUpNTVXdunV1/Phx5ebmeh0BSk9PV506dUpcj9ttKjMzq8TrW8HpNBQZGabMzGy5XG6f1lLe7Ny7ZO/+z+294GeXy628PFepxy94Pv3xubXzdpfs3T+9W9N7ZGRYsY8g+Tz8rFq1SpMmTVK/fv306KOPeh3a7tevny699FI99dRTnmlffvmlgoODVb9+fdWqVUtut1s7duxQQkKCJOngwYNKS0tTXFxcqerKy/OPHTD/Rd8/ailvdu5dsnf/5/ZumqZM0yz1uAVj+PNz68+1lQc790/v5de7T8PPwYMHNWXKFP31r3/V0KFDdeTIEc+80NBQXXvttZoyZYpatWqlK6+8Ul9++aWmT5+uO++8UxEREYqIiND111+vcePGacqUKQoLC9Pjjz+uDh06qE2bNr5rDAAA+C2fhp9169bpzJkzWr9+vdavX+81r0ePHpo6daocDodWrFihKVOmqFatWrrjjjs0ZMgQz3KTJk3SlClTNHLkSElSp06dNG7cuHLtAwAABA6HacWx5ArG5XIrI+OUT2sICjIUFVVZx46dst1hUDv3Ltm7/3N7L/h5zqod+unwyVKPf0mtCN13Wzu/fG7tvN0le/dP79b0Xr165WJf82O/99UBAABbI/wAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABbIfwAAABb8eld3QEACCSG4ZBhOCwbz+3m3uK+QPgBAKAYDMOhalHhchrWnTRxud36NfO0ZeOheAg/AAAUg2E45DQMrfpgt9Izsko9Xu3q4botuZmlR5JQPIQfAAAuQnpGln46fNLXZaAUuOAZAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYCuEHAADYis/Dz/HjxzV+/Hh16tRJsbGx6t27t1JSUjzzN2/erJtuukmtW7dWcnKy3nvvPa/1c3Jy9MQTTyghIUFt27bVAw88oIyMjPJuAwAABAifh59Ro0bps88+0+zZs/X666+rWbNmuvPOO3XgwAF9++23Gjp0qBITE7V27VrdcsstGjNmjDZv3uxZf8KECfrkk080b948LV++XAcOHNA999zjw44AAIA/C/Llg3///ffatGmTVq1apXbt2kmSHnvsMX388cd65513dPToUcXExOj++++XJDVq1Ei7du3S4sWLlZCQoLS0NL355pt6/vnn1b59e0nS7NmzlZycrM8++0xt27b1WW8AAMA/+fTIT1RUlBYtWqSWLVt6pjkcDjkcDmVmZiolJUUJCQle68THx2vHjh0yTVM7duzwTCvQoEED1alTR9u3by+fJgAAQEDx6ZGfyMhIXXXVVV7T1q1bp++//16PPPKI3njjDdWtW9drfu3atZWdna1jx44pLS1NUVFRCgkJKbRMampqqWoLCvLtGUGn0/D6aid27l2yd//n9l7wteA/RaVVMIY/Prd23u5SYPRfVvujYfjvflnWfLXdfRp+zvXpp5/q4YcfVteuXdW5c2edPn1alSpV8lqm4Ofc3FxlZ2cXmi9JISEhysnJKXEdhuFQVFTlEq9vpcjIMF+X4DN27l2yd//n9u50GgoKcpZ63IIXWH9+bv25tvIQCP1bvT9GRIRKCozey0p59+434WfDhg168MEHFRsbq5kzZ0rKDzG5ubleyxX8HBYWptDQ0ELzpfx3gIWFlfyJdLtNZWZmlXh9KzidhiIjw5SZmS2Xy+3TWsqbnXuX7N3/ub0X/OxyuZWX5yr1+AXPpz8+t3be7lJg9F9W++PJk6cVERHq172XFSu3e2RkWLGPIPlF+Fm5cqUmT56s5ORkTZs2zXM0p169ekpPT/daNj09XeHh4apSpYrq1q2r48ePKzc31+sIUHp6uurUqVOqmvLy/GMHzP8l849aypude5fs3f+5vZumKdM0Sz1uwRj+/Nz6c23lIRD6t3p/dLv9f78sa+Xdu89PMK5atUqTJk1Snz59NHv2bK8Q0759e23bts1r+S1btig2NlaGYahdu3Zyu92eC58l6eDBg0pLS1NcXFy59QAAAAKHT8PPwYMHNWXKFP31r3/V0KFDdeTIER0+fFiHDx/Wr7/+qn79+mnnzp2aOXOmvv32Wy1dulQffPCBBg0aJEmqU6eOrr/+eo0bN05bt27Vzp07NWrUKHXo0EFt2rTxZWsAAMBP+fS017p163TmzBmtX79e69ev95rXo0cPTZ06VQsWLNCMGTO0fPlyXXrppZoxY4bX298nTZqkKVOmaOTIkZKkTp06ady4ceXaBwAACBw+DT933XWX7rrrrj9cplOnTurUqdN554eHh+vJJ5/Uk08+aXV5AACgAvL5NT8AAADlifADAABshfADAABshfADAABshfADAABshfADAABshfADAABshfADAABsxS9ubAqgYjAMhwzDUeL1C+7IfO5XALAS4QeAJQzDoWpR4XIapQ8skZFhFlQEAEUj/ACwhGE45DQMrfpgt9Izsko0hsPhkNNpyOVyyzRNxdSvruv+0kAOR8mPJgHAuQg/ACyVnpGlnw6fLNG6DodDQUFO5eW5ZJqmakVxBAiA9TihDgAAbIUjPwBsx+oLqd1uU263aemYAMoO4QeAbVQJD5bbbVp+QbXL7dbxY1kEICBAEH4A2EZoSJAMw6FX1u1R2tFTloxZu3q4bktuJsNwEH6AAEH4AWA7pbkoG0Dg44JnAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK4QfAABgK0G+LgAAgLJgGA4ZhsOy8ZxOjhdUFIQfAECFYxgOVYsKl9MgsKCwMgk/qampqlu3blkMDQDABRmGQ07D0KoPdis9I8uSMWPqV9d1f2kgh8O6o0nwjRKFn2bNmmnNmjVq1apVoXkpKSkaPHiwPvvss1IXBwBAaaRnZOmnwyctGatWVJgl48D3ih1+li5dqqys/PRsmqZee+01bdy4sdByn332mSpVqmRdhQAAABYqdvjJycnR/PnzJUkOh0OvvfZaoWUMw1CVKlU0bNgw6yoEAACwULHDz7BhwzyhpmnTpnr11VeLPO0FAADgz0p0zc+ePXusrgMAAKBclPjdXps2bdKHH36o7Oxsud1ur3kOh0NTpkwpdXEAAABWK1H4Wbp0qaZPn66QkBBVr1690Nv+eBsgAADwVyUKPytXrtQNN9ygyZMn884uAAAQUEr00ZdHjhzRzTffTPABAAABp0Thp3nz5vrmm2+srgUAAKDMlei01yOPPKL77rtP4eHhat26tcLCCn/q5f/93/+VujgAAACrlSj89O7dW263W4888sh5L27evXt3qQoDAAAoCyUKP5MmTeIdXQAAICCVKPzcdNNNVtchSVq4cKE++eQTrVixwjNt3LhxhW6lcckll+g///mPJMntdmv+/Pl67bXX9OuvvyouLk7jx4/Xn/70pzKpEQAABLYShZ/t27dfcJm4uLiLGvPll1/WnDlz1L59e6/pe/fu1V133aW+fft6pjmdTs/3CxYs0KpVqzR16lTVrVtXM2bM0KBBg/TOO+/wbjQAAFBIicJPv3795HA4ZJqmZ9q5p8GKe81PWlqaHn/8cW3dulX169f3mmeapvbv368hQ4aoVq1ahdbNzc3V0qVL9eCDD6pz586SpKefflqJiYn617/+pW7dul1cYwAAoMIrUfh56aWXCk3LyspSSkqK3nrrLc2bN6/YY3399dcKDg7W22+/rWeffVY//fSTZ94PP/ygrKwsNWzYsMh19+zZo1OnTikhIcEzLTIyUs2bN9f27dsJPwAAoJAShZ8OHToUOb1z584KDw/Xc889p4ULFxZrrKSkJCUlJRU5b9++fZKkFStWaOPGjTIMQ506ddL999+vKlWqKDU1VZJUr149r/Vq167tmVdSQUEl+ggkyzidhtdXO7Fz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ZLsTfvzUqFGjzP79+xcKP4899ph58803F1p24MCB5V2ipb777jvznnvu8fyhN03TXL9+vRkdHe2ZVlF7N03T3LRpkxkdHW2mpqZ6pp0+fdps3bq1+dprr5mmaZoDBw407733Xq/1evXqZT722GPlWWqZ2L9/v9mrVy8zPj7e7Ny5c6HwU5G3fU5Ojtm2bVvz5Zdf9kw7ceKE2apVK/Odd97xYWVlIzU11Rw6dKjZpk0bMzk52Sv8PP/88+aVV15pnjlzxjNt1qxZZteuXX1RqqW+++47Mzo62kxJSfFMc7vd5jXXXGPOmTOnQu/jx48fN0eNGmXu3bvXM2337t1mdHS0+cUXX/hku3Payw+99dZb+uyzz/TII48UmpeSkqKEhASvafHx8dqxY4fMAL5TyZ///Gc988wzql69uiTp559/1iuvvKIWLVooKipKUsXtXZKaNGmiRYsWqU6dOp5phpH/65mZmSm3261PP/20UP8dO3bU9u3by7XWsrBlyxY1atRI7777ri699NJC8yvytt+zZ49OnTrl1V9kZKSaN29eIbbtub7++msFBwfr7bffVuvWrb3mpaSkqEOHDgoK+v22k/Hx8fruu+905MiR8i7VUlFRUVq0aJFatmzpmeZwOORwOJSZmVmh9/GqVatq1qxZio6OliRlZGRo2bJlqlu3rho3buyT7V4hbmxakfz444+aPHmyFixYoMqVKxean5qaqrp163pNq127trKzs3Xs2DFPeAhkAwcO1KZNm1S1alUtX75cDodDUsXuvVatWrrqqqu8pq1YsUKnT5/WFVdcoczMTGVlZRXZf2pqanmWWib69Onzh/Mr8rYv2H716tXzml5Rtu25kpKSlJSUVOS81NRUzx/IArVr15aUf01czZo1y7y+shIZGVnod3zdunX6/vvv9cgjj+iNN96osPv42R577DG9+uqrqlSpkp577jmFh4f7ZLsTfsrRjz/+qKuvvvq88zdt2qTRo0erV69eat++vX788cdCy5w+fVqVKlXymlbwc25urrUFW+hCvW/evNnzyz169Gjde++9evbZZ3XHHXfozTffVL169QK2d+ni+pek9evXa9asWbrjjjsUExPj+SN4bv8hISHKyckpm6ItcrG9FyWQt/2FZGdnSyp62544ccIXJflMUds5JCREkvx+P79Yn376qR5++GF17dpVnTt3rtD7+Nluv/129erVSy+//LJGjBihVatW+WS7E37KUZ06dfTPf/7zvPNXr16t7Oxs3X333eddJiQkpNAvQsHPYWFh1hRaBi7Ue9WqVT3fN2vWTJI0Z84cdenSRa+//rpGjhwZsL1LF9f/K6+8okmTJql79+4aM2aMpN9fCM7tPycnp0L1fj6BvO0vJDQ0VFJ+PwXfS4Gxba0WGhpa5D4uSeHh4b4oqUxs2LBBDz74oGJjYzVz5kxJFXsfP1vjxo0lSZMnT9YXX3yhlStX+mS7E37KUXBwsBo1anTe+WvXrlV6ero6duwoSZ7zvIMHD9aNN96oiRMnql69ekpPT/daLz09XeHh4apSpUrZFV9KF+r9l19+0RdffKHk5GTPtPDwcF166aWefgO1d+nC/ReYMWOGFi9erAEDBmjs2LGeU37VqlVTeHh4kf2ffZ2QPypu738kkLf9hRSc7kpPT9dll13mmZ6enq6YmBhfleUTdevWLXI7S/L7/by4Vq5cqcmTJys5OVnTpk3zHPGoyPt4RkaGNm/erGuvvdZzXY9hGGrcuLHS09N9st254NmPrFixQu+9957efPNNvfnmm1q0aJEk6cknn9S9994rSWrfvr22bdvmtd6WLVsUGxvruUA2EO3Zs0f33nuvDhw44JmWmZmpgwcPev5wVtTeCxQEn7Fjx+qhhx7yBB8p/8LI2NjYQv1v3bpV7du3L+9Sy11F3vZNmzZVRESE1+d5ZWZmateuXYqLi/NhZeUvLi5OO3bskMvl8kzbsmWLGjRooBo1aviwMmusWrVKkyZNUp8+fTR79myvUz0VeR8/cuSIRo0a5fW5ZGfOnNGuXbvUqFEj32z3MnsfGUrt0KFDhd7qvm/fPrNFixbmjBkzzP3795tLliypEJ8FkZOTY3bv3t28+eabzS+//NL86quvzNtvv91MSkoyf/31V9M0K27vpmmaW7ZsMaOjo81JkyaZ6enpXv9OnjxpmqZpfvzxx2azZs3MpUuXmvv37zenTZtmtmrVqsJ8zk+Bvn37Fnqre0Xe9qZpmrNnzzY7dOhgbtiwwetzfnJzc31dWpkaO3as11vdjxw5YsbFxZljx441v/nmG/P11183W7Zsaa5du9aHVVrjwIEDZosWLcwRI0YU+h3PzMys8Pv4oEGDzK5du5rbtm0z9+7da44aNcqMi4szf/rpJ59sd8KPHysq/JimaX700Udmt27dzMsvv9xMTk4233vvPR9VaK20tDRz1KhRZseOHc22bduad999t/nzzz97LVNRex83bpwZHR1d5L+5c+d6lnvjjTfMv/71r2bLli3NHj16VJgXxrMVFX5Ms+Jue9M0zby8PHP69OlmfHy82aZNG3Pw4MHmoUOHfF1WmTs3/JimaX7xxRfm3//+d/Pyyy83u3TpYq5YscJH1VnrueeeO+/veMH+XpH38czMTPPxxx83r7jiCrNVq1bmwIEDzX379nnml/d2d5hmgH+AAAAAwEUI7BOJAAAAF4nwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbIXwAwAAbOX/AakdCjxgyVbAAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -349,7 +540,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ @@ -360,19 +551,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
LinearRegression(fit_intercept=False)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
LinearRegression(fit_intercept=False)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LinearRegression(fit_intercept=False)" ] }, - "execution_count": null, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -384,7 +575,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -416,22 +607,22 @@ " \n", " 0\n", " const\n", - " 29.404773\n", + " 17.190159\n", " \n", " \n", " 1\n", " has_video\n", - " -2.011150\n", + " 3.026888\n", " \n", " \n", " 2\n", " goal\n", - " 4.850214\n", + " 19.910159\n", " \n", " \n", " 3\n", " facebook_friends\n", - " -0.388278\n", + " 1.212761\n", " \n", " \n", "\n", @@ -439,13 +630,13 @@ ], "text/plain": [ " Variable Coefficient\n", - "0 const 29.404773\n", - "1 has_video -2.011150\n", - "2 goal 4.850214\n", - "3 facebook_friends -0.388278" + "0 const 17.190159\n", + "1 has_video 3.026888\n", + "2 goal 19.910159\n", + "3 facebook_friends 1.212761" ] }, - "execution_count": null, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -460,15 +651,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Mean squared error = 198\n", - "Mean absolute error = 10\n" + "Mean squared error = 188\n", + "Mean absolute error = 12\n" ] } ], @@ -487,7 +678,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "En moyenne, le modèle de régression linéaire parvient à prévoir la durée nécessaire au financement à 10 jours près. " + "En moyenne, le modèle de régression linéaire parvient à prévoir la durée nécessaire au financement à 12 jours près. " ] }, { @@ -499,19 +690,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
RandomForestRegressor(random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + "
RandomForestRegressor(random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "RandomForestRegressor(random_state=42)" ] }, - "execution_count": null, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -524,7 +715,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -556,22 +747,22 @@ " \n", " 0\n", " const\n", - " 0.00000\n", + " 0.000000\n", " \n", " \n", " 1\n", " has_video\n", - " 0.03096\n", + " 0.033123\n", " \n", " \n", " 2\n", " goal\n", - " 0.41027\n", + " 0.415424\n", " \n", " \n", " 3\n", " facebook_friends\n", - " 0.55877\n", + " 0.551453\n", " \n", " \n", "\n", @@ -579,13 +770,13 @@ ], "text/plain": [ " Variable Importance\n", - "0 const 0.00000\n", - "1 has_video 0.03096\n", - "2 goal 0.41027\n", - "3 facebook_friends 0.55877" + "0 const 0.000000\n", + "1 has_video 0.033123\n", + "2 goal 0.415424\n", + "3 facebook_friends 0.551453" ] }, - "execution_count": null, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -603,15 +794,15 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Random Forest Mean Squared Error = 229\n", - "Random Forest Mean Absolute Error = 12\n" + "Random Forest Mean Squared Error = 211\n", + "Random Forest Mean Absolute Error = 11\n" ] } ], @@ -631,9 +822,104 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "En moyenne, le modèle de forêt aléatoire parvient à prévoir la durée nécessaire au financement à 12 jours près. \n", + "En moyenne, le modèle de forêt aléatoire parvient à prévoir la durée nécessaire au financement à 11 jours près. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Réseau de neurones" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.neural_network import MLPRegressor\n", + "from sklearn.metrics import mean_squared_error, mean_absolute_error" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "MLP Regressor Mean Squared Error = 190\n", + "MLP Regressor Mean Absolute Error = 12\n" + ] + } + ], + "source": [ + "# Create and train a Multi-layer Perceptron Regressor\n", + "mlp_regressor = MLPRegressor(hidden_layer_sizes=(64, 32), max_iter=1000, random_state=42)\n", + "mlp_regressor.fit(X_train, y_train)\n", + "\n", + "# Evaluate model prediction capacity\n", + "y_pred_mlp = mlp_regressor.predict(X_test)\n", + "\n", + "# Calculate Mean Squared Error and Mean Absolute Error\n", + "mlp_mse = mean_squared_error(y_true=y_test, y_pred=y_pred_mlp)\n", + "mlp_mae = mean_absolute_error(y_true=y_test, y_pred=y_pred_mlp)\n", + "\n", + "print(f\"MLP Regressor Mean Squared Error = {round(mlp_mse)}\")\n", + "print(f\"MLP Regressor Mean Absolute Error = {round(mlp_mae)}\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "En moyenne, le réseau de neurones parvient à prévoir la durée nécessaire au financement à 12 jours près. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Bilan" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "| Régression logistique | Accuracy |\n", + "|:----------------------|-------------:|\n", + "| Le projet sera-t-il financé ? | 62% |" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Tableau.** Modèle de prévision et MAE correspondante obtenue sur l'ensemble de test\n", "\n", - "**On conservera donc le modèle de régression linéaire pour la prédiction.**" + "| Modèle | MAE |\n", + "|:----------------------|-------------:|\n", + "| Régression Linéaire | 12 jours |\n", + "|**Forêt Aléatoire** | **11 jours** |\n", + "| Réseau de Neurones | 12 jours |" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**On conservera donc le modèle de forêt aléatoire pour la prédiction.**" ] } ], @@ -642,6 +928,18 @@ "display_name": "python3", "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.10.10" } }, "nbformat": 4,