arminch83/Churn-Modeling
0
1{2 "cells": [3 {4 "cell_type": "markdown",5 "id": "f6959862-f735-44a4-8067-169630fd49e5",6 "metadata": {},7 "source": [8 "# Import"9 ]10 },11 {12 "cell_type": "code",13 "execution_count": 27,14 "id": "dd6fe357-7e15-4fea-9763-bab7b2e42bfa",15 "metadata": {},16 "outputs": [],17 "source": [18 "import numpy as np\n",19 "import pandas as pd\n",20 "from matplotlib import pyplot as plt\n",21 "import seaborn as sns\n",22 "%matplotlib inline\n",23 "\n",24 "from sklearn.naive_bayes import GaussianNB\n",25 "from xgboost import XGBClassifier\n",26 "from sklearn.metrics import classification_report\n",27 "\n",28 "from sklearn.preprocessing import MinMaxScaler\n",29 "from sklearn.model_selection import train_test_split\n",30 "from sklearn.model_selection import GridSearchCV\n",31 "\n",32 "from imblearn.over_sampling import SMOTE\n",33 "\n",34 "import joblib\n",35 "\n",36 "import warnings\n",37 "warnings.filterwarnings('ignore')"38 ]39 },40 {41 "cell_type": "markdown",42 "id": "6e0b71f0-6e1e-4b05-b990-c6100071854c",43 "metadata": {},44 "source": [45 "# Import data"46 ]47 },48 {49 "cell_type": "code",50 "execution_count": 28,51 "id": "d68d5d5e-b60a-4116-86a8-4d16cbc4d1d7",52 "metadata": {},53 "outputs": [],54 "source": [55 "data = pd.read_csv('F:/IT_customer_churn.csv')"56 ]57 },58 {59 "cell_type": "code",60 "execution_count": 29,61 "id": "422f1890-2a83-479c-b72f-127388691d7b",62 "metadata": {},63 "outputs": [64 {65 "data": {66 "text/html": [67 "<div>\n",68 "<style scoped>\n",69 " .dataframe tbody tr th:only-of-type {\n",70 " vertical-align: middle;\n",71 " }\n",72 "\n",73 " .dataframe tbody tr th {\n",74 " vertical-align: top;\n",75 " }\n",76 "\n",77 " .dataframe thead th {\n",78 " text-align: right;\n",79 " }\n",80 "</style>\n",81 "<table border=\"1\" class=\"dataframe\">\n",82 " <thead>\n",83 " <tr style=\"text-align: right;\">\n",84 " <th></th>\n",85 " <th>gender</th>\n",86 " <th>SeniorCitizen</th>\n",87 " <th>Partner</th>\n",88 " <th>Dependents</th>\n",89 " <th>tenure</th>\n",90 " <th>PhoneService</th>\n",91 " <th>MultipleLines</th>\n",92 " <th>InternetService</th>\n",93 " <th>OnlineSecurity</th>\n",94 " <th>OnlineBackup</th>\n",95 " <th>DeviceProtection</th>\n",96 " <th>TechSupport</th>\n",97 " <th>StreamingTV</th>\n",98 " <th>StreamingMovies</th>\n",99 " <th>Contract</th>\n",100 " <th>PaperlessBilling</th>\n",101 " <th>PaymentMethod</th>\n",102 " <th>MonthlyCharges</th>\n",103 " <th>TotalCharges</th>\n",104 " <th>Churn</th>\n",105 " </tr>\n",106 " </thead>\n",107 " <tbody>\n",108 " <tr>\n",109 " <th>5446</th>\n",110 " <td>Male</td>\n",111 " <td>0</td>\n",112 " <td>No</td>\n",113 " <td>No</td>\n",114 " <td>1</td>\n",115 " <td>Yes</td>\n",116 " <td>No</td>\n",117 " <td>No</td>\n",118 " <td>No internet service</td>\n",119 " <td>No internet service</td>\n",120 " <td>No internet service</td>\n",121 " <td>No internet service</td>\n",122 " <td>No internet service</td>\n",123 " <td>No internet service</td>\n",124 " <td>Month-to-month</td>\n",125 " <td>No</td>\n",126 " <td>Mailed check</td>\n",127 " <td>19.65</td>\n",128 " <td>19.65</td>\n",129 " <td>Yes</td>\n",130 " </tr>\n",131 " <tr>\n",132 " <th>4779</th>\n",133 " <td>Female</td>\n",134 " <td>0</td>\n",135 " <td>Yes</td>\n",136 " <td>No</td>\n",137 " <td>19</td>\n",138 " <td>Yes</td>\n",139 " <td>No</td>\n",140 " <td>Fiber optic</td>\n",141 " <td>No</td>\n",142 " <td>No</td>\n",143 " <td>Yes</td>\n",144 " <td>No</td>\n",145 " <td>Yes</td>\n",146 " <td>Yes</td>\n",147 " <td>Month-to-month</td>\n",148 " <td>Yes</td>\n",149 " <td>Electronic check</td>\n",150 " <td>96.80</td>\n",151 " <td>1743.05</td>\n",152 " <td>No</td>\n",153 " </tr>\n",154 " <tr>\n",155 " <th>225</th>\n",156 " <td>Male</td>\n",157 " <td>0</td>\n",158 " <td>No</td>\n",159 " <td>No</td>\n",160 " <td>24</td>\n",161 " <td>No</td>\n",162 " <td>No phone service</td>\n",163 " <td>DSL</td>\n",164 " <td>Yes</td>\n",165 " <td>No</td>\n",166 " <td>No</td>\n",167 " <td>No</td>\n",168 " <td>Yes</td>\n",169 " <td>Yes</td>\n",170 " <td>One year</td>\n",171 " <td>Yes</td>\n",172 " <td>Mailed check</td>\n",173 " <td>50.60</td>\n",174 " <td>1288.75</td>\n",175 " <td>No</td>\n",176 " </tr>\n",177 " <tr>\n",178 " <th>5138</th>\n",179 " <td>Male</td>\n",180 " <td>1</td>\n",181 " <td>No</td>\n",182 " <td>No</td>\n",183 " <td>71</td>\n",184 " <td>Yes</td>\n",185 " <td>Yes</td>\n",186 " <td>Fiber optic</td>\n",187 " <td>No</td>\n",188 " <td>Yes</td>\n",189 " <td>No</td>\n",190 " <td>Yes</td>\n",191 " <td>Yes</td>\n",192 " <td>Yes</td>\n",193 " <td>Two year</td>\n",194 " <td>Yes</td>\n",195 " <td>Electronic check</td>\n",196 " <td>106.80</td>\n",197 " <td>7623.2</td>\n",198 " <td>No</td>\n",199 " </tr>\n",200 " <tr>\n",201 " <th>5364</th>\n",202 " <td>Male</td>\n",203 " <td>0</td>\n",204 " <td>No</td>\n",205 " <td>No</td>\n",206 " <td>18</td>\n",207 " <td>Yes</td>\n",208 " <td>Yes</td>\n",209 " <td>Fiber optic</td>\n",210 " <td>No</td>\n",211 " <td>No</td>\n",212 " <td>Yes</td>\n",213 " <td>No</td>\n",214 " <td>No</td>\n",215 " <td>Yes</td>\n",216 " <td>Month-to-month</td>\n",217 " <td>Yes</td>\n",218 " <td>Credit card (automatic)</td>\n",219 " <td>90.70</td>\n",220 " <td>1597.25</td>\n",221 " <td>Yes</td>\n",222 " </tr>\n",223 " </tbody>\n",224 "</table>\n",225 "</div>"226 ],227 "text/plain": [228 " gender SeniorCitizen Partner Dependents tenure PhoneService \\\n",229 "5446 Male 0 No No 1 Yes \n",230 "4779 Female 0 Yes No 19 Yes \n",231 "225 Male 0 No No 24 No \n",232 "5138 Male 1 No No 71 Yes \n",233 "5364 Male 0 No No 18 Yes \n",234 "\n",235 " MultipleLines InternetService OnlineSecurity \\\n",236 "5446 No No No internet service \n",237 "4779 No Fiber optic No \n",238 "225 No phone service DSL Yes \n",239 "5138 Yes Fiber optic No \n",240 "5364 Yes Fiber optic No \n",241 "\n",242 " OnlineBackup DeviceProtection TechSupport \\\n",243 "5446 No internet service No internet service No internet service \n",244 "4779 No Yes No \n",245 "225 No No No \n",246 "5138 Yes No Yes \n",247 "5364 No Yes No \n",248 "\n",249 " StreamingTV StreamingMovies Contract \\\n",250 "5446 No internet service No internet service Month-to-month \n",251 "4779 Yes Yes Month-to-month \n",252 "225 Yes Yes One year \n",253 "5138 Yes Yes Two year \n",254 "5364 No Yes Month-to-month \n",255 "\n",256 " PaperlessBilling PaymentMethod MonthlyCharges TotalCharges \\\n",257 "5446 No Mailed check 19.65 19.65 \n",258 "4779 Yes Electronic check 96.80 1743.05 \n",259 "225 Yes Mailed check 50.60 1288.75 \n",260 "5138 Yes Electronic check 106.80 7623.2 \n",261 "5364 Yes Credit card (automatic) 90.70 1597.25 \n",262 "\n",263 " Churn \n",264 "5446 Yes \n",265 "4779 No \n",266 "225 No \n",267 "5138 No \n",268 "5364 Yes "269 ]270 },271 "execution_count": 29,272 "metadata": {},273 "output_type": "execute_result"274 }275 ],276 "source": [277 "data.sample(5)"278 ]279 },280 {281 "cell_type": "code",282 "execution_count": 30,283 "id": "e29b63c4-7fe9-40c7-87d8-5a322af1ee54",284 "metadata": {},285 "outputs": [286 {287 "data": {288 "text/plain": [289 "Index(['gender', 'SeniorCitizen', 'Partner', 'Dependents', 'tenure',\n",290 " 'PhoneService', 'MultipleLines', 'InternetService', 'OnlineSecurity',\n",291 " 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV',\n",292 " 'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod',\n",293 " 'MonthlyCharges', 'TotalCharges', 'Churn'],\n",294 " dtype='object')"295 ]296 },297 "execution_count": 30,298 "metadata": {},299 "output_type": "execute_result"300 }301 ],302 "source": [303 "data.columns"304 ]305 },306 {307 "cell_type": "markdown",308 "id": "e5f838c1-f816-45bf-b475-e84b4788fc3d",309 "metadata": {},310 "source": [311 "# EDA"312 ]313 },314 {315 "cell_type": "code",316 "execution_count": 31,317 "id": "8f1797be-f0d4-4554-b4d6-e9d86f741506",318 "metadata": {},319 "outputs": [320 {321 "data": {322 "text/plain": [323 "(7043, 20)"324 ]325 },326 "execution_count": 31,327 "metadata": {},328 "output_type": "execute_result"329 }330 ],331 "source": [332 "data.shape"333 ]334 },335 {336 "cell_type": "code",337 "execution_count": 32,338 "id": "e757833b-924e-4411-bd9e-b0377af46499",339 "metadata": {},340 "outputs": [341 {342 "data": {343 "text/plain": [344 "gender object\n",345 "SeniorCitizen int64\n",346 "Partner object\n",347 "Dependents object\n",348 "tenure int64\n",349 "PhoneService object\n",350 "MultipleLines object\n",351 "InternetService object\n",352 "OnlineSecurity object\n",353 "OnlineBackup object\n",354 "DeviceProtection object\n",355 "TechSupport object\n",356 "StreamingTV object\n",357 "StreamingMovies object\n",358 "Contract object\n",359 "PaperlessBilling object\n",360 "PaymentMethod object\n",361 "MonthlyCharges float64\n",362 "TotalCharges object\n",363 "Churn object\n",364 "dtype: object"365 ]366 },367 "execution_count": 32,368 "metadata": {},369 "output_type": "execute_result"370 }371 ],372 "source": [373 "data.dtypes"374 ]375 },376 {377 "cell_type": "code",378 "execution_count": 33,379 "id": "0509b998-be9a-46b5-b524-cb8d6e3b934a",380 "metadata": {},381 "outputs": [382 {383 "data": {384 "text/plain": [385 "No 5174\n",386 "Yes 1869\n",387 "Name: Churn, dtype: int64"388 ]389 },390 "execution_count": 33,391 "metadata": {},392 "output_type": "execute_result"393 }394 ],395 "source": [396 "data.Churn.value_counts()"397 ]398 },399 {400 "cell_type": "code",401 "execution_count": 34,402 "id": "59de65f0-38f4-4f28-9c71-a2a68802153b",403 "metadata": {},404 "outputs": [405 {406 "name": "stdout",407 "output_type": "stream",408 "text": [409 "<class 'pandas.core.frame.DataFrame'>\n",410 "RangeIndex: 7043 entries, 0 to 7042\n",411 "Data columns (total 20 columns):\n",412 " # Column Non-Null Count Dtype \n",413 "--- ------ -------------- ----- \n",414 " 0 gender 7043 non-null object \n",415 " 1 SeniorCitizen 7043 non-null int64 \n",416 " 2 Partner 7043 non-null object \n",417 " 3 Dependents 7043 non-null object \n",418 " 4 tenure 7043 non-null int64 \n",419 " 5 PhoneService 7043 non-null object \n",420 " 6 MultipleLines 7043 non-null object \n",421 " 7 InternetService 7043 non-null object \n",422 " 8 OnlineSecurity 7043 non-null object \n",423 " 9 OnlineBackup 7043 non-null object \n",424 " 10 DeviceProtection 7043 non-null object \n",425 " 11 TechSupport 7043 non-null object \n",426 " 12 StreamingTV 7043 non-null object \n",427 " 13 StreamingMovies 7043 non-null object \n",428 " 14 Contract 7043 non-null object \n",429 " 15 PaperlessBilling 7043 non-null object \n",430 " 16 PaymentMethod 7043 non-null object \n",431 " 17 MonthlyCharges 7043 non-null float64\n",432 " 18 TotalCharges 7043 non-null object \n",433 " 19 Churn 7043 non-null object \n",434 "dtypes: float64(1), int64(2), object(17)\n",435 "memory usage: 1.1+ MB\n"436 ]437 }438 ],439 "source": [440 "data.info()"441 ]442 },443 {444 "cell_type": "code",445 "execution_count": 35,446 "id": "bf6c136c-1949-4a92-8f2b-f6ac8271696d",447 "metadata": {},448 "outputs": [449 {450 "data": {451 "text/html": [452 "<div>\n",453 "<style scoped>\n",454 " .dataframe tbody tr th:only-of-type {\n",455 " vertical-align: middle;\n",456 " }\n",457 "\n",458 " .dataframe tbody tr th {\n",459 " vertical-align: top;\n",460 " }\n",461 "\n",462 " .dataframe thead th {\n",463 " text-align: right;\n",464 " }\n",465 "</style>\n",466 "<table border=\"1\" class=\"dataframe\">\n",467 " <thead>\n",468 " <tr style=\"text-align: right;\">\n",469 " <th></th>\n",470 " <th>SeniorCitizen</th>\n",471 " <th>tenure</th>\n",472 " <th>MonthlyCharges</th>\n",473 " </tr>\n",474 " </thead>\n",475 " <tbody>\n",476 " <tr>\n",477 " <th>count</th>\n",478 " <td>7043.000000</td>\n",479 " <td>7043.000000</td>\n",480 " <td>7043.000000</td>\n",481 " </tr>\n",482 " <tr>\n",483 " <th>mean</th>\n",484 " <td>0.162147</td>\n",485 " <td>32.371149</td>\n",486 " <td>64.761692</td>\n",487 " </tr>\n",488 " <tr>\n",489 " <th>std</th>\n",490 " <td>0.368612</td>\n",491 " <td>24.559481</td>\n",492 " <td>30.090047</td>\n",493 " </tr>\n",494 " <tr>\n",495 " <th>min</th>\n",496 " <td>0.000000</td>\n",497 " <td>0.000000</td>\n",498 " <td>18.250000</td>\n",499 " </tr>\n",500 " <tr>\n",501 " <th>25%</th>\n",502 " <td>0.000000</td>\n",503 " <td>9.000000</td>\n",504 " <td>35.500000</td>\n",505 " </tr>\n",506 " <tr>\n",507 " <th>50%</th>\n",508 " <td>0.000000</td>\n",509 " <td>29.000000</td>\n",510 " <td>70.350000</td>\n",511 " </tr>\n",512 " <tr>\n",513 " <th>75%</th>\n",514 " <td>0.000000</td>\n",515 " <td>55.000000</td>\n",516 " <td>89.850000</td>\n",517 " </tr>\n",518 " <tr>\n",519 " <th>max</th>\n",520 " <td>1.000000</td>\n",521 " <td>72.000000</td>\n",522 " <td>118.750000</td>\n",523 " </tr>\n",524 " </tbody>\n",525 "</table>\n",526 "</div>"527 ],528 "text/plain": [529 " SeniorCitizen tenure MonthlyCharges\n",530 "count 7043.000000 7043.000000 7043.000000\n",531 "mean 0.162147 32.371149 64.761692\n",532 "std 0.368612 24.559481 30.090047\n",533 "min 0.000000 0.000000 18.250000\n",534 "25% 0.000000 9.000000 35.500000\n",535 "50% 0.000000 29.000000 70.350000\n",536 "75% 0.000000 55.000000 89.850000\n",537 "max 1.000000 72.000000 118.750000"538 ]539 },540 "execution_count": 35,541 "metadata": {},542 "output_type": "execute_result"543 }544 ],545 "source": [546 "data.describe()"547 ]548 },549 {550 "cell_type": "code",551 "execution_count": 36,552 "id": "7901e813-913c-417b-988b-098fcd826495",553 "metadata": {},554 "outputs": [555 {556 "data": {557 "text/plain": [558 "gender 0\n",559 "SeniorCitizen 0\n",560 "Partner 0\n",561 "Dependents 0\n",562 "tenure 0\n",563 "PhoneService 0\n",564 "MultipleLines 0\n",565 "InternetService 0\n",566 "OnlineSecurity 0\n",567 "OnlineBackup 0\n",568 "DeviceProtection 0\n",569 "TechSupport 0\n",570 "StreamingTV 0\n",571 "StreamingMovies 0\n",572 "Contract 0\n",573 "PaperlessBilling 0\n",574 "PaymentMethod 0\n",575 "MonthlyCharges 0\n",576 "TotalCharges 0\n",577 "Churn 0\n",578 "dtype: int64"579 ]580 },581 "execution_count": 36,582 "metadata": {},583 "output_type": "execute_result"584 }585 ],586 "source": [587 "data.isnull().sum()"588 ]589 },590 {591 "cell_type": "code",592 "execution_count": 37,593 "id": "3f674c83-7298-4792-b9d3-e7661b35839a",594 "metadata": {},595 "outputs": [],596 "source": [597 "data['TotalCharges'] = pd.to_numeric(data.TotalCharges, errors = 'coerce')"598 ]599 },600 {601 "cell_type": "code",602 "execution_count": 38,603 "id": "19ded60e-00b5-42ae-aa8c-2e083b00dcac",604 "metadata": {},605 "outputs": [606 {607 "data": {608 "text/plain": [609 "dtype('float64')"610 ]611 },612 "execution_count": 38,613 "metadata": {},614 "output_type": "execute_result"615 }616 ],617 "source": [618 "data.TotalCharges.dtypes"619 ]620 },621 {622 "cell_type": "code",623 "execution_count": 39,624 "id": "46e09b03-006c-43b0-bc8b-a82dda31ae01",625 "metadata": {},626 "outputs": [627 {628 "data": {629 "text/plain": [630 "gender 0\n",631 "SeniorCitizen 0\n",632 "Partner 0\n",633 "Dependents 0\n",634 "tenure 0\n",635 "PhoneService 0\n",636 "MultipleLines 0\n",637 "InternetService 0\n",638 "OnlineSecurity 0\n",639 "OnlineBackup 0\n",640 "DeviceProtection 0\n",641 "TechSupport 0\n",642 "StreamingTV 0\n",643 "StreamingMovies 0\n",644 "Contract 0\n",645 "PaperlessBilling 0\n",646 "PaymentMethod 0\n",647 "MonthlyCharges 0\n",648 "TotalCharges 11\n",649 "Churn 0\n",650 "dtype: int64"651 ]652 },653 "execution_count": 39,654 "metadata": {},655 "output_type": "execute_result"656 }657 ],658 "source": [659 "data.isnull().sum()"660 ]661 },662 {663 "cell_type": "code",664 "execution_count": 40,665 "id": "5028fe97-8ff7-49bb-8571-4e52d6e8bfa5",666 "metadata": {},667 "outputs": [],668 "source": [669 "data.dropna(inplace=True)"670 ]671 },672 {673 "cell_type": "code",674 "execution_count": 41,675 "id": "dfd92080-b54f-49fd-95a5-b9bdd10b3648",676 "metadata": {},677 "outputs": [678 {679 "data": {680 "text/plain": [681 "0"682 ]683 },684 "execution_count": 41,685 "metadata": {},686 "output_type": "execute_result"687 }688 ],689 "source": [690 "data.isnull().sum().sum()"691 ]692 },693 {694 "cell_type": "code",695 "execution_count": 42,696 "id": "e8471b47-7bf0-4aa2-98b6-d455fcd20d95",697 "metadata": {},698 "outputs": [699 {700 "data": {701 "text/plain": [702 "(7032, 20)"703 ]704 },705 "execution_count": 42,706 "metadata": {},707 "output_type": "execute_result"708 }709 ],710 "source": [711 "data.shape"712 ]713 },714 {715 "cell_type": "markdown",716 "id": "66e036ec-676b-49ed-8f08-ef097a57bdd0",717 "metadata": {},718 "source": [719 "# Visualization"720 ]721 },722 {723 "cell_type": "code",724 "execution_count": 43,725 "id": "a7f43768-9025-4a8b-b7d4-a0d61ddc74ad",726 "metadata": {},727 "outputs": [728 {729 "data": {730 "image/png": "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ojKjcyAaNWpUidPnz5+Pw4cP/+uCiIiIiMqa3s4h6tKlC9atW6ev7oiIiIjKjN4C0a+//go7Ozt9dUdERERUZnQ+ZNasWTOtk6qFEEhNTcXt27e1niFGREREVFHoHIh69uyp9d7ExAT29vZ4/fXX4eHhoa+6iIgqhwr03CciOdM5EE2ePNkQdRAREREZDW/MSERERLJX6j1EJiYmz70hIwAoFArk5+f/66KIiIiIylKpA9H69eufOS8hIQGxsbHQaDR6KYqIiIioLJU6EPXo0aPYtPPnz2P8+PH4888/ERISgmnTpum1OCIiIqKy8FLnEN24cQNDhgyBt7c38vPzcfz4cSxfvhxubm76ro+IiIjI4HQKRJmZmRg3bhzq1auHpKQk7NixA3/++ScaN25sqPqIiIiIDK7Uh8xiYmLw+eefw8nJCatWrSrxEBoRERFRRaQQonR39zIxMYGFhQUCAgJgamr6zHa//fab3oorL7KysmBra4vMzEyoVCq996+Yqv8bt4kpeu/yfx0b+GZwhriJXUWsGTBs3RWxZoDbR1HcPorj9vH/cfsAoNvf71LvIXrvvfdeeNk9ERERUUVU6kC0bNkyA5ZBREREZDy8UzURERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREckeAxERERHJHgMRERERyR4DEREREcleFWMXQBWTYqrCIP0Kg/RKRET0fNxDRERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREsleuA1F0dDReffVV2NjYwMHBAT179sT58+e12jx+/Bjh4eGoXr06rK2tERQUhFu3bmm1uXr1Krp16wZLS0s4ODjg448/Rn5+flkOhYiIiMqxch2I9uzZg/DwcBw4cADx8fHIy8tDp06dkJ2dLbUZPXo0/vzzT6xduxZ79uzBjRs30Lt3b2l+QUEBunXrhtzcXPz3v//F8uXLsWzZMkyaNMkYQyIiIqJySCGEEMYuorRu374NBwcH7NmzB6+9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eecdkZycLM2vzGMv9Oeff4rGjRsLpVIpPDw8xPfff681vzL//hNCiK1btwoAJY6pIn3/CiGEMMquKSIiIqJygucQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARERGR7DEQERERkewxEBEREZHsMRARUYXy+uuvIzIy0thlEFElw0BERPQShBDIz883dhlEpCcMRERUYQwcOBB79uzB119/DYVCAYVCgcuXL+P06dPo0qULrK2t4ejoiHfffRd37tyRPvf6669j5MiRGDt2LOzs7ODk5IQpU6ZI8y9fvgyFQoHjx49L0zIyMqBQKLB7924AwO7du6FQKLBlyxa0aNECSqUS+/btg0ajQXR0NNzd3WFhYQEfHx/8+uuvZbRGiEhfGIiIqML4+uuv4efnhyFDhuDmzZu4efMmbGxs8MYbb6BZs2Y4fPgw4uLicOvWLQQHB2t9dvny5bCyskJiYiJiYmIwbdo0xMfH61zD+PHjMXv2bJw9exZNmjRBdHQ0fvzxRyxcuBBJSUkYPXo0BgwYgD179uhr2ERUBqoYuwAiotKytbWFubk5LC0t4eTkBACYMWMGmjVrhlmzZkntlixZAldXV1y4cAENGjQAADRp0gSTJ08GANSvXx/ffPMNduzYgTfffFOnGqZNmyZ9JicnB7NmzcL27dvh5+cHAKhTpw727duH7777Du3bt//XYyaissFAREQV2okTJ7Br1y5YW1sXm3fp0iWtQFSUs7Mz0tLSdF5ey5YtpX8nJyfj4cOHxUJVbm4umjVrpnPfRGQ8DEREVKE9ePAA3bt3x+eff15snrOzs/RvMzMzrXkKhQIajQYAYGLy5OwBIYQ0Py8vr8TlWVlZaS0bADZt2oRXXnlFq51SqdRlGERkZAxERFShmJubo6CgQHrfvHlzrFu3DrVr10aVKi/3K83e3h4AcPPmTWnPTtETrJ/Fy8sLSqUSV69e5eExogqOgYiIKpTatWsjMTERly9fhrW1NcLDw/HDDz+gX79+0lVkycnJWL16NRYtWgRTU9MX9mlhYYHWrVtj9uzZcHd3R1paGj777LMXfs7GxgYfffQRRo8eDY1Gg7Zt2yIzMxP79++HSqVCaGioPoZMRGWAV5kRUYXy0UcfwdTUFF5eXrC3t0dubi7279+PgoICdOrUCd7e3oiMjIRarZYOhZXGkiVLkJ+fjxYtWiAyMhIzZswo1eemT5+OiRMnIjo6Gp6enujcuTM2bdoEd3f3lx0iERmBQhQ9aE5EREQkQ9xDRERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREssdARERERLLHQERERESyx0BEREREsvf/ACJRRTPwCuUfAAAAAElFTkSuQmCC",731 "text/plain": [732 "<Figure size 640x480 with 1 Axes>"733 ]734 },735 "metadata": {},736 "output_type": "display_data"737 }738 ],739 "source": [740 "tenure_churn_no = data[data.Churn=='No'].tenure\n",741 "tenure_churn_yes = data[data.Churn=='Yes'].tenure\n",742 "\n",743 "plt.xlabel(\"tenure\")\n",744 "plt.ylabel(\"Number Of Customers\")\n",745 "plt.title(\"Customer Churn Prediction Visualiztion\")\n",746 "\n",747 "plt.hist([tenure_churn_yes, tenure_churn_no], rwidth=0.95, color=['green','red'],label=['Churn=Yes','Churn=No'])\n",748 "plt.legend();"749 ]750 },751 {752 "cell_type": "code",753 "execution_count": 44,754 "id": "884d9182-7a05-473b-8a15-2cc829a8b68b",755 "metadata": {},756 "outputs": [757 {758 "data": {759 "image/png": "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6pTXxuP7eJKpqSnkcrnSQkRERNWX2leIgEdjeaZNm6bpWJS4ubnB0dERu3btQqtWrQA8ulKTlJSEjz76CADg4+OD3NxcJCcno23btgCA+Ph4KBQKeHt7S3WmTZuG4uJiGBsbAwDi4uLQuHFj1KxZU6vHQERERFXDCyVEDx48wPHjx5GdnQ2FQqFU9vbbb6vczt27d5Geni59zsjIQEpKCmxtbeHi4oLx48fjiy++gLu7O9zc3DB9+nQ4OTmhb9++AIAmTZqge/fuGD58OJYtW4bi4mKMHj0aQUFBcHJyAgAMHDgQs2fPRmhoKCZPnoyTJ0/iu+++wzfffPMih05ERETVkbpT2LZt2ybs7OyETCYrsxgYGKjV1u7duwWAMktISIgQ4tHU++nTpwsHBwdhamoqunbtKtLS0pTauHXrlhgwYICwtLQUcrlcDB06VNy5c0epzrFjx0SHDh2EqampeOWVV8S8efPUipPT7jntnoiIqh51fr9lQqj3zg13d3d069YNM2bMKDN7q7rKz8+HtbU18vLyqs54Im29aJevaCEioipCnd9vtQdVZ2VlITw8XG+SISIiIqr+1E6I3n33XezZs0cLoRARERFVDrVvmd27dw/9+/eHnZ0dPD09pZlbpcaOHavRAHUBb5k9hrfMiIioilDn91vtWWZr1qzBjh07YGZmhj179kD22A+vTCarlgkRERERVW9qJ0TTpk3D7NmzMWXKFBgYqH3HjYiIiEjnqJ3RFBUV4b333mMyRERERNWG2llNSEgIfv/9d23EQkRERFQp1L5lVlJSgoiICGzfvh0tWrQoM6h60aJFGguOiIiIqCKonRCdOHECrVu3BgCcPHlSqUymrZlNRERERFqkdkK0e/dubcRBREREVGleamT0lStXcOXKFU3FQkRERFQp1E6IFAoFPv/8c1hbW8PV1RWurq6wsbHBnDlzoFAotBEjERERkVa90HOIfv75Z8ybNw++vr4AgH379mHWrFl48OABvvzyS40HSURERKRNar+6w8nJCcuWLcPbb7+ttP6vv/7CqFGjcPXqVY0GqAv46o7H8NUdRERURWj1bfc5OTnw8PAos97DwwM5OTnqNkdERERU6dROiFq2bInvv/++zPrvv/8eLVu21EhQRERERBVJ7TFEERER6NWrF3bu3AkfHx8AQGJiIi5fvox//vlH4wES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0wmRKr755hsYGBggICAAhYWF8Pf3x9KlS6VyQ0NDbN26FR999BF8fHxgYWGBkJAQfP7555UYNREREekSmRBCVHYQui4/Px/W1tbIy8urOrfPtPUEXp4u1UNVPT+0EXdVjBnQbtxVMWaA58fj+LcagHq/3zo9hoiIiIioIjAhIiIiIr3HhIiIiIj0HhMiIiIi0ntMiIiIiEjvVflp90RE+kw2W/OzlDg/ifQREyIiov/D5IJIf/GWGREREek9JkRERESk95gQERERkd5jQkRERER6jwkRERER6T0mRERERKT3OO2eiIgqlDYebwDwEQf0cniFiIiIiPQeEyIiIiLSe0yIiIiISO8xISIiIiK9x4SIiIiI9B4TIiIiItJ7TIiIiIhI7zEhIiIiIr3HhIiIiIj0HhMiIiIi0ntMiIiIiEjv8V1mREREz8H3r1V/vEJEREREeo8JEREREek9JkRERESk95gQERERkd7joGoiIiJSnUw7A8whKneIORMiopdVTf84EBHpE94yIyIiIr3HhIiIiIj0HhMiIiIi0ntMiIiIiEjvMSEiIiIivceEiIiIiPSeTidEc+fOxauvvgorKyvY29ujb9++SEtLU6rz4MEDhIWFoVatWrC0tERAQACysrKU6ly6dAm9evWCubk57O3tMWnSJDx8+LAiD4WIiIh0mE4nRHv37kVYWBgOHDiAuLg4FBcXo1u3bigoKJDqTJgwAVu2bMG6deuwd+9eXLt2Df369ZPKS0pK0KtXLxQVFeG///7DypUrER0djRkzZlTGIREREZEO0ukHM8bGxip9jo6Ohr29PZKTk9GpUyfk5eXh559/RkxMDN544w0AwIoVK9CkSRMcOHAAr732Gnbs2IHTp09j586dcHBwQKtWrTBnzhxMnjwZs2bNgomJSWUcGhEREekQnb5C9KS8vDwAgK2tLQAgOTkZxcXF8PPzk+p4eHjAxcUFiYmJAIDExER4enrCwcFBquPv74/8/HycOnWq3P0UFhYiPz9faSEiIqLqq8okRAqFAuPHj4evry+aN28OAMjMzISJiQlsbGyU6jo4OCAzM1Oq83gyVFpeWlaeuXPnwtraWlqcnZ01fDRERESkS6pMQhQWFoaTJ09i7dq1Wt/X1KlTkZeXJy2XL1/W+j6JiIio8uj0GKJSo0ePxtatW5GQkIC6detK6x0dHVFU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",760 "text/plain": [761 "<Figure size 640x480 with 1 Axes>"762 ]763 },764 "metadata": {},765 "output_type": "display_data"766 }767 ],768 "source": [769 "mc_churn_no = data[data.Churn=='No'].MonthlyCharges \n",770 "mc_churn_yes = data[data.Churn=='Yes'].MonthlyCharges \n",771 "\n",772 "plt.xlabel(\"Monthly Charges\")\n",773 "plt.ylabel(\"Number Of Customers\")\n",774 "plt.title(\"Customer Churn Prediction Visualiztion\")\n",775 "\n",776 "plt.hist([mc_churn_yes, mc_churn_no], rwidth=0.95, color=['green','red'],label=['Churn=Yes','Churn=No'])\n",777 "plt.legend();"778 ]779 },780 {781 "cell_type": "markdown",782 "id": "ab8e6291-900c-4a2e-b78d-6ef1ff1a1756",783 "metadata": {},784 "source": [785 "# Preprocessing"786 ]787 },788 {789 "cell_type": "code",790 "execution_count": 45,791 "id": "b043bb98-0647-4c55-8427-713236fe9005",792 "metadata": {},793 "outputs": [794 {795 "name": "stdout",796 "output_type": "stream",797 "text": [798 "gender\t : ['Female' 'Male']\n",799 "SeniorCitizen\t : [0 1]\n",800 "Partner\t : ['Yes' 'No']\n",801 "Dependents\t : ['No' 'Yes']\n",802 "tenure\t : [ 1 34 2 45 8 22 10 28 62 13 16 58 49 25 69 52 71 21 12 30 47 72 17 27\n",803 " 5 46 11 70 63 43 15 60 18 66 9 3 31 50 64 56 7 42 35 48 29 65 38 68\n",804 " 32 55 37 36 41 6 4 33 67 23 57 61 14 20 53 40 59 24 44 19 54 51 26 39]\n",805 "PhoneService\t : ['No' 'Yes']\n",806 "MultipleLines\t : ['No phone service' 'No' 'Yes']\n",807 "InternetService\t : ['DSL' 'Fiber optic' 'No']\n",808 "OnlineSecurity\t : ['No' 'Yes' 'No internet service']\n",809 "OnlineBackup\t : ['Yes' 'No' 'No internet service']\n",810 "DeviceProtection\t : ['No' 'Yes' 'No internet service']\n",811 "TechSupport\t : ['No' 'Yes' 'No internet service']\n",812 "StreamingTV\t : ['No' 'Yes' 'No internet service']\n",813 "StreamingMovies\t : ['No' 'Yes' 'No internet service']\n",814 "Contract\t : ['Month-to-month' 'One year' 'Two year']\n",815 "PaperlessBilling\t : ['Yes' 'No']\n",816 "PaymentMethod\t : ['Electronic check' 'Mailed check' 'Bank transfer (automatic)'\n",817 " 'Credit card (automatic)']\n",818 "MonthlyCharges\t : [29.85 56.95 53.85 ... 63.1 44.2 78.7 ]\n",819 "TotalCharges\t : [ 29.85 1889.5 108.15 ... 346.45 306.6 6844.5 ]\n",820 "Churn\t : ['No' 'Yes']\n"821 ]822 }823 ],824 "source": [825 "for i in data.columns:\n",826 " print(i, end='\\t : ')\n",827 " print(data[i].unique())"828 ]829 },830 {831 "cell_type": "code",832 "execution_count": 46,833 "id": "dd4f84c2-bd32-4dde-8fd5-7c8b3cd4173a",834 "metadata": {},835 "outputs": [],836 "source": [837 "data['gender'] = data.gender.map({'Female' : 0, 'Male' : 1})\n",838 "\n",839 "lst = ['Partner', 'Dependents', 'PhoneService', 'PaperlessBilling', 'Churn']\n",840 "for i in lst : \n",841 " data[i].replace({'Yes' : 1, 'No' : 0}, inplace=True)"842 ]843 },844 {845 "cell_type": "code",846 "execution_count": 47,847 "id": "7c14d09d-cae3-4439-8bc4-e02d13c101e4",848 "metadata": {},849 "outputs": [],850 "source": [851 "data.MultipleLines.replace('No phone service', 'No', inplace=True)\n",852 "\n",853 "lst = ['OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies']\n",854 "for i in lst : \n",855 " data[i].replace('No internet service', 'No', inplace=True)"856 ]857 },858 {859 "cell_type": "code",860 "execution_count": 48,861 "id": "3702e442-7ba3-487c-930e-eecb30d53d30",862 "metadata": {},863 "outputs": [],864 "source": [865 "lst = ['MultipleLines', 'OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies']\n",866 "for i in lst : \n",867 " data[i].replace({'Yes' : 1, 'No' : 0}, inplace=True)"868 ]869 },870 {871 "cell_type": "code",872 "execution_count": 49,873 "id": "8289afca-231a-45a6-980c-fa85b175ccd0",874 "metadata": {},875 "outputs": [876 {877 "name": "stdout",878 "output_type": "stream",879 "text": [880 "gender\t : [0 1]\n",881 "SeniorCitizen\t : [0 1]\n",882 "Partner\t : [1 0]\n",883 "Dependents\t : [0 1]\n",884 "tenure\t : [ 1 34 2 45 8 22 10 28 62 13 16 58 49 25 69 52 71 21 12 30 47 72 17 27\n",885 " 5 46 11 70 63 43 15 60 18 66 9 3 31 50 64 56 7 42 35 48 29 65 38 68\n",886 " 32 55 37 36 41 6 4 33 67 23 57 61 14 20 53 40 59 24 44 19 54 51 26 39]\n",887 "PhoneService\t : [0 1]\n",888 "MultipleLines\t : [0 1]\n",889 "InternetService\t : ['DSL' 'Fiber optic' 'No']\n",890 "OnlineSecurity\t : [0 1]\n",891 "OnlineBackup\t : [1 0]\n",892 "DeviceProtection\t : [0 1]\n",893 "TechSupport\t : [0 1]\n",894 "StreamingTV\t : [0 1]\n",895 "StreamingMovies\t : [0 1]\n",896 "Contract\t : ['Month-to-month' 'One year' 'Two year']\n",897 "PaperlessBilling\t : [1 0]\n",898 "PaymentMethod\t : ['Electronic check' 'Mailed check' 'Bank transfer (automatic)'\n",899 " 'Credit card (automatic)']\n",900 "MonthlyCharges\t : [29.85 56.95 53.85 ... 63.1 44.2 78.7 ]\n",901 "TotalCharges\t : [ 29.85 1889.5 108.15 ... 346.45 306.6 6844.5 ]\n",902 "Churn\t : [0 1]\n"903 ]904 }905 ],906 "source": [907 "for i in data.columns:\n",908 " print(i, end='\\t : ')\n",909 " print(data[i].unique())"910 ]911 },912 {913 "cell_type": "code",914 "execution_count": 50,915 "id": "2244aa24-b075-43e0-8013-802611666a8b",916 "metadata": {},917 "outputs": [918 {919 "data": {920 "text/plain": [921 "gender int64\n",922 "SeniorCitizen int64\n",923 "Partner int64\n",924 "Dependents int64\n",925 "tenure int64\n",926 "PhoneService int64\n",927 "MultipleLines int64\n",928 "InternetService object\n",929 "OnlineSecurity int64\n",930 "OnlineBackup int64\n",931 "DeviceProtection int64\n",932 "TechSupport int64\n",933 "StreamingTV int64\n",934 "StreamingMovies int64\n",935 "Contract object\n",936 "PaperlessBilling int64\n",937 "PaymentMethod object\n",938 "MonthlyCharges float64\n",939 "TotalCharges float64\n",940 "Churn int64\n",941 "dtype: object"942 ]943 },944 "execution_count": 50,945 "metadata": {},946 "output_type": "execute_result"947 }948 ],949 "source": [950 "data.dtypes"951 ]952 },953 {954 "cell_type": "code",955 "execution_count": 51,956 "id": "29857c0d-90c5-41f1-a241-60c51371d5e9",957 "metadata": {},958 "outputs": [],959 "source": [960 "data = pd.get_dummies(data, columns=['PaymentMethod', 'Contract', 'InternetService'])"961 ]962 },963 {964 "cell_type": "code",965 "execution_count": 52,966 "id": "7209eb9c-cae9-44da-a759-947eef3c4e31",967 "metadata": {},968 "outputs": [969 {970 "name": "stdout",971 "output_type": "stream",972 "text": [973 "<class 'pandas.core.frame.DataFrame'>\n",974 "Int64Index: 7032 entries, 0 to 7042\n",975 "Data columns (total 27 columns):\n",976 " # Column Non-Null Count Dtype \n",977 "--- ------ -------------- ----- \n",978 " 0 gender 7032 non-null int64 \n",979 " 1 SeniorCitizen 7032 non-null int64 \n",980 " 2 Partner 7032 non-null int64 \n",981 " 3 Dependents 7032 non-null int64 \n",982 " 4 tenure 7032 non-null int64 \n",983 " 5 PhoneService 7032 non-null int64 \n",984 " 6 MultipleLines 7032 non-null int64 \n",985 " 7 OnlineSecurity 7032 non-null int64 \n",986 " 8 OnlineBackup 7032 non-null int64 \n",987 " 9 DeviceProtection 7032 non-null int64 \n",988 " 10 TechSupport 7032 non-null int64 \n",989 " 11 StreamingTV 7032 non-null int64 \n",990 " 12 StreamingMovies 7032 non-null int64 \n",991 " 13 PaperlessBilling 7032 non-null int64 \n",992 " 14 MonthlyCharges 7032 non-null float64\n",993 " 15 TotalCharges 7032 non-null float64\n",994 " 16 Churn 7032 non-null int64 \n",995 " 17 PaymentMethod_Bank transfer (automatic) 7032 non-null uint8 \n",996 " 18 PaymentMethod_Credit card (automatic) 7032 non-null uint8 \n",997 " 19 PaymentMethod_Electronic check 7032 non-null uint8 \n",998 " 20 PaymentMethod_Mailed check 7032 non-null uint8 \n",999 " 21 Contract_Month-to-month 7032 non-null uint8 \n",1000 " 22 Contract_One year 7032 non-null uint8 \n",1001 " 23 Contract_Two year 7032 non-null uint8 \n",1002 " 24 InternetService_DSL 7032 non-null uint8 \n",1003 " 25 InternetService_Fiber optic 7032 non-null uint8 \n",1004 " 26 InternetService_No 7032 non-null uint8 \n",1005 "dtypes: float64(2), int64(15), uint8(10)\n",1006 "memory usage: 1.0 MB\n"1007 ]1008 }1009 ],1010 "source": [1011 "data.info()"1012 ]1013 },1014 {1015 "cell_type": "code",1016 "execution_count": 53,1017 "id": "3c2353d0-0902-41f3-b9d6-d916243b8761",1018 "metadata": {},1019 "outputs": [1020 {1021 "data": {1022 "text/html": [1023 "<div>\n",1024 "<style scoped>\n",1025 " .dataframe tbody tr th:only-of-type {\n",1026 " vertical-align: middle;\n",1027 " }\n",1028 "\n",1029 " .dataframe tbody tr th {\n",1030 " vertical-align: top;\n",1031 " }\n",1032 "\n",1033 " .dataframe thead th {\n",1034 " text-align: right;\n",1035 " }\n",1036 "</style>\n",1037 "<table border=\"1\" class=\"dataframe\">\n",1038 " <thead>\n",1039 " <tr style=\"text-align: right;\">\n",1040 " <th></th>\n",1041 " <th>gender</th>\n",1042 " <th>SeniorCitizen</th>\n",1043 " <th>Partner</th>\n",1044 " <th>Dependents</th>\n",1045 " <th>tenure</th>\n",1046 " <th>PhoneService</th>\n",1047 " <th>MultipleLines</th>\n",1048 " <th>OnlineSecurity</th>\n",1049 " <th>OnlineBackup</th>\n",1050 " <th>DeviceProtection</th>\n",1051 " <th>...</th>\n",1052 " <th>PaymentMethod_Bank transfer (automatic)</th>\n",1053 " <th>PaymentMethod_Credit card (automatic)</th>\n",1054 " <th>PaymentMethod_Electronic check</th>\n",1055 " <th>PaymentMethod_Mailed check</th>\n",1056 " <th>Contract_Month-to-month</th>\n",1057 " <th>Contract_One year</th>\n",1058 " <th>Contract_Two year</th>\n",1059 " <th>InternetService_DSL</th>\n",1060 " <th>InternetService_Fiber optic</th>\n",1061 " <th>InternetService_No</th>\n",1062 " </tr>\n",1063 " </thead>\n",1064 " <tbody>\n",1065 " <tr>\n",1066 " <th>0</th>\n",1067 " <td>0</td>\n",1068 " <td>0</td>\n",1069 " <td>1</td>\n",1070 " <td>0</td>\n",1071 " <td>1</td>\n",1072 " <td>0</td>\n",1073 " <td>0</td>\n",1074 " <td>0</td>\n",1075 " <td>1</td>\n",1076 " <td>0</td>\n",1077 " <td>...</td>\n",1078 " <td>0</td>\n",1079 " <td>0</td>\n",1080 " <td>1</td>\n",1081 " <td>0</td>\n",1082 " <td>1</td>\n",1083 " <td>0</td>\n",1084 " <td>0</td>\n",1085 " <td>1</td>\n",1086 " <td>0</td>\n",1087 " <td>0</td>\n",1088 " </tr>\n",1089 " <tr>\n",1090 " <th>1</th>\n",1091 " <td>1</td>\n",1092 " <td>0</td>\n",1093 " <td>0</td>\n",1094 " <td>0</td>\n",1095 " <td>34</td>\n",1096 " <td>1</td>\n",1097 " <td>0</td>\n",1098 " <td>1</td>\n",1099 " <td>0</td>\n",1100 " <td>1</td>\n",1101 " <td>...</td>\n",1102 " <td>0</td>\n",1103 " <td>0</td>\n",1104 " <td>0</td>\n",1105 " <td>1</td>\n",1106 " <td>0</td>\n",1107 " <td>1</td>\n",1108 " <td>0</td>\n",1109 " <td>1</td>\n",1110 " <td>0</td>\n",1111 " <td>0</td>\n",1112 " </tr>\n",1113 " <tr>\n",1114 " <th>2</th>\n",1115 " <td>1</td>\n",1116 " <td>0</td>\n",1117 " <td>0</td>\n",1118 " <td>0</td>\n",1119 " <td>2</td>\n",1120 " <td>1</td>\n",1121 " <td>0</td>\n",1122 " <td>1</td>\n",1123 " <td>1</td>\n",1124 " <td>0</td>\n",1125 " <td>...</td>\n",1126 " <td>0</td>\n",1127 " <td>0</td>\n",1128 " <td>0</td>\n",1129 " <td>1</td>\n",1130 " <td>1</td>\n",1131 " <td>0</td>\n",1132 " <td>0</td>\n",1133 " <td>1</td>\n",1134 " <td>0</td>\n",1135 " <td>0</td>\n",1136 " </tr>\n",1137 " <tr>\n",1138 " <th>3</th>\n",1139 " <td>1</td>\n",1140 " <td>0</td>\n",1141 " <td>0</td>\n",1142 " <td>0</td>\n",1143 " <td>45</td>\n",1144 " <td>0</td>\n",1145 " <td>0</td>\n",1146 " <td>1</td>\n",1147 " <td>0</td>\n",1148 " <td>1</td>\n",1149 " <td>...</td>\n",1150 " <td>1</td>\n",1151 " <td>0</td>\n",1152 " <td>0</td>\n",1153 " <td>0</td>\n",1154 " <td>0</td>\n",1155 " <td>1</td>\n",1156 " <td>0</td>\n",1157 " <td>1</td>\n",1158 " <td>0</td>\n",1159 " <td>0</td>\n",1160 " </tr>\n",1161 " <tr>\n",1162 " <th>4</th>\n",1163 " <td>0</td>\n",1164 " <td>0</td>\n",1165 " <td>0</td>\n",1166 " <td>0</td>\n",1167 " <td>2</td>\n",1168 " <td>1</td>\n",1169 " <td>0</td>\n",1170 " <td>0</td>\n",1171 " <td>0</td>\n",1172 " <td>0</td>\n",1173 " <td>...</td>\n",1174 " <td>0</td>\n",1175 " <td>0</td>\n",1176 " <td>1</td>\n",1177 " <td>0</td>\n",1178 " <td>1</td>\n",1179 " <td>0</td>\n",1180 " <td>0</td>\n",1181 " <td>0</td>\n",1182 " <td>1</td>\n",1183 " <td>0</td>\n",1184 " </tr>\n",1185 " </tbody>\n",1186 "</table>\n",1187 "<p>5 rows × 27 columns</p>\n",1188 "</div>"1189 ],1190 "text/plain": [1191 " gender SeniorCitizen Partner Dependents tenure PhoneService \\\n",1192 "0 0 0 1 0 1 0 \n",1193 "1 1 0 0 0 34 1 \n",1194 "2 1 0 0 0 2 1 \n",1195 "3 1 0 0 0 45 0 \n",1196 "4 0 0 0 0 2 1 \n",1197 "\n",1198 " MultipleLines OnlineSecurity OnlineBackup DeviceProtection ... \\\n",1199 "0 0 0 1 0 ... \n",1200 "1 0 1 0 1 ... \n",