├── .gitattributes ├── README.md └── Survival Analysis - Quick Implementation.ipynb /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Survival Analysis: Intuition & Implementation in Python 2 | ### Quick Implementation in python 3 | 4 | There is a statistical technique which can answer business questions as follows: 5 | - How long will a particular customer remain with your business? In other words, after how much time this customer will churn? 6 | - How long will this machine last, after successfully running for a year ? 7 | - What is the relative retention rate of different marketing channels? 8 | - What is the likelihood that a patient will survive, after being diagnosed? 9 | 10 | If you find any of the above questions (or even the questions remotely related to them) interesting then read on. 11 | The purpose of this article is to build an intuition, so that we can apply this technique in different business settings. 12 | 13 | 14 | [Link to the article](https://towardsdatascience.com/survival-analysis-intuition-implementation-in-python-504fde4fcf8e) 15 | 16 | ![Survival Analysis](https://miro.medium.com/max/856/1*Ckhi9soE9Lx2lIf9tPVLMQ.png "Survival Analysis in Python") 17 | 18 | 19 | #### Table of Contents 20 | 21 | ##### 1. Introduction 22 | 23 | ##### 2. Definitions 24 | 25 | ##### 3. Mathematical Intuition 26 | 27 | ##### 4. Kaplan-Meier Estimate 28 | 29 | ##### 5. Cox Proportional Hazard Model 30 | 31 | ##### 6. End Note 32 | 33 | ##### 7. Additional Resources 34 | 35 | #### [Link to the article](https://towardsdatascience.com/survival-analysis-intuition-implementation-in-python-504fde4fcf8e) 36 | -------------------------------------------------------------------------------- /Survival Analysis - Quick Implementation.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Survival Analysis : Quick Implementation" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 67, 13 | "metadata": {}, 14 | "outputs": [ 15 | { 16 | "name": "stdout", 17 | "output_type": "stream", 18 | "text": [ 19 | "Populating the interactive namespace from numpy and matplotlib\n" 20 | ] 21 | } 22 | ], 23 | "source": [ 24 | "import pandas as pd\n", 25 | "import numpy as np\n", 26 | "import matplotlib.pyplot as plt\n", 27 | "import seaborn as sb\n", 28 | "\n", 29 | "from lifelines.plotting import plot_lifetimes # Lifeline package for the Survival Analysis\n", 30 | "%pylab inline\n", 31 | "figsize(12,6)" 32 | ] 33 | }, 34 | { 35 | "cell_type": "markdown", 36 | "metadata": {}, 37 | "source": [ 38 | "### Example with a fictitious data" 39 | ] 40 | }, 41 | { 42 | "cell_type": "code", 43 | "execution_count": 68, 44 | "metadata": {}, 45 | "outputs": [ 46 | { 47 | "data": { 48 | "text/plain": [ 49 | "" 50 | ] 51 | }, 52 | "execution_count": 68, 53 | "metadata": {}, 54 | "output_type": "execute_result" 55 | }, 56 | { 57 | "data": { 58 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAF3CAYAAACmFo34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAHlpJREFUeJzt3X+UlXW96PH3h2Fs/NX1JuhSBhxucTJ+1EAjqKhpoYEWU2pX0UzP6ootAyuPtbBOxCErr9qxWnG6knq1m4pGnQPipKc80PEYJkOiCYShcnUO3BxREU0D5HP/mO04DAOzgb3ZI/N+rcVyP8/+zjMf2P54+8yz9xOZiSRJktTb9an0AJIkSVJPYBhLkiRJGMaSJEkSYBhLkiRJgGEsSZIkAYaxJEmSBBjGkiRJEmAYS5IkSYBhLEmSJAGGsSRJkgRA30p94379+mVdXV2lvr0kSZJ6iaVLlz6fmf27W1exMK6rq6O5ublS316SJEm9RET832LWeSmFJEmShGEsSZIkAYaxJEmSBFTwGmNJkqTNmzfT0tLC66+/XulRtA+oqamhtraW6urq3fp6w1iSJFVMS0sLBx98MHV1dUREpcfR21hmsn79elpaWhg8ePBuHcNLKSRJUsW8/vrrHHrooUax9lhEcOihh+7RTx8MY0mSVFFGsUplT/9eMowlSVKvdtBBB7U/bmpqYsiQITzzzDO7fJw1a9YwfPjwksx00UUXccABB7Bx48b2fV/4wheICJ5//vmdfu3pp5/OSy+9tEffe/DgwdTX11NfX8/xxx+/w7Vr1qzh9ttvb99ubm7msssu2+3v3dEtt9zC2rVrS3KsYhnGkiRJwP3338/UqVO59957GTRoUKXH4T3veQ/z5s0DYOvWrSxcuJABAwZ0+3VNTU0ccsghRX+fN954Y7t91157LcuWLWPZsmX89re/3eHXdg7jhoYGfvCDHxT9vXemR4ZxRNwcEc9FxOM7eD4i4gcRsToiHouIUaUfU5IkqXweeOABLr74Yu655x7e/e53A3D33XczZswYRo4cybhx4/jzn/8MwIwZM7jgggv48Ic/zJAhQ/jxj3+83fHWrFnDiSeeyKhRoxg1alR7XC5atIiTTz6Zs88+m6OPPprzzz+fzOxypkmTJnHnnXe2f93YsWPp2/etz0346U9/yujRo6mvr+eSSy5pD9y6urr2s8o7WnPQQQcxffp0xowZw+LFi4v6M/rNb37TfhZ55MiRbNy4kWnTpvHAAw9QX1/P9ddfz6JFi/jYxz7W/ud04YUXctppp1FXV8cvfvELvvKVrzBixAjGjx/P5s2bAZg5cybHHHMMw4cPZ/LkyWQmc+fOpbm5mfPPP5/6+npee+01li5dyoc+9CE++MEP8tGPfpR169YVNfeuKOZTKW4Bfgj8ZAfPTwCGFH6NAX5U+KskSVLR/uHu5axY+3JJjzn0yHfyjY8P2+mav/71rzQ2NrJo0SKOPvro9v0nnHACDz30EBHBjTfeyDXXXMN3v/tdAB577DEeeughXn31VUaOHMkZZ5yxzTEPO+wwfvWrX1FTU8Of/vQnJk2aRHNzMwCPPPIIy5cv58gjj2Ts2LE8+OCDnHDCCdvNNWTIEObNm8eLL77IHXfcwac//Wl++ctfArBy5UruvPNOHnzwQaqrq7n00ku57bbb+MxnPtP+9Ttb8+qrrzJ8+HBmzpzZ5Z/Jl7/8Za666ioAhg0bxm233cZ1113HrFmzGDt2LK+88go1NTVcffXVXHfddSxYsABoC/iOnnzySRYuXMiKFSs47rjj+PnPf84111zDJz/5Se655x4+8YlPMGXKFKZPnw7ABRdcwIIFCzj77LP54Q9/yHXXXUdDQwObN29m6tSpzJs3j/79+3PnnXfyta99jZtvvnmnr+2u6jaMM/PfI6JuJ0sagZ9k2//uPBQRh0TEEZlZ+owvgXL8QyepZ2usH8B5Yyr/Y1FJPVN1dTXHH388N910E9///vfb97e0tHDOOeewbt06Nm3atM1HgDU2NrL//vuz//77c8opp/Dwww9TX1/f/vzmzZuZMmUKy5Yto6qqiieeeKL9udGjR1NbWwtAfX09a9as6TKMAc4880zmzJnD7373O2644Yb2/ffffz9Lly7lmGOOAeC1117jsMMO2+Zrd7amqqqKs846a4d/Jtdeey1nn332NvvGjh3L5Zdfzvnnn8+ZZ57Z/nvYmQkTJlBdXc2IESN44403GD9+PAAjRoxgzZo1ACxcuJBrrrmGv/zlL7zwwgsMGzaMj3/849scZ9WqVTz++OOceuqpQNvlH0cccUS3339XleJzjAcAz3bYbins2y6MI2IyMBnoEdfuSNr3rVjX9j/ChrHU83V3Zrdc+vTpw1133cW4ceP49re/zVe/+lUApk6dyuWXX87EiRNZtGgRM2bMaP+azp9+0Hn7+uuv5/DDD+fRRx9l69at1NTUtD/3jne8o/1xVVUVW7Zs2eFs5557LqNGjeLCCy+kT5+3roDNTC688EK+853v7PBrd7ampqaGqqqqHX5tV6ZNm8YZZ5xBU1MTxx57LL/+9a+7/Zo3f699+vShurq6/c+pT58+bNmyhddff51LL72U5uZmBg4cyIwZM7r8uLXMZNiwYUVf9rG7ShHGXX0uRpcXy2TmbGA2QENDQ9cX1JRZpf6hk1QZ59xQ3n+JSto3HHDAASxYsIATTzyRww8/nM9+9rNs2LCh/c1ut9566zbr582bx5VXXsmrr77KokWLuPrqq9m0aVP78xs2bKC2tpY+ffpw6623dvkGt2IMGjSIb33rW4wbN26b/R/5yEdobGzkS1/6EocddhgvvPACGzdu5KijjtqlNbviySefZMSIEYwYMYLFixfzxz/+kYEDB27zyRm76s0I7tevH6+88gpz585tP1N98MEHtx/7ve99L62trSxevJjjjjuOzZs388QTTzBsWGm7rhRh3AIM7LBdC+zdtxBKkiTtoXe9613ce++9nHTSSfTr148ZM2bwqU99igEDBnDsscfy9NNPt68dPXo0Z5xxBs888wxf//rXOfLII9svDQC49NJLOeuss/jZz37GKaecwoEHHrjbc11yySXb7Rs6dChXXXUVp512Glu3bqW6uppZs2ZtE73FrNmRjtcYAzz88MN873vfY+HChVRVVTF06FAmTJhAnz596Nu3Lx/4wAe46KKLGDly5C793g455BAuvvhiRowYQV1dXftlH9D2sXGf+9zn2H///Vm8eDFz587lsssuY8OGDWzZsoUvfvGLJQ/j2NE7IbdZ1HaN8YLM3O7D+SLiDGAKcDptb7r7QWaO7u6YDQ0N+eZF6JJULm+eMb7zkuMqPImkrqxcuZL3ve99lR5jl8yYMYODDjqIK664otKjqAtd/T0VEUszs6G7r+32jHFE3AGcDPSLiBbgG0A1QGb+L6CJtiheDfwF+NtdnF+SJEmquGI+lWJSN88n8PmSTSRJktSDdXwTnvYt3vlOkiRJwjCWJEkVVsz7naRi7OnfS4axJEmqmJqaGtavX28ca49lJuvXr9/mM6N3VSk+rk2SJGm31NbW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\n", 59 | "text/plain": [ 60 | "
" 61 | ] 62 | }, 63 | "metadata": { 64 | "needs_background": "light" 65 | }, 66 | "output_type": "display_data" 67 | } 68 | ], 69 | "source": [ 70 | "from lifelines import KaplanMeierFitter\n", 71 | "\n", 72 | "## Example Data \n", 73 | "durations = [5,6,6,2.5,4,4]\n", 74 | "event_observed = [1, 0, 0, 1, 1, 1]\n", 75 | "\n", 76 | "## create an kmf object\n", 77 | "kmf = KaplanMeierFitter() \n", 78 | "\n", 79 | "## Fit the data into the model\n", 80 | "kmf.fit(durations, event_observed,label='Kaplan Meier Estimate')\n", 81 | "\n", 82 | "## Create an estimate\n", 83 | "kmf.plot(ci_show=False) ## ci_show is meant for Confidence interval, since our data set is too tiny, thus i am not showing it." 84 | ] 85 | }, 86 | { 87 | "cell_type": "markdown", 88 | "metadata": {}, 89 | "source": [ 90 | "## Real World Example " 91 | ] 92 | }, 93 | { 94 | "cell_type": "markdown", 95 | "metadata": {}, 96 | "source": [ 97 | "### We will be using Telco Customer Churn data from Kaggle\n", 98 | "https://www.kaggle.com/blastchar/telco-customer-churn/" 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 69, 104 | "metadata": {}, 105 | "outputs": [], 106 | "source": [ 107 | "## create a dataframe\n", 108 | "df = pd.read_csv(\"D:\\Survival Data\\Telco-Customer-Churn.csv\") " 109 | ] 110 | }, 111 | { 112 | "cell_type": "code", 113 | "execution_count": 70, 114 | "metadata": {}, 115 | "outputs": [ 116 | { 117 | "data": { 118 | "text/html": [ 119 | "
\n", 120 | "\n", 133 | "\n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | " \n", 251 | " \n", 252 | " \n", 253 | " \n", 254 | " \n", 255 | " \n", 256 | " \n", 257 | " \n", 258 | " \n", 259 | " \n", 260 | " \n", 261 | " \n", 262 | " \n", 263 | " \n", 264 | " \n", 265 | " \n", 266 | " \n", 267 | " \n", 268 | " \n", 269 | " \n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | "
customerIDgenderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurity...DeviceProtectionTechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurn
07590-VHVEGFemale0YesNo1NoNo phone serviceDSLNo...NoNoNoNoMonth-to-monthYesElectronic check29.8529.85No
15575-GNVDEMale0NoNo34YesNoDSLYes...YesNoNoNoOne yearNoMailed check56.951889.5No
23668-QPYBKMale0NoNo2YesNoDSLYes...NoNoNoNoMonth-to-monthYesMailed check53.85108.15Yes
37795-CFOCWMale0NoNo45NoNo phone serviceDSLYes...YesYesNoNoOne yearNoBank transfer (automatic)42.301840.75No
49237-HQITUFemale0NoNo2YesNoFiber opticNo...NoNoNoNoMonth-to-monthYesElectronic check70.70151.65Yes
\n", 283 | "

5 rows × 21 columns

\n", 284 | "
" 285 | ], 286 | "text/plain": [ 287 | " customerID gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", 288 | "0 7590-VHVEG Female 0 Yes No 1 No \n", 289 | "1 5575-GNVDE Male 0 No No 34 Yes \n", 290 | "2 3668-QPYBK Male 0 No No 2 Yes \n", 291 | "3 7795-CFOCW Male 0 No No 45 No \n", 292 | "4 9237-HQITU Female 0 No No 2 Yes \n", 293 | "\n", 294 | " MultipleLines InternetService OnlineSecurity ... DeviceProtection \\\n", 295 | "0 No phone service DSL No ... No \n", 296 | "1 No DSL Yes ... Yes \n", 297 | "2 No DSL Yes ... No \n", 298 | "3 No phone service DSL Yes ... Yes \n", 299 | "4 No Fiber optic No ... No \n", 300 | "\n", 301 | " TechSupport StreamingTV StreamingMovies Contract PaperlessBilling \\\n", 302 | "0 No No No Month-to-month Yes \n", 303 | "1 No No No One year No \n", 304 | "2 No No No Month-to-month Yes \n", 305 | "3 Yes No No One year No \n", 306 | "4 No No No Month-to-month Yes \n", 307 | "\n", 308 | " PaymentMethod MonthlyCharges TotalCharges Churn \n", 309 | "0 Electronic check 29.85 29.85 No \n", 310 | "1 Mailed check 56.95 1889.5 No \n", 311 | "2 Mailed check 53.85 108.15 Yes \n", 312 | "3 Bank transfer (automatic) 42.30 1840.75 No \n", 313 | "4 Electronic check 70.70 151.65 Yes \n", 314 | "\n", 315 | "[5 rows x 21 columns]" 316 | ] 317 | }, 318 | "execution_count": 70, 319 | "metadata": {}, 320 | "output_type": "execute_result" 321 | } 322 | ], 323 | "source": [ 324 | "## Have a first look at the data\n", 325 | "df.head() " 326 | ] 327 | }, 328 | { 329 | "cell_type": "code", 330 | "execution_count": 71, 331 | "metadata": {}, 332 | "outputs": [ 333 | { 334 | "name": "stdout", 335 | "output_type": "stream", 336 | "text": [ 337 | "\n", 338 | "RangeIndex: 7043 entries, 0 to 7042\n", 339 | "Data columns (total 21 columns):\n", 340 | "customerID 7043 non-null object\n", 341 | "gender 7043 non-null object\n", 342 | "SeniorCitizen 7043 non-null int64\n", 343 | "Partner 7043 non-null object\n", 344 | "Dependents 7043 non-null object\n", 345 | "tenure 7043 non-null int64\n", 346 | "PhoneService 7043 non-null object\n", 347 | "MultipleLines 7043 non-null object\n", 348 | "InternetService 7043 non-null object\n", 349 | "OnlineSecurity 7043 non-null object\n", 350 | "OnlineBackup 7043 non-null object\n", 351 | "DeviceProtection 7043 non-null object\n", 352 | "TechSupport 7043 non-null object\n", 353 | "StreamingTV 7043 non-null object\n", 354 | "StreamingMovies 7043 non-null object\n", 355 | "Contract 7043 non-null object\n", 356 | "PaperlessBilling 7043 non-null object\n", 357 | "PaymentMethod 7043 non-null object\n", 358 | "MonthlyCharges 7043 non-null float64\n", 359 | "TotalCharges 7043 non-null object\n", 360 | "Churn 7043 non-null object\n", 361 | "dtypes: float64(1), int64(2), object(18)\n", 362 | "memory usage: 1.1+ MB\n" 363 | ] 364 | } 365 | ], 366 | "source": [ 367 | "## Data Types and Missing Values in Columns\n", 368 | "df.info() " 369 | ] 370 | }, 371 | { 372 | "cell_type": "code", 373 | "execution_count": 72, 374 | "metadata": {}, 375 | "outputs": [], 376 | "source": [ 377 | "## Convert TotalCharges to numeric\n", 378 | "df['TotalCharges']=pd.to_numeric(df['TotalCharges'],errors='coerce')\n", 379 | "\n", 380 | "## Replace yes and No in the Churn column to 1 and 0. 1 for the event and 0 for the censured data.\n", 381 | "df['Churn']=df['Churn'].apply(lambda x: 1 if x == 'Yes' else 0 )" 382 | ] 383 | }, 384 | { 385 | "cell_type": "code", 386 | "execution_count": 73, 387 | "metadata": {}, 388 | "outputs": [ 389 | { 390 | "name": "stdout", 391 | "output_type": "stream", 392 | "text": [ 393 | "\n", 394 | "RangeIndex: 7043 entries, 0 to 7042\n", 395 | "Data columns (total 21 columns):\n", 396 | "customerID 7043 non-null object\n", 397 | "gender 7043 non-null object\n", 398 | "SeniorCitizen 7043 non-null int64\n", 399 | "Partner 7043 non-null object\n", 400 | "Dependents 7043 non-null object\n", 401 | "tenure 7043 non-null int64\n", 402 | "PhoneService 7043 non-null object\n", 403 | "MultipleLines 7043 non-null object\n", 404 | "InternetService 7043 non-null object\n", 405 | "OnlineSecurity 7043 non-null object\n", 406 | "OnlineBackup 7043 non-null object\n", 407 | "DeviceProtection 7043 non-null object\n", 408 | "TechSupport 7043 non-null object\n", 409 | "StreamingTV 7043 non-null object\n", 410 | "StreamingMovies 7043 non-null object\n", 411 | "Contract 7043 non-null object\n", 412 | "PaperlessBilling 7043 non-null object\n", 413 | "PaymentMethod 7043 non-null object\n", 414 | "MonthlyCharges 7043 non-null float64\n", 415 | "TotalCharges 7032 non-null float64\n", 416 | "Churn 7043 non-null int64\n", 417 | "dtypes: float64(2), int64(3), object(16)\n", 418 | "memory usage: 1.1+ MB\n" 419 | ] 420 | } 421 | ], 422 | "source": [ 423 | "## after converting the column TotalCharges to numeric\n", 424 | "df.info() ## Column TotalCharges is having missing values" 425 | ] 426 | }, 427 | { 428 | "cell_type": "code", 429 | "execution_count": 74, 430 | "metadata": {}, 431 | "outputs": [], 432 | "source": [ 433 | "## Impute the null value with the median value\n", 434 | "\n", 435 | "df.TotalCharges.fillna(value=df['TotalCharges'].median(),inplace=True)" 436 | ] 437 | }, 438 | { 439 | "cell_type": "code", 440 | "execution_count": 75, 441 | "metadata": {}, 442 | "outputs": [], 443 | "source": [ 444 | "## Create a list of Categorical Columns\n", 445 | "cat_cols= [i for i in df.columns if df[i].dtype==object]\n", 446 | "cat_cols.remove('customerID') ## customerID has been removed because it is unique for all the rows." 447 | ] 448 | }, 449 | { 450 | "cell_type": "code", 451 | "execution_count": 76, 452 | "metadata": {}, 453 | "outputs": [ 454 | { 455 | "name": "stdout", 456 | "output_type": "stream", 457 | "text": [ 458 | "Column Name: gender\n", 459 | "Male 3555\n", 460 | "Female 3488\n", 461 | "Name: gender, dtype: int64\n", 462 | "-----------------------------\n", 463 | "Column Name: Partner\n", 464 | "No 3641\n", 465 | "Yes 3402\n", 466 | "Name: Partner, dtype: int64\n", 467 | "-----------------------------\n", 468 | "Column Name: Dependents\n", 469 | "No 4933\n", 470 | "Yes 2110\n", 471 | "Name: Dependents, dtype: int64\n", 472 | "-----------------------------\n", 473 | "Column Name: PhoneService\n", 474 | "Yes 6361\n", 475 | "No 682\n", 476 | "Name: PhoneService, dtype: int64\n", 477 | "-----------------------------\n", 478 | "Column Name: MultipleLines\n", 479 | "No 3390\n", 480 | "Yes 2971\n", 481 | "No phone service 682\n", 482 | "Name: MultipleLines, dtype: int64\n", 483 | "-----------------------------\n", 484 | "Column Name: InternetService\n", 485 | "Fiber optic 3096\n", 486 | "DSL 2421\n", 487 | "No 1526\n", 488 | "Name: InternetService, dtype: int64\n", 489 | "-----------------------------\n", 490 | "Column Name: OnlineSecurity\n", 491 | "No 3498\n", 492 | "Yes 2019\n", 493 | "No internet service 1526\n", 494 | "Name: OnlineSecurity, dtype: int64\n", 495 | "-----------------------------\n", 496 | "Column Name: OnlineBackup\n", 497 | "No 3088\n", 498 | "Yes 2429\n", 499 | "No internet service 1526\n", 500 | "Name: OnlineBackup, dtype: int64\n", 501 | "-----------------------------\n", 502 | "Column Name: DeviceProtection\n", 503 | "No 3095\n", 504 | "Yes 2422\n", 505 | "No internet service 1526\n", 506 | "Name: DeviceProtection, dtype: int64\n", 507 | "-----------------------------\n", 508 | "Column Name: TechSupport\n", 509 | "No 3473\n", 510 | "Yes 2044\n", 511 | "No internet service 1526\n", 512 | "Name: TechSupport, dtype: int64\n", 513 | "-----------------------------\n", 514 | "Column Name: StreamingTV\n", 515 | "No 2810\n", 516 | "Yes 2707\n", 517 | "No internet service 1526\n", 518 | "Name: StreamingTV, dtype: int64\n", 519 | "-----------------------------\n", 520 | "Column Name: StreamingMovies\n", 521 | "No 2785\n", 522 | "Yes 2732\n", 523 | "No internet service 1526\n", 524 | "Name: StreamingMovies, dtype: int64\n", 525 | "-----------------------------\n", 526 | "Column Name: Contract\n", 527 | "Month-to-month 3875\n", 528 | "Two year 1695\n", 529 | "One year 1473\n", 530 | "Name: Contract, dtype: int64\n", 531 | "-----------------------------\n", 532 | "Column Name: PaperlessBilling\n", 533 | "Yes 4171\n", 534 | "No 2872\n", 535 | "Name: PaperlessBilling, dtype: int64\n", 536 | "-----------------------------\n", 537 | "Column Name: PaymentMethod\n", 538 | "Electronic check 2365\n", 539 | "Mailed check 1612\n", 540 | "Bank transfer (automatic) 1544\n", 541 | "Credit card (automatic) 1522\n", 542 | "Name: PaymentMethod, dtype: int64\n", 543 | "-----------------------------\n" 544 | ] 545 | } 546 | ], 547 | "source": [ 548 | "## lets have a look at the categories and their distribution in all the categorical columns.\n", 549 | "\n", 550 | "for i in cat_cols:\n", 551 | " print('Column Name: ',i)\n", 552 | " print(df[i].value_counts())\n", 553 | " print('-----------------------------')" 554 | ] 555 | }, 556 | { 557 | "cell_type": "code", 558 | "execution_count": 77, 559 | "metadata": {}, 560 | "outputs": [ 561 | { 562 | "data": { 563 | "text/plain": [ 564 | "" 565 | ] 566 | }, 567 | "execution_count": 77, 568 | "metadata": {}, 569 | "output_type": "execute_result" 570 | }, 571 | { 572 | "data": { 573 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAF3CAYAAACmFo34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3X2U3VV97/H3N5ORCSSamgQuJIRQmvIYnMAQHkItCFIQJcrDlQcVurqALgS1FC3VW0xTqVzAi7jkekXgYi0KGK3EmGItTVoW5WlSoxIiCpiQgVwCIWBICCZk3z/mJEyGmfn9Zs7vPL9fa2Vxzu/sOWfnRybrkz3f/d2RUkKSJElqdaNqPQFJkiSpHhiMJUmSJAzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAmB0rT544sSJadq0abX6eEmSJLWIpUuXvphSmpQ1rmbBeNq0aXR3d9fq4yVJktQiImJVnnGWUkiSJEkYjCVJkiTAYCxJkiQBNawxliRJ2rJlCz09PWzevLnWU1ET6OjoYMqUKbS3t4/o6w3GkiSpZnp6ehg3bhzTpk0jImo9HTWwlBLr1q2jp6eHfffdd0TvYSmFJEmqmc2bNzNhwgRDscoWEUyYMKGsnz4YjCVJUk0ZilWUcv8sGYwlSVJLGzt27I7HixYtYvr06TzzzDPDfp+VK1dyyCGHFDKnCy64gF133ZUNGzbsuPbJT36SiODFF18c8mvf97738fLLL5f12fvuuy+dnZ10dnZyzDHHDDp25cqVfPvb397xvLu7m0984hMj/uy+br/9dp577rlC3isvg7EkSRJw3333cdlll3HvvfcyderUWk+HP/iDP+Cee+4BYNu2bSxevJjJkydnft2iRYsYP3587s9544033nLtuuuuY9myZSxbtoz//M//HPRr+wfjrq4uvvKVr+T+7KHUZTCOiNsiYm1EPDbI6xERX4mIJyPi5xFxWPHTlCRJqpz777+fCy+8kB/96Efst99+APzwhz/kyCOPZObMmZx44ok8//zzAMydO5ePfvSjvOc972H69Ol84xvfeMv7rVy5kj/6oz/isMMO47DDDtsRLpcsWcJxxx3HmWeeyQEHHMB5551HSmnAOZ1zzjncddddO75u9uzZjB79Zt+Ef/zHf2TWrFl0dnZy8cUX7wi406ZN27GqPNiYsWPHctVVV3HkkUfy4IMP5rpH//7v/75jFXnmzJls2LCBK6+8kvvvv5/Ozk5uuOEGlixZwvvf//4d9+n888/npJNOYtq0aXz/+9/nM5/5DDNmzODkk09my5YtAMybN48jjjiCQw45hIsuuoiUEvPnz6e7u5vzzjuPzs5OXnvtNZYuXcof//Efc/jhh/Mnf/InrFmzJte8hyNPV4rbga8C/zDI66cA00u/jgS+VvqvJElSbn/7w+U8/txvC33Pg/Z6O5//wMFDjnn99deZM2cOS5Ys4YADDthx/dhjj+Whhx4iIrjlllu49tpr+dKXvgTAz3/+cx566CE2btzIzJkzOfXUU3d6z913352f/OQndHR08Otf/5pzzjmH7u5uAH7605+yfPly9tprL2bPns0DDzzAscce+5Z5TZ8+nXvuuYf169fzne98h4985CP88z//MwArVqzgrrvu4oEHHqC9vZ1LLrmEO+64g4997GM7vn6oMRs3buSQQw5h3rx5A96TT3/603zhC18A4OCDD+aOO+7g+uuv56abbmL27Nm8+uqrdHR0cM0113D99dezcOFCoDfA9/XUU0+xePFiHn/8cY4++mi+973vce211/KhD32IH/3oR3zwgx/k0ksv5aqrrgLgox/9KAsXLuTMM8/kq1/9Ktdffz1dXV1s2bKFyy67jHvuuYdJkyZx11138bnPfY7bbrttyP+3w5UZjFNK/xER04YYMgf4h9T7z52HImJ8ROyZUio+xhcgzzfdnM7JnHtk7X+EIkmSKq+9vZ1jjjmGW2+9lRtvvHHH9Z6eHj784Q+zZs0afve73+3UAmzOnDmMGTOGMWPGcPzxx/PII4/Q2dm54/UtW7Zw6aWXsmzZMtra2vjVr36147VZs2YxZcoUADo7O1m5cuWAwRjg9NNP58477+Thhx/m61//+o7r9913H0uXLuWII44A4LXXXmP33Xff6WuHGtPW1sYZZ5wx6D257rrrOPPMM3e6Nnv2bC6//HLOO+88Tj/99B2/h6GccsoptLe3M2PGDN544w1OPvlkAGbMmMHKlSsBWLx4Mddeey2bNm3ipZde4uCDD+YDH/jATu/zxBNP8Nhjj/He974X6C3/2HPPPTM/f7iK6GM8GVjd53lP6dpbgnFEXARcBNRF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\n", 574 | "text/plain": [ 575 | "
" 576 | ] 577 | }, 578 | "metadata": { 579 | "needs_background": "light" 580 | }, 581 | "output_type": "display_data" 582 | } 583 | ], 584 | "source": [ 585 | "## Lets create an overall KaplanMeier curve, without breaking it into groups of covariates.\n", 586 | "\n", 587 | "## Import the library\n", 588 | "from lifelines import KaplanMeierFitter\n", 589 | "\n", 590 | "\n", 591 | "durations = df['tenure'] ## Time to event data of censored and event data\n", 592 | "event_observed = df['Churn'] ## It has the churned (1) and censored is (0)\n", 593 | "\n", 594 | "## create a kmf object as km\n", 595 | "km = KaplanMeierFitter() ## instantiate the class to create an object\n", 596 | "\n", 597 | "## Fit the data into the model\n", 598 | "km.fit(durations, event_observed,label='Kaplan Meier Estimate')\n", 599 | "\n", 600 | "## Create an estimate\n", 601 | "km.plot()" 602 | ] 603 | }, 604 | { 605 | "cell_type": "markdown", 606 | "metadata": {}, 607 | "source": [ 608 | "## Lets create Kaplan Meier Curves for Cohorts" 609 | ] 610 | }, 611 | { 612 | "cell_type": "code", 613 | "execution_count": 78, 614 | "metadata": {}, 615 | "outputs": [ 616 | { 617 | "data": { 618 | "text/plain": [ 619 | "" 620 | ] 621 | }, 622 | "execution_count": 78, 623 | "metadata": {}, 624 | "output_type": "execute_result" 625 | }, 626 | { 627 | "data": { 628 | "image/png": "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7ne/C8CFF17I888/T1NTExdccAEAb7/9Nh//+MfZd999OfPMM4lx2851F154IQsWLKCpqYlvf/vbrFu3jjlz5jB+/Hj2339/7rvvvm2+B2DGjBl84QtfYPr06YwdO5ZHHnmEmTNnMnr0aC6++OLN11155ZWMGzeOcePG8Z3vfAdoD+Njx47lM5/5DPvttx9HHnkk7777LrfeeistLS2ceeaZNDU1bf5Lw7/8y78wadIkxo8fzzPPPFPsbZckSaqo3NUYb/L1/1rE0y+/lel7fniPXfja/9kv8brTTz+dSy+9lOOPP54nnniCs846iwVNgKroAAATRklEQVQLFgDwta99jf3335877riDe++9l7/4i7/g8ccfB+CZZ57hvvvuY82aNYwZM4bPfvazXHbZZTz11FObr5k/fz6PPfYYixYtYo899mDatGk88MADfOQjH9liDZdddhlXXHEFd955JwD//M//DMCTTz7JM888w5FHHsnSpUtpbGzcZv077LADv/nNb7jqqqs48cQTWbhwIbvttht77703X/jCF1i2bBk33HADDz30EDFGpkyZwkc/+lF23XVXnn32WW6++Wa+//3v84lPfILbbruNT37yk3zve9/jiiuuoLm5efPnDBo0iEcffZRrrrmGK664guuuu64HPyuSJEn5kNtgXEkTJkxg2bJl3HzzzRx77LFbvHb//fdz2223AXDooYeyatUq3nzzTQCOO+44+vbtS9++ffngBz/Iq6++2uX7T548mWHDhgHQ1NTEsmXLtgnGW7v//vs599xzAdh3333Zc889Wbp0KRMmTNjm2hNOaO+UN378ePbbbz+GDBkCwKhRo1ixYgX3338/J598Mv36tZ9enTlzJgsWLOCEE05g5MiRNDU1AXDAAQewbNmybtc0c+bMzdf97Gc/K7h+SZJUOY6MTie3wTjNzm4pnXDCCZx//vnMnz+fVatWbX6+q7KHTd0X+vbtu/m5hoYG2traunzvrq576KGH+Ku/+isALr30UnbZZZctvqerzwWYM2cOjz32GHvssQd33XXXFu/fq1evLT6rV69etLW1dfteXa1tU9lEoWsL/VglSVJlOTI6vdwG40o766yzGDBgAOPHj2f+/Pmbn58+fTo33XQTf//3f8/8+fMZNGjQNiG2s/79+7NmzZrEz5syZcrmcguAhQsXbvF9mz730EMPZenSpSxfvpwxY8Zwww03bPePbfr06cyePZsLL7yQGCO33347P/rRjwp+T9ofhyRJypdyjYyuBQbjbgwbNozzzjtvm+cvueQS5syZw4QJE9hpp5344Q9/WPB9Bg4cyLRp0xg3bhzHHHMMxx13XKrPnzBhAr1792bixInMnj2bz33uc5xzzjmMHz+e3r17M3fu3C12d7fHpEmTmD17NpMnTwbg05/+NPvvv3/BsonZs2dzzjnnsOOOO/Lggw/26HMlSVJpJA0BcQBIOqHQP6uXUnNzc2xpadniucWLFzN27NiKrEel4c+pJEmVN+/xlxjcf9sD+/D+jvFXjy9tGevKNes4oannLXCLEUJYGGNsTrrOHWNJkqQ6l3Q4D+rjgJ7BWJIkqY4lHc6D+jmgZzCWJEmqY0mH86B+Dug5+U6SJEnCYCxJkiQBBmNJkiQJsMZ4C6tWreKwww4D4A9/+AMNDQ0MHjwYgIcffpgddtihksuTJElSCRmMOxk4cODm6XOXXHIJO++8M+eff36FV1VYW1sbvXv70yhJkkorqaXbngP78amD9irfgkrAUooUvvWtb3HNNdcAcO6553LkkUcCcPfddzN79mwA/v3f/53x48czbtw4vvKVr2zzHnfffTennnrq5sc///nP+cQnPrH564MOOohJkyZx2mmn8c477wDwta99jQMPPJBx48ZxzjnnsGkYy0c+8hEuuugipk+fzve+972S/bglSZKgvaXbngN3qvQySi6/W40/vxD+8GS27/mh8XDMZdv9bdOnT+fqq6/mc5/7HI8++igbNmygra2N+++/n0MOOYTW1lYuvvhiWlpaGDBgAIcffjh33nknxx9//Ob3OOKII/jrv/5rVq1axcCBA7nhhhuYM2cOr732Gpdddhn33HMPO+20E9/85je56qqr+MpXvsJ5553H17/+dWKMzJo1i1/84hccc8wxALz11lv85je/yezWSJIkdSdNS7da4I5xCgceeCCPPPIIq1evZuedd+bAAw/kscceY8GCBRxyyCE89NBDHHrooQwaNIg+ffowa9asbUJrr169mDVrFj/+8Y95/fXXWbhwIUceeSS//e1vefrppzn44INpamripptuYtmyZQDcc889TJ48mYkTJ/I///M/LFr0/j9fnH766eW8BZIkSTUvvzvGPdjZLZW+ffuyxx57cOON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\n", 629 | "text/plain": [ 630 | "
" 631 | ] 632 | }, 633 | "metadata": { 634 | "needs_background": "light" 635 | }, 636 | "output_type": "display_data" 637 | } 638 | ], 639 | "source": [ 640 | "kmf = KaplanMeierFitter() \n", 641 | "\n", 642 | "\n", 643 | "T = df['tenure'] ## time to event\n", 644 | "E = df['Churn'] ## event occurred or censored\n", 645 | "\n", 646 | "\n", 647 | "groups = df['Contract'] ## Create the cohorts from the 'Contract' column\n", 648 | "ix1 = (groups == 'Month-to-month') ## Cohort 1\n", 649 | "ix2 = (groups == 'Two year') ## Cohort 2\n", 650 | "ix3 = (groups == 'One year') ## Cohort 3\n", 651 | "\n", 652 | "\n", 653 | "kmf.fit(T[ix1], E[ix1], label='Month-to-month') ## fit the cohort 1 data\n", 654 | "ax = kmf.plot()\n", 655 | "\n", 656 | "\n", 657 | "kmf.fit(T[ix2], E[ix2], label='Two year') ## fit the cohort 2 data\n", 658 | "ax1 = kmf.plot(ax=ax)\n", 659 | "\n", 660 | "\n", 661 | "kmf.fit(T[ix3], E[ix3], label='One year') ## fit the cohort 3 data\n", 662 | "kmf.plot(ax=ax1) ## Plot the KM curve for three cohort on same x and y axis" 663 | ] 664 | }, 665 | { 666 | "cell_type": "code", 667 | "execution_count": 79, 668 | "metadata": {}, 669 | "outputs": [ 670 | { 671 | "data": { 672 | "text/plain": [ 673 | "" 674 | ] 675 | }, 676 | "execution_count": 79, 677 | "metadata": {}, 678 | "output_type": "execute_result" 679 | }, 680 | { 681 | "data": { 682 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAF3CAYAAACmFo34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XuclWW9///XxUEgQVDQChBhCg05OOIgqaULUTAztNQUNQNT9q8y3f7MnZ3MaFt8t7V3WX7b4WFre1eYmkrkz6zEPKQmGB6Q2HhARUkRxcAjMNfvjxmmAWbWfTPrdK+1Xs/HYx7MWve97nXNzQyPN9d8rs8VYoxIkiRJ9a5bpQcgSZIkZYHBWJIkScJgLEmSJAEGY0mSJAkwGEuSJEmAwViSJEkCDMaSJEkSYDCWJEmSAIOxJEmSBBiMJUmSJAB6VOqNBw0aFIcPH16pt5ckSVKdWLx48csxxt2TzqtYMB4+fDiLFi2q1NtLkiSpToQQnklznqUUkiRJEgZjSZIkCTAYS5IkSUAFa4wlSVI2bNy4kVWrVvHWW29VeihSQXr37s3QoUPp2bNnl15vMJYkqc6tWrWKfv36MXz4cEIIlR6O1CUxRtauXcuqVasYMWJEl65hKYUkSXXurbfeYuDAgYZiVbUQAgMHDizoNx8GY0mSZChWTSj0+9hgLEmSKi6EwPnnn9/2+Lvf/S4XX3xx3tfcfPPNPP744x0eW758OblcjsbGRkaNGsWsWbMSx9C3b98dGnMaZ555ZtsYC71+Z6+/5JJLGD16NOPGjaOxsZEHHngAgO9///u88cYbBb1nVxx99NGsW7duh1/329/+lsbGRhobG+nbty/77LMPjY2NnHjiiQwcOJDXXnttq/OPO+44fvnLXxZr2IDBWJIkZUCvXr341a9+xcsvv5z6NfmC8TnnnMN5553HkiVLWLZsGV/4wheKNdTUNm/ezJVXXsm+++5bsve47777WLBgAQ899BCPPPIIv//979lzzz2B/MF48+bNJRvTrbfeyoABA3b4dVOnTmXJkiUsWbKEpqYmfvazn7FkyRKuv/56pkyZws0339x27muvvcY999zDMcccU8yhJwfjEMLVIYSXQgiPdXI8hBAuCyE8EUJ4JIQwvqgjlCRJNa9Hjx7MmjWL//iP/9ju2DPPPMPkyZMZN24ckydP5tlnn+VPf/oT8+fP54ILLqCxsZEnn3xyq9esXr2aoUOHtj0eO3YsANdccw1nn3122/PHHHMMd955Z9vj888/n/HjxzN58mTWrFkDwGWXXca+++7LuHHjOPnkkwHYsGEDM2fOZOzYsYwbN44bb7wRaJnVveiii5g4cSL33XcfuVxuq51+O7r+k08+yVFHHcUBBxzAhz/8Yf76178C8PTTT3PQQQcxYcIEvv71r3d431avXs2gQYPo1asXAIMGDWLw4MFcdtllvPDCC0yaNIlJkyZ1OLbFixdz2GGHccABBzB16lRWr14NwBVXXMGECRPYb7/9OP7449vC9YwZM/jsZz/LpEmTaGho4I9//CNnnHEGo0aNYsaMGW1jGj58OC+//DIrV65k1KhRnHXWWYwePZopU6bw5ptvAvDggw8ybtw4DjroIC644ALGjBnT4de3xfTp05k3b17b45tuuomjjjqKd73rXXlft6PSdKW4BvgR8NNOjn8EGNn6MRH4ceufkiSpynzz10t5/IW/F/Wa+w7ehW98bHTieZ///OcZN24c//Iv/7LV82effTann346n/70p7n66qs555xzuPnmm5k2bRrHHHMMJ5xwwnbXOu+88zj88MM5+OCDmTJlCjNnzkycxXz99dcZP3483/ve95g9ezbf/OY3+dGPfsScOXN4+umn6dWrV1uJwLe+9S369+/Po48+CsCrr77ado0xY8Ywe/bs1NefNWsW//mf/8nIkSN54IEH+NznPscdd9zBueeey2c/+1lOP/10Lr/88g7HPGXKFGbPns3ee+/NEUccwUknncRhhx3GOeecw7//+7+zcOFCBg0atN3YNm7cyGGHHcYtt9zC7rvvznXXXcdXv/pVrr76aj7xiU9w1llnAfC1r32Nq666qm3G/dVXX+WOO+5g/vz5fOxjH+Pee+/lyiuvZMKECSxZsoTGxsatxrdixQp+8YtfcMUVV/DJT36SG2+8kdNOO42ZM2cyd+5cDj74YC688MK8fy8ARx11FGeeeSZr165l4MCBzJs3ryS/BUgMxjHGu0IIw/Occizw0xhjBO4PIQwIIbw3xri6SGMsqvv/71n0W7cs7zkbRn6ciSeen/ccSZJUXLvssgunn346l112GX369Gl7/r777uNXv/oVAJ/61Ke2C84dmTlzJlOnTuW2227jlltu4Sc/+QkPP/xw3td069aNk046CYDTTjuNT3ziEwCMGzeOU089leOOO47jjjsOgN///vdbzWDuuuuuAHTv3p3jjz8+9fU3bNjAn/70J0488cS2895++20A7r333raZ6E996lN86Utf2u6affv2ZfHixdx9990sXLiQk046iTlz5mw1g7tF+7EtX76cxx57jCOPPBJoKa1473vfC8Bjjz3G1772NdatW8eGDRuYOnVq2zU+9rGPEUJg7NixvPvd726biR89ejQrV67cLhiPGDGi7bkDDjiAlStXsm7dOtavX8/BBx8MwCmnnMKCBQs6vGdb7LTTTkybNo0bbriB448/niVLljBlypS8r+mKYvQxHgI81+7xqtbntgvGIYRZwCyAYcOGFeGti2/Pd57kuRU3AQZjSVL9STOzW0r//M//zPjx45k5c2an56TtPDB48GDOOOMMzjjjDMaMGcNjjz1Gjx49aG5ubjsnX2uvLe/zm9/8hrvuuov58+fzrW99i6VLlxJj7HAcvXv3pnv37qnGF0KgubmZAQMGsGTJkrxjyKd79+7kcjlyuRxjx47l2muv7TAYtx9bjJHRo0dz3333bXfejBkzuPnmm9lvv/245pprtio12VKy0a1bt7bPtzzetGnTdtdqf0737t158803aZlL3XHTp0/nX//1X4kxcuyxx3Z5E498irH4rqO/sQ6/4hjj3BhjU4yxaffddy/CW++4D37uCkZ/5Z5OP57b6X0VGZckSYLddtuNT37yk1x11VVtzx188MFts7M/+9nP+NCHPgRAv379WL9+fYfXue2229i4cSMAf/vb31i7di1Dhgxh+PDhLFmyhObmZp577jn+/Oc/t72mubmZG264AYCf//znfOhDH2o7b9KkSfzbv/1b2yzqlClT+NGPftT22i2lFPl0dP1ddtmFESNGcP311wMtgXXLzPYhhxyy1dfdkeXLl7NixYq2x0uWLGGvvfZKvD/77LMPa9asaQvGGzduZOnSpQCsX7+e9773vWzcuLHT9y3ErrvuSr9+/bj//vsBtpp5z2fSpEmsWLGCyy+/nOnTpxd9XFCcYLwK2LPd46HAC0W4riRJqkPnn3/+Vt0pLrvsMv7rv/6LcePG8d///d/84Ac/AODkk0/m0ksvZf/9999u8d3tt9/OmDFj2G+//Zg6dSqXXnop73nPezjkkEMYMWIEY8eO5Ytf/CLjx/+jZ8DOO+/M0qVLOeCAA7jjjju46KKL2Lx5M6eddhpjx45l//3357zzzmPAgAF87Wtf49VXX217j4ULFyZ+XR1dH1pC71VXXcV+++3H6NGjueWWWwD4wQ9+wOWXX86ECRO2a1W2xYYNG/j0pz/dtjjw8ccfb2tzN2vWLD7ykY+0Lb5rb6edduKGG27gS1/6Evvttx+NjY386U9/AlrqpydOnMiRRx7JBz7wgcSvqyuuuuoqZs2axUEHHUSMkf79+ye+plu3bhx//PGsXbuWQw89tCTjCmmms1trjBfEGLdbMhhC+ChwNnA0LYvuLosxHph0zaampth+lWZWLP12y/9CR3/lngqPRJKk8li2bBmjRo2q9DBURzZs2NDWl3nOnDmsXr267T88hero+zmEsDjG2JT02sQa4xDCL4AcMCiEsAr4BtATIMb4n8CttITiJ4A3gM6LgiRJklT3fvOb3/Cd73yHTZs2sddee3HNNddUekhAuq4UeYs4WrtRfL5oI5IkSVJNO+mkk9o6dGSJO99JkiRJGIwlSZIkwGAsSZIkAQZjSZIkCTAYS5KkDLjkkksYPXo048aNo7GxkQceeCDv+RdffDHf/e53izqGRYsWcc455xTl+p29fvny5eRyORobGxk1ahSzZs0CWjbmuPXWW7v8fl01f/585syZ06XXfvzjH6exsZH3v//99O/fn8bGRhobG5kyZQpf/vKXtzp3yZIlVdESsBhbQkuSJHXZfffdx4IFC3jooYfo1asXL7/8Mu+8805Zx7Bp0yaamppoakpsdVuQc845h/POO49jjz0WgEcffRRoCY6LFi3i6KOP7nBsPXqUJrJNmzaNadOmdem1N910EwB33nkn3/3ud1mwYAHQEv4/8pGP8J3vfKft3Hnz5nHKKacUPuASc8a4I5s3waM3dP6x4neVHqEkSTVj9erVDBo0iF69egEwaNAgBg8eDMDw4cPbdsFbtGgRuVyu7XUPP/wwhx9+OCNHjuSKK65ou9ahhx5KY2MjY8aM4e677wZatogeP348++23H5MnTwZaZnVnzZrFlClTOP3007nzzjs55phj8l4f4NJLL2XChAmMGzeOb3zjG23PX3LJJeyzzz4cccQRLF++vNOvdejQoW2Px44dyzvvvMNFF13EddddR2NjI9ddd912Y9u8eTMXXHBB2/v+5Cc/AVo2ypg8eTLjx49n7NixbbvmrVy5kg984AOceeaZjBkzhlNPPZXf//73HHLIIYwcObJtK+xrrrmGs88+G4AZM2ZwzjnncPDBB9PQ0NC2fXVzczOf+9znGD16NMcccwxHH31027GO7LPPPgwYMGCrWf9f/vKXnHzyyZ2+JiucMe5QhL7v7vzwhhfLNxRJksrp/7sQ/vZoca/5nrHwkc5/XT9lyhRmz57N3nvvzRFHHMFJJ53EYYcdlnjZRx55hPvvv5/XX3+d/fffn49+9KP84he/YOrUqXz1q19l8+bNvPHGG6xZs4azzjqLu+66ixEjRvDKK6+0XWPx4sXcc8899OnThzvvvDPx+o899hgrVqzgz3/+MzFGpk2bxl133cXOO+/MvHnz+Mtf/sKmTZsYP348BxxwwHZjPu+88zj88MM5+OCDmTJlCjNnzmTAgAHMnj2bRYsW8aMf/QhoCe3txzZ37lz69+/Pgw8+yNtvv80hhxzClClT2HPPPbnpppvYZZddePnll/ngBz/YNgP8xBNPcP311zN37lwmTJjAz3/+c+655x7mz5/Pt7/9bW6++ebtxrd69Wruuece/vrXvzJt2jROOOEEfvWrX7Fy5UoeffRRXnrpJUaNGsUZZ5yR9+9m+vTpzJs3j4kTJ3L//fczcOBARo4cmfh3WmkG4w4M3/ws3HZh5ycMHg9jTyjfgCRJqmF9+/Zl8eLF3H333SxcuJCTTjqJOXPmMGPGjLyvO/bYY+nTpw99+vRh0qRJ/PnPf2bChAmcccYZbNy4keOOO47GxkbuvPNODj30UEaMGAHAbrvt1naNadOm0adPn9TXv+eee7j99tvZf//9gZYZ2xUrVrB+/Xo+/vGP8653vavtuh2ZOXMmU6dO5bbbbuOWW27hJz/5CQ8//HCH57Yf2+23384jjzzSNlP72muvsWLFCoYOHcpXvvIV7rrrLrp168bzzz/Piy+2TOCNGDGCsWPHAjB69GgmT55MCIGxY8eycuXKDt/zuOOOo1u3buy7775t17nnnns48cQT6datG+95z3uYNGlSx38h7Zx88skcfPDBfO9732PevHlMn553v7jMMBhv494+k2DzRkZ3dsIrT8PmjeUckiRJ5ZNnZreUunfvTi6XI5fLMXbsWK699lpmzJhBjx49aG5uBuCtt97a6jUhhO0eH3roodx111385je/4VOf+hQXXHABAwYM2O7cLXbeeedOx9TR9WOMfPnLX+af/umftjr2/e9/v9P32NbgwYM544wzOOOMMxgzZgyPPfZY4thijPzwhz9k6tSpW51zzTXXsGbNGhYvXkzPnj0ZPnx4233aUpoC0K1bt7bH3bp1Y9OmTR2+Z/vXtGxu/I8/d8See+7J8OHD+eMf/8iNN97Ifffdt8PXqARrjLfxh3cdzeydvwpHzen4Y7cRlR6iJEk1Zfny5axYsaLt8ZIlS9hrr72AlhrjxYsXA3DjjTdu9bpbbrmFt956i7Vr13LnnXcyYcIEnnnmGfbYYw/OOussPvOZz/DQQw9x0EEH8cc//pGnn34aYKtSinw6uv7UqVO5+uqr2bBhAwDPP/88L730Eoceeig33XQTb775JuvXr+fXv/51h9e87bbb2LixZYLtb3/7G2vXrmXIkCH069eP9evXdzqWqVOn8uMf/7jttf/7v//L66+/zmuvvcYee+xBz549WbhwIc8880yqr21HfOhDH+LGG2+kubmZF198cbuSk85Mnz6d8847j/e9731b1VVnmTPGkiSpojZs2MAXvvAF1q1bR48ePXj/+9/P3LlzAfjGN77BZz7zGb797W8zceLErV534IEH8tGPfpRnn32Wr3/96wwePJhrr72WSy+9lJ49e9K3b19++tOfsvvuuzN37lw+8YlP0NzczB577MHvfpe8kL6j6w8ePJhly5Zx0EEHAS1lIP/zP//D+PHjOemkk2hsbGSvvfbiwx/+cIfXvP322zn33HPp3bs30LKQb0t5wpw5c2hsbNyu1RnAmWeeycqVKxk/fjwxRnbffXduvvlmTj31VD72sY/R1NREY2MjH/jAB3bo3qdx/PHH84c//IExY8aw9957M3HiRPr375/4uhNPPJFzzz2XH/7wh0UfU6mErkyPF0NTU1NctGhRRd47n5N+ch+8vobrPr5rxyfcdiFsehtyeWqQAXr3h5FHFn+AkiQV2bJly6qix6wqZ8OGDfTt25e1a9dy4IEHcu+99/Ke97yn0sPqUEffzyGExTHGxF58zhh3pFuPzjtPbKkvzte1AuxcIUmSasYxxxzDunXreOedd/j617+e2VBcKINxR/rsCmO3b7ANwKL/gtfXlHc8kiRJFZS2rrjaGYy74rWEdm5gSzdJkqQqYzDe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\n", 683 | "text/plain": [ 684 | "
" 685 | ] 686 | }, 687 | "metadata": { 688 | "needs_background": "light" 689 | }, 690 | "output_type": "display_data" 691 | } 692 | ], 693 | "source": [ 694 | "kmf1 = KaplanMeierFitter() ## instantiate the class to create an object\n", 695 | "\n", 696 | "## Two Cohorts are compared. 1. Streaming TV Not Subsribed by Users, 2. Streaming TV subscribed by the users.\n", 697 | "groups = df['StreamingTV'] \n", 698 | "i1 = (groups == 'No') ## group i1 , having the pandas series for the 1st cohort\n", 699 | "i2 = (groups == 'Yes') ## group i2 , having the pandas series for the 2nd cohort\n", 700 | "\n", 701 | "\n", 702 | "## fit the model for 1st cohort\n", 703 | "kmf1.fit(T[i1], E[i1], label='Not Subscribed StreamingTV')\n", 704 | "a1 = kmf1.plot()\n", 705 | "\n", 706 | "## fit the model for 2nd cohort\n", 707 | "kmf1.fit(T[i2], E[i2], label='Subscribed StreamingTV')\n", 708 | "kmf1.plot(ax=a1)" 709 | ] 710 | }, 711 | { 712 | "cell_type": "markdown", 713 | "metadata": {}, 714 | "source": [ 715 | "## Cox Proportional Hazard Model (Survival Regression)" 716 | ] 717 | }, 718 | { 719 | "cell_type": "code", 720 | "execution_count": 80, 721 | "metadata": {}, 722 | "outputs": [], 723 | "source": [ 724 | "from lifelines import CoxPHFitter " 725 | ] 726 | }, 727 | { 728 | "cell_type": "code", 729 | "execution_count": 82, 730 | "metadata": {}, 731 | "outputs": [ 732 | { 733 | "data": { 734 | "text/html": [ 735 | "
\n", 736 | "\n", 749 | "\n", 750 | " \n", 751 | " \n", 752 | " \n", 753 | " \n", 754 | " \n", 755 | " \n", 756 | " \n", 757 | " \n", 758 | " \n", 759 | " \n", 760 | " \n", 761 | " \n", 762 | " \n", 763 | " \n", 764 | " \n", 765 | " \n", 766 | " \n", 767 | " \n", 768 | " \n", 769 | " \n", 770 | " \n", 771 | " \n", 772 | " \n", 773 | " \n", 774 | " \n", 775 | " \n", 776 | " \n", 777 | " \n", 778 | " \n", 779 | " \n", 780 | " \n", 781 | " \n", 782 | " \n", 783 | " \n", 784 | " \n", 785 | " \n", 786 | " \n", 787 | " \n", 788 | " \n", 789 | " \n", 790 | " \n", 791 | " \n", 792 | " \n", 793 | " \n", 794 | " \n", 795 | " \n", 796 | " \n", 797 | " \n", 798 | " \n", 799 | " \n", 800 | " \n", 801 | " \n", 802 | " \n", 803 | " \n", 804 | " \n", 805 | " \n", 806 | " \n", 807 | " \n", 808 | " \n", 809 | " \n", 810 | " \n", 811 | " \n", 812 | " \n", 813 | " \n", 814 | " \n", 815 | " \n", 816 | " \n", 817 | " \n", 818 | " \n", 819 | " \n", 820 | " \n", 821 | " \n", 822 | " \n", 823 | " \n", 824 | " \n", 825 | " \n", 826 | "
tenureChurngenderPartnerDependentsPhoneServiceMonthlyChargesSeniorCitizenStreamingTV
010FemaleYesNoNo29.850No
1340MaleNoNoYes56.950No
221MaleNoNoYes53.850No
3450MaleNoNoNo42.300No
421FemaleNoNoYes70.700No
\n", 827 | "
" 828 | ], 829 | "text/plain": [ 830 | " tenure Churn gender Partner Dependents PhoneService MonthlyCharges \\\n", 831 | "0 1 0 Female Yes No No 29.85 \n", 832 | "1 34 0 Male No No Yes 56.95 \n", 833 | "2 2 1 Male No No Yes 53.85 \n", 834 | "3 45 0 Male No No No 42.30 \n", 835 | "4 2 1 Female No No Yes 70.70 \n", 836 | "\n", 837 | " SeniorCitizen StreamingTV \n", 838 | "0 0 No \n", 839 | "1 0 No \n", 840 | "2 0 No \n", 841 | "3 0 No \n", 842 | "4 0 No " 843 | ] 844 | }, 845 | "execution_count": 82, 846 | "metadata": {}, 847 | "output_type": "execute_result" 848 | } 849 | ], 850 | "source": [ 851 | "## My objective here is to introduce you to the implementation of the model.Thus taking subset of the columns to train the model.\n", 852 | "## Only using the subset of the columns present in the original data\n", 853 | "df_r= df.loc[:,['tenure','Churn','gender','Partner','Dependents','PhoneService','MonthlyCharges','SeniorCitizen','StreamingTV']]\n", 854 | "df_r.head() ## have a look at the data " 855 | ] 856 | }, 857 | { 858 | "cell_type": "code", 859 | "execution_count": 83, 860 | "metadata": {}, 861 | "outputs": [ 862 | { 863 | "data": { 864 | "text/html": [ 865 | "
\n", 866 | "\n", 879 | "\n", 880 | " \n", 881 | " \n", 882 | " \n", 883 | " \n", 884 | " \n", 885 | " \n", 886 | " \n", 887 | " \n", 888 | " \n", 889 | " \n", 890 | " \n", 891 | " \n", 892 | " \n", 893 | " \n", 894 | " \n", 895 | " \n", 896 | " \n", 897 | " \n", 898 | " \n", 899 | " \n", 900 | " \n", 901 | " \n", 902 | " \n", 903 | " \n", 904 | " \n", 905 | " \n", 906 | " \n", 907 | " \n", 908 | " \n", 909 | " \n", 910 | " \n", 911 | " \n", 912 | " \n", 913 | " \n", 914 | " \n", 915 | " \n", 916 | " \n", 917 | " \n", 918 | " \n", 919 | " \n", 920 | " \n", 921 | " \n", 922 | " \n", 923 | " \n", 924 | " \n", 925 | " \n", 926 | " \n", 927 | " \n", 928 | " \n", 929 | " \n", 930 | " \n", 931 | " \n", 932 | " \n", 933 | " \n", 934 | " \n", 935 | " \n", 936 | " \n", 937 | " \n", 938 | " \n", 939 | " \n", 940 | " \n", 941 | " \n", 942 | " \n", 943 | " \n", 944 | " \n", 945 | " \n", 946 | " \n", 947 | " \n", 948 | " \n", 949 | " \n", 950 | " \n", 951 | " \n", 952 | " \n", 953 | " \n", 954 | " \n", 955 | " \n", 956 | " \n", 957 | " \n", 958 | " \n", 959 | " \n", 960 | " \n", 961 | " \n", 962 | "
tenureChurnMonthlyChargesSeniorCitizengender_MalePartner_YesDependents_YesPhoneService_YesStreamingTV_No internet serviceStreamingTV_Yes
01029.850010000
134056.950100100
22153.850100100
345042.300100000
42170.700000100
\n", 963 | "
" 964 | ], 965 | "text/plain": [ 966 | " tenure Churn MonthlyCharges SeniorCitizen gender_Male Partner_Yes \\\n", 967 | "0 1 0 29.85 0 0 1 \n", 968 | "1 34 0 56.95 0 1 0 \n", 969 | "2 2 1 53.85 0 1 0 \n", 970 | "3 45 0 42.30 0 1 0 \n", 971 | "4 2 1 70.70 0 0 0 \n", 972 | "\n", 973 | " Dependents_Yes PhoneService_Yes StreamingTV_No internet service \\\n", 974 | "0 0 0 0 \n", 975 | "1 0 1 0 \n", 976 | "2 0 1 0 \n", 977 | "3 0 0 0 \n", 978 | "4 0 1 0 \n", 979 | "\n", 980 | " StreamingTV_Yes \n", 981 | "0 0 \n", 982 | "1 0 \n", 983 | "2 0 \n", 984 | "3 0 \n", 985 | "4 0 " 986 | ] 987 | }, 988 | "execution_count": 83, 989 | "metadata": {}, 990 | "output_type": "execute_result" 991 | } 992 | ], 993 | "source": [ 994 | "## Create dummy variables\n", 995 | "df_dummy = pd.get_dummies(df_r, drop_first=True)\n", 996 | "df_dummy.head()" 997 | ] 998 | }, 999 | { 1000 | "cell_type": "code", 1001 | "execution_count": 84, 1002 | "metadata": {}, 1003 | "outputs": [ 1004 | { 1005 | "name": "stdout", 1006 | "output_type": "stream", 1007 | "text": [ 1008 | "\n", 1009 | " duration col = tenure\n", 1010 | " event col = Churn\n", 1011 | "number of subjects = 7043\n", 1012 | " number of events = 1869\n", 1013 | " log-likelihood = -15182.388\n", 1014 | " time fit was run = 2019-01-06 06:00:01 UTC\n", 1015 | "\n", 1016 | "---\n", 1017 | " coef exp(coef) se(coef) z p lower 0.95 upper 0.95 \n", 1018 | "MonthlyCharges -0.0109 0.9892 0.0018 -6.1274 0.0000 -0.0143 -0.0074 ***\n", 1019 | "SeniorCitizen 0.3964 1.4864 0.0554 7.1581 0.0000 0.2878 0.5049 ***\n", 1020 | "gender_Male -0.0107 0.9894 0.0463 -0.2311 0.8173 -0.1015 0.0801 \n", 1021 | "Partner_Yes -0.8091 0.4452 0.0542 -14.9282 0.0000 -0.9154 -0.7029 ***\n", 1022 | "Dependents_Yes -0.3559 0.7006 0.0682 -5.2149 0.0000 -0.4896 -0.2221 ***\n", 1023 | "PhoneService_Yes 0.6914 1.9964 0.1040 6.6472 0.0000 0.4875 0.8952 ***\n", 1024 | "StreamingTV_No internet service -2.1020 0.1222 0.1331 -15.7869 0.0000 -2.3630 -1.8410 ***\n", 1025 | "StreamingTV_Yes -0.1906 0.8265 0.0614 -3.1031 0.0019 -0.3110 -0.0702 *\n", 1026 | "---\n", 1027 | "Signif. codes: 0 '***' 0.0001 '**' 0.001 '*' 0.01 '.' 0.05 ' ' 1\n", 1028 | "\n", 1029 | "Concordance = 0.711\n", 1030 | "Likelihood ratio test = 941.304 on 8 df, p=0.00000\n" 1031 | ] 1032 | } 1033 | ], 1034 | "source": [ 1035 | "# Using Cox Proportional Hazards model\n", 1036 | "cph = CoxPHFitter() ## Instantiate the class to create a cph object\n", 1037 | "cph.fit(df_dummy, 'tenure', event_col='Churn') ## Fit the data to train the model\n", 1038 | "cph.print_summary() ## HAve a look at the significance of the features" 1039 | ] 1040 | }, 1041 | { 1042 | "cell_type": "code", 1043 | "execution_count": 90, 1044 | "metadata": {}, 1045 | "outputs": [ 1046 | { 1047 | "data": { 1048 | "text/plain": [ 1049 | "" 1050 | ] 1051 | }, 1052 | "execution_count": 90, 1053 | "metadata": {}, 1054 | "output_type": "execute_result" 1055 | }, 1056 | { 1057 | "data": { 1058 | "image/png": "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\n", 1059 | "text/plain": [ 1060 | "
" 1061 | ] 1062 | }, 1063 | "metadata": { 1064 | "needs_background": "light" 1065 | }, 1066 | "output_type": "display_data" 1067 | } 1068 | ], 1069 | "source": [ 1070 | "cph.plot()" 1071 | ] 1072 | }, 1073 | { 1074 | "cell_type": "code", 1075 | "execution_count": 85, 1076 | "metadata": {}, 1077 | "outputs": [ 1078 | { 1079 | "data": { 1080 | "text/plain": [ 1081 | "['__class__',\n", 1082 | " '__delattr__',\n", 1083 | " '__dict__',\n", 1084 | " '__dir__',\n", 1085 | " '__doc__',\n", 1086 | " '__eq__',\n", 1087 | " '__format__',\n", 1088 | " '__ge__',\n", 1089 | " '__getattribute__',\n", 1090 | " '__gt__',\n", 1091 | " '__hash__',\n", 1092 | " '__init__',\n", 1093 | " '__init_subclass__',\n", 1094 | " '__le__',\n", 1095 | " '__lt__',\n", 1096 | " '__module__',\n", 1097 | " '__ne__',\n", 1098 | " '__new__',\n", 1099 | " '__reduce__',\n", 1100 | " '__reduce_ex__',\n", 1101 | " '__repr__',\n", 1102 | " '__setattr__',\n", 1103 | " '__sizeof__',\n", 1104 | " '__str__',\n", 1105 | " '__subclasshook__',\n", 1106 | " '__weakref__',\n", 1107 | " '_check_values',\n", 1108 | " '_compute_baseline_cumulative_hazard',\n", 1109 | " '_compute_baseline_hazard',\n", 1110 | " '_compute_baseline_hazards',\n", 1111 | " '_compute_baseline_survival',\n", 1112 | " '_compute_confidence_intervals',\n", 1113 | " '_compute_delta_beta',\n", 1114 | " '_compute_likelihood_ratio_test',\n", 1115 | " '_compute_p_values',\n", 1116 | " '_compute_residuals_within_strata',\n", 1117 | " '_compute_sandwich_estimator',\n", 1118 | " '_compute_standard_errors',\n", 1119 | " '_compute_z_values',\n", 1120 | " '_concordance_score_',\n", 1121 | " '_get_efron_values',\n", 1122 | " '_hessian_',\n", 1123 | " '_log_likelihood',\n", 1124 | " '_n_examples',\n", 1125 | " '_newton_rhaphson',\n", 1126 | " '_norm_mean',\n", 1127 | " '_norm_std',\n", 1128 | " '_score_',\n", 1129 | " '_time_fit_was_called',\n", 1130 | " '_train_log_partial_hazard',\n", 1131 | " 'alpha',\n", 1132 | " 'baseline_cumulative_hazard_',\n", 1133 | " 'baseline_hazard_',\n", 1134 | " 'baseline_survival_',\n", 1135 | " 'cluster_col',\n", 1136 | " 'confidence_intervals_',\n", 1137 | " 'duration_col',\n", 1138 | " 'durations',\n", 1139 | " 'event_col',\n", 1140 | " 'event_observed',\n", 1141 | " 'fit',\n", 1142 | " 'hazards_',\n", 1143 | " 'path',\n", 1144 | " 'penalizer',\n", 1145 | " 'plot',\n", 1146 | " 'plot_covariate_groups',\n", 1147 | " 'predict_cumulative_hazard',\n", 1148 | " 'predict_expectation',\n", 1149 | " 'predict_log_hazard_relative_to_mean',\n", 1150 | " 'predict_log_partial_hazard',\n", 1151 | " 'predict_median',\n", 1152 | " 'predict_partial_hazard',\n", 1153 | " 'predict_percentile',\n", 1154 | " 'predict_survival_function',\n", 1155 | " 'print_summary',\n", 1156 | " 'robust',\n", 1157 | " 'score_',\n", 1158 | " 'standard_errors_',\n", 1159 | " 'strata',\n", 1160 | " 'summary',\n", 1161 | " 'tie_method',\n", 1162 | " 'variance_matrix_',\n", 1163 | " 'weights',\n", 1164 | " 'weights_col']" 1165 | ] 1166 | }, 1167 | "execution_count": 85, 1168 | "metadata": {}, 1169 | "output_type": "execute_result" 1170 | } 1171 | ], 1172 | "source": [ 1173 | "## Check all the methods and attributes associated with the cph object.\n", 1174 | "dir(cph)" 1175 | ] 1176 | }, 1177 | { 1178 | "cell_type": "code", 1179 | "execution_count": 91, 1180 | "metadata": {}, 1181 | "outputs": [ 1182 | { 1183 | "data": { 1184 | "text/html": [ 1185 | "
\n", 1186 | "\n", 1199 | "\n", 1200 | " \n", 1201 | " \n", 1202 | " \n", 1203 | " \n", 1204 | " \n", 1205 | " \n", 1206 | " \n", 1207 | " \n", 1208 | " \n", 1209 | " \n", 1210 | " \n", 1211 | " \n", 1212 | " \n", 1213 | " \n", 1214 | " \n", 1215 | " \n", 1216 | " \n", 1217 | " \n", 1218 | " \n", 1219 | " \n", 1220 | " \n", 1221 | " \n", 1222 | " \n", 1223 | " \n", 1224 | " \n", 1225 | " \n", 1226 | " \n", 1227 | " \n", 1228 | " \n", 1229 | " \n", 1230 | " \n", 1231 | " \n", 1232 | " \n", 1233 | " \n", 1234 | " \n", 1235 | " \n", 1236 | " \n", 1237 | " \n", 1238 | " \n", 1239 | " \n", 1240 | " \n", 1241 | " \n", 1242 | " \n", 1243 | " \n", 1244 | " \n", 1245 | " \n", 1246 | " \n", 1247 | " \n", 1248 | " \n", 1249 | " \n", 1250 | " \n", 1251 | " \n", 1252 | " \n", 1253 | " \n", 1254 | " \n", 1255 | " \n", 1256 | " \n", 1257 | " \n", 1258 | " \n", 1259 | " \n", 1260 | " \n", 1261 | " \n", 1262 | " \n", 1263 | " \n", 1264 | " \n", 1265 | " \n", 1266 | " \n", 1267 | " \n", 1268 | " \n", 1269 | " \n", 1270 | "
MonthlyChargesSeniorCitizengender_MalePartner_YesDependents_YesPhoneService_YesStreamingTV_No internet serviceStreamingTV_Yes
599.650000101
689.100101101
729.750000000
8104.800010101
956.150101100
\n", 1271 | "
" 1272 | ], 1273 | "text/plain": [ 1274 | " MonthlyCharges SeniorCitizen gender_Male Partner_Yes Dependents_Yes \\\n", 1275 | "5 99.65 0 0 0 0 \n", 1276 | "6 89.10 0 1 0 1 \n", 1277 | "7 29.75 0 0 0 0 \n", 1278 | "8 104.80 0 0 1 0 \n", 1279 | "9 56.15 0 1 0 1 \n", 1280 | "\n", 1281 | " PhoneService_Yes StreamingTV_No internet service StreamingTV_Yes \n", 1282 | "5 1 0 1 \n", 1283 | "6 1 0 1 \n", 1284 | "7 0 0 0 \n", 1285 | "8 1 0 1 \n", 1286 | "9 1 0 0 " 1287 | ] 1288 | }, 1289 | "execution_count": 91, 1290 | "metadata": {}, 1291 | "output_type": "execute_result" 1292 | } 1293 | ], 1294 | "source": [ 1295 | "## We want to see the Survival curve at the customer level. Therefore, we have selected 6 customers (rows 5 till 9).\n", 1296 | "\n", 1297 | "tr_rows = df_dummy.iloc[5:10, 2:]\n", 1298 | "tr_rows" 1299 | ] 1300 | }, 1301 | { 1302 | "cell_type": "code", 1303 | "execution_count": 92, 1304 | "metadata": {}, 1305 | "outputs": [ 1306 | { 1307 | "data": { 1308 | "text/plain": [ 1309 | "" 1310 | ] 1311 | }, 1312 | "execution_count": 92, 1313 | "metadata": {}, 1314 | "output_type": "execute_result" 1315 | }, 1316 | { 1317 | "data": { 1318 | "image/png": "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\n", 1319 | "text/plain": [ 1320 | "
" 1321 | ] 1322 | }, 1323 | "metadata": { 1324 | "needs_background": "light" 1325 | }, 1326 | "output_type": "display_data" 1327 | } 1328 | ], 1329 | "source": [ 1330 | "## Lets predict the survival curve for the selected customers. \n", 1331 | "## Customers can be identified with the help of the number mentioned against each curve.\n", 1332 | "cph.predict_survival_function(tr_rows).plot()" 1333 | ] 1334 | } 1335 | ], 1336 | "metadata": { 1337 | "kernelspec": { 1338 | "display_name": "Python 3", 1339 | "language": "python", 1340 | "name": "python3" 1341 | }, 1342 | "language_info": { 1343 | "codemirror_mode": { 1344 | "name": "ipython", 1345 | "version": 3 1346 | }, 1347 | "file_extension": ".py", 1348 | "mimetype": "text/x-python", 1349 | "name": "python", 1350 | "nbconvert_exporter": "python", 1351 | "pygments_lexer": "ipython3", 1352 | "version": "3.7.0" 1353 | } 1354 | }, 1355 | "nbformat": 4, 1356 | "nbformat_minor": 2 1357 | } 1358 | --------------------------------------------------------------------------------