{ "cells": [ { "cell_type": "code", "execution_count": 36, "id": "b87148ba", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
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", "

5 rows × 21 columns

\n", "
" ], "text/plain": [ " customerID gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", "0 7590-VHVEG Female 0 Yes No 1 No \n", "1 5575-GNVDE Male 0 No No 34 Yes \n", "2 3668-QPYBK Male 0 No No 2 Yes \n", "3 7795-CFOCW Male 0 No No 45 No \n", "4 9237-HQITU Female 0 No No 2 Yes \n", "\n", " MultipleLines InternetService OnlineSecurity ... DeviceProtection \\\n", "0 No phone service DSL No ... No \n", "1 No DSL Yes ... Yes \n", "2 No DSL Yes ... No \n", "3 No phone service DSL Yes ... Yes \n", "4 No Fiber optic No ... No \n", "\n", " TechSupport StreamingTV StreamingMovies Contract PaperlessBilling \\\n", "0 No No No Month-to-month Yes \n", "1 No No No One year No \n", "2 No No No Month-to-month Yes \n", "3 Yes No No One year No \n", "4 No No No Month-to-month Yes \n", "\n", " PaymentMethod MonthlyCharges TotalCharges Churn \n", "0 Electronic check 29.85 29.85 No \n", "1 Mailed check 56.95 1889.5 No \n", "2 Mailed check 53.85 108.15 Yes \n", "3 Bank transfer (automatic) 42.30 1840.75 No \n", "4 Electronic check 70.70 151.65 Yes \n", "\n", "[5 rows x 21 columns]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set_style('darkgrid')\n", "df = pd.read_csv(\"C:/Users/Pranjal Ray/OneDrive/Desktop/WA_Fn-UseC_-Telco-Customer-Churn.csv\")\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 37, "id": "0ddbd39c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7043, 21)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "code", "execution_count": 38, "id": "23f33921", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "customerID 0\n", "gender 0\n", "SeniorCitizen 0\n", "Partner 0\n", "Dependents 0\n", "tenure 0\n", "PhoneService 0\n", "MultipleLines 0\n", "InternetService 0\n", "OnlineSecurity 0\n", "OnlineBackup 0\n", "DeviceProtection 0\n", "TechSupport 0\n", "StreamingTV 0\n", "StreamingMovies 0\n", "Contract 0\n", "PaperlessBilling 0\n", "PaymentMethod 0\n", "MonthlyCharges 0\n", "TotalCharges 0\n", "Churn 0\n", "dtype: int64" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isna().sum()" ] }, { "cell_type": "code", "execution_count": 39, "id": "f4d75c0e", "metadata": {}, "outputs": [], "source": [ "df.drop(df.columns[[0]], axis=1, inplace=True)" ] }, { "cell_type": "code", "execution_count": 41, "id": "b79a1009", "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def stacked_plot(df, group, target):\n", " fig, ax = plt.subplots(figsize = (6,4))\n", " temp_df = (df.groupby([group, target]).size()/df.groupby(group)[target].count()).reset_index().pivot(columns=target, index=group, values=0)\n", " temp_df.plot(kind='bar', stacked=True, ax = ax, color = [\"green\", \"darkred\"])\n", " ax.xaxis.set_tick_params(rotation=0)\n", " ax.set_xlabel(group)\n", " ax.set_ylabel('Churn Percentage')\n", "stacked_plot(df, \"gender\", \"Churn\")\n", "stacked_plot(df, \"SeniorCitizen\", \"Churn\")\n", "stacked_plot(df, \"Partner\", \"Churn\")\n", "stacked_plot(df, \"Dependents\", \"Churn\")" ] }, { "cell_type": "code", "execution_count": 42, "id": "f2a4681b", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurityOnlineBackupDeviceProtectionTechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurn
0Female0YesNo1NoNo phone serviceDSLNoYesNoNoNoNoMonth-to-monthYesElectronic check29.8529.85No
1Male0NoNo34YesNoDSLYesNoYesNoNoNoOne yearNoMailed check56.951889.5No
2Male0NoNo2YesNoDSLYesYesNoNoNoNoMonth-to-monthYesMailed check53.85108.15Yes
3Male0NoNo45NoNo phone serviceDSLYesNoYesYesNoNoOne yearNoBank transfer (automatic)42.301840.75No
4Female0NoNo2YesNoFiber opticNoNoNoNoNoNoMonth-to-monthYesElectronic check70.70151.65Yes
...............................................................
7038Male0YesYes24YesYesDSLYesNoYesYesYesYesOne yearYesMailed check84.801990.5No
7039Female0YesYes72YesYesFiber opticNoYesYesNoYesYesOne yearYesCredit card (automatic)103.207362.9No
7040Female0YesYes11NoNo phone serviceDSLYesNoNoNoNoNoMonth-to-monthYesElectronic check29.60346.45No
7041Male1YesNo4YesYesFiber opticNoNoNoNoNoNoMonth-to-monthYesMailed check74.40306.6Yes
7042Male0NoNo66YesNoFiber opticYesNoYesYesYesYesTwo yearYesBank transfer (automatic)105.656844.5No
\n", "

7043 rows × 20 columns

\n", "
" ], "text/plain": [ " gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", "0 Female 0 Yes No 1 No \n", "1 Male 0 No No 34 Yes \n", "2 Male 0 No No 2 Yes \n", "3 Male 0 No No 45 No \n", "4 Female 0 No No 2 Yes \n", "... ... ... ... ... ... ... \n", "7038 Male 0 Yes Yes 24 Yes \n", "7039 Female 0 Yes Yes 72 Yes \n", "7040 Female 0 Yes Yes 11 No \n", "7041 Male 1 Yes No 4 Yes \n", "7042 Male 0 No No 66 Yes \n", "\n", " MultipleLines InternetService OnlineSecurity OnlineBackup \\\n", "0 No phone service DSL No Yes \n", "1 No DSL Yes No \n", "2 No DSL Yes Yes \n", "3 No phone service DSL Yes No \n", "4 No Fiber optic No No \n", "... ... ... ... ... \n", "7038 Yes DSL Yes No \n", "7039 Yes Fiber optic No Yes \n", "7040 No phone service DSL Yes No \n", "7041 Yes Fiber optic No No \n", "7042 No Fiber optic Yes No \n", "\n", " DeviceProtection TechSupport StreamingTV StreamingMovies Contract \\\n", "0 No No No No Month-to-month \n", "1 Yes No No No One year \n", "2 No No No No Month-to-month \n", "3 Yes Yes No No One year \n", "4 No No No No Month-to-month \n", "... ... ... ... ... ... \n", "7038 Yes Yes Yes Yes One year \n", "7039 Yes No Yes Yes One year \n", "7040 No No No No Month-to-month \n", "7041 No No No No Month-to-month \n", "7042 Yes Yes Yes Yes Two year \n", "\n", " PaperlessBilling PaymentMethod MonthlyCharges TotalCharges \\\n", "0 Yes Electronic check 29.85 29.85 \n", "1 No Mailed check 56.95 1889.5 \n", "2 Yes Mailed check 53.85 108.15 \n", "3 No Bank transfer (automatic) 42.30 1840.75 \n", "4 Yes Electronic check 70.70 151.65 \n", "... ... ... ... ... \n", "7038 Yes Mailed check 84.80 1990.5 \n", "7039 Yes Credit card (automatic) 103.20 7362.9 \n", "7040 Yes Electronic check 29.60 346.45 \n", "7041 Yes Mailed check 74.40 306.6 \n", "7042 Yes Bank transfer (automatic) 105.65 6844.5 \n", "\n", " Churn \n", "0 No \n", "1 No \n", "2 Yes \n", "3 No \n", "4 Yes \n", "... ... \n", "7038 No \n", "7039 No \n", "7040 No \n", "7041 Yes \n", "7042 No \n", "\n", "[7043 rows x 20 columns]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df" ] }, { "cell_type": "code", "execution_count": 43, "id": "d737e383", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "No 1437\n", "Yes 229\n", "Name: Churn, dtype: int64" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[(df.SeniorCitizen == 0) & (df.Partner == 'Yes') & (df.Dependents == 'Yes')].Churn.value_counts()" ] }, { "cell_type": "code", "execution_count": 46, "id": "84e0c495", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "No 921\n", "Yes 242\n", "Name: Churn, dtype: int64" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[(df.SeniorCitizen == 0) & (df.Partner == 'Yes') & (df.Dependents == 'No')].Churn.value_counts()" ] }, { "cell_type": "code", "execution_count": 47, "id": "79d7494d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "No 278\n", "Yes 75\n", "Name: Churn, dtype: int64" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[(df.SeniorCitizen == 0) & (df.Partner == 'No') & (df.Dependents == 'Yes')].Churn.value_counts()" ] }, { "cell_type": "code", "execution_count": 48, "id": "86961019", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "No 1872\n", "Yes 847\n", "Name: Churn, dtype: int64" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[(df.SeniorCitizen == 0) & (df.Partner == 'No') & (df.Dependents == 'No')].Churn.value_counts()" ] }, { "cell_type": "code", "execution_count": 49, "id": "a4de94da", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 7043.000000\n", "mean 32.371149\n", "std 24.559481\n", "min 0.000000\n", "25% 9.000000\n", "50% 29.000000\n", "75% 55.000000\n", "max 72.000000\n", "Name: tenure, dtype: float64" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['tenure'].describe()" ] }, { "cell_type": "code", "execution_count": 50, "id": "324f6ec0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 613\n", "72 362\n", "2 238\n", "3 200\n", "4 176\n", "71 170\n", "5 133\n", "7 131\n", "8 123\n", "70 119\n", "Name: tenure, dtype: int64" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['tenure'].value_counts().head(10)" ] }, { "cell_type": "code", "execution_count": 51, "id": "9ef12561", "metadata": { "collapsed": true }, "outputs": [ { "data": { "image/png": "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//zzHcfZbU7OmDFDLVq0UN++fav1xa5NkyZNHMfarj47O9txrN36ZDfOdvWNGzd2HWe7NhdffLHjWNvV/+Mf/3Aca6fnyGmc7erPPfdcx3GW7PePiYmJjmPttj+1G2u7eq/X6zjOdvUxMTGuc9qtT3ZjbVdfWVnpONZ29WeddZbjONvVL1y40HGcnZ4jt/ls16aiosJ1rKXq72txcXEB991274NOc9q/vry8POC++8R6y7JqtO+265PbvvvE+rKysoD77hPr09PTA+67T6yfP39+wH23/3MUaL/t3+bYsWOu4+x/LJKbm6vp06crNjZWOTk5GjZs2Enrtzt+8Xq9GjlypHr16qWuXbu61t9000367//+b8XFxemss87SrFmzlJSU5Fj/61//WrNmzZLH49Ell1yiMWPGBOyPJC1atEj/+c9/bN8P/dtcffXVmjVrlho3bixJGj58uC699FLH+iFDhmjy5MmqqKhQQkKC5s6dqzPPPNOx/rvvvqv6t6+//lq33nqrRo8e7Vjfs2dPzZkzR3FxcercubNGjhzp2v9f/vKXmjNnjpKSktSlSxfdc889J22z/3HkpZde6jqnnY47nea0f33btm1d57R//S9+8QvXOe3UH7f57N+mTZs2rnPav/7qq692ndP+9WvWrHGd03bPUaA57d+mdevWjnPa7vh/8eLFjnPaKS8kJyfbzme7+jlz5lS9R9jNZ1tWhPvnP/9pjR071rIsy/r444+tIUOGuNY/9thj1o033mj17t27Rut/6aWXrGnTplmWZVkHDhywrrjiCtf65cuXW+PGjbMsy7LWrVsXsD+WZVnl5eXWPffcY3Xv3t3asmVLwPpjx45ZN998c8C649atW2fdddddltfrtUpKSqyHH364xm2nTJliLVmyxLVm+fLl1r333mtZlmWtXr3aGjZsWMD1Ll682Jo4caJlWZb11VdfWYMGDbKt8x+vu+66y1q3bp1lWZY1adIk6+2333atLygosHr06GGNGDGiRuvv37+/9dlnn1mWZVnPP/+8NWPGDNf6u+++29qwYYNlWZY1duzYk/pj18ayLKuoqMgaOHCg7evQv/7FF1+0/vrXv9r2365+7Nix1uuvv25ZlmWtXbvWWrFiRcD+WJZlFRcXWzfddJO1e/fugI9xzz33WCtXrrQsy7L+8Ic/WO+++65r/a233moVFhZalmVZc+fOtV555ZWqWrs55jbOdvX79u2zBg8ebHXr1s167rnnTuq/XRu3sbardxtrp/2E0zjb1QcaZ7s2bmPttu+yG2u7erdxtqt3G2fLst8/uo21Xb3bWNvVu42zXX2gOe20j3caa7t6t7G2q3cbZ7f3HLtxtqsPNJ/t2gQaa//3tUD7bv/6QHPavz7Qvtu/vib7brv3Zrd9t399oDntXx9o3+10rOC07/avDzTOdm3cxtnuWOSmm26ytm3bZvl8Put3v/udVVRUVO3f7dps27bNys3Nta688krr/fffD1jfvXt3a8+ePZZlWdacOXOsp556yrX+1ltvtbZv325ZlmXddttt1frkdDy1cuVKKzc31/bYwa7N3LlzrbfeeuukWqf6AQMGWB9//LFlWZb11ltvWR999FHAPlmWZW3fvt269dZbrZKSEtf6m2++2fryyy8tn89n9enTx/r8888d671er3XFFVdUPUejRo2yPvzww2rrszuOdJvTdvVuc9qu3m1O29W7zWmn42C3+WzXxm1O29W7zWm3Y3O7OW1XH2hO27UJtO8+7vjxf6A57V/vNp/t6t3ms5OIv2y4sLBQXbp0kSRdfPHF2rx5s2t9s2bNNG/evBqv/7rrrtN9990nSbIsS7Gxsa7111xzjQoKCiRJO3fudDxbeaJZs2apT58+Ovvss2vUp88//1xHjx7VoEGDNHDgQH3yySeu9atXr9ZPf/pTDR06VEOGDNGVV15Zo8fZtGmTtmzZotzcXNe6Fi1ayOv1yufzqaSkpEa/07tly5aqT2Natmypr776yrbOf7yKioqqPs3s2rWr1qxZ41rfvn17TZkyxbEf/vVz585Vq1atJP1wtiExMdG1ft68ebrkkktUXl6uPXv2VH2S6dbmwIEDmjt3rvLy8mrUp82bN2vlypXq37+/8vLyVFJS4lr/0Ucfaffu3br99tv197//vdqnv3b1J27LbbfdZvs69G/TqlUrFRcXy7IslZaWnjTm/vW7d+9W+/btJf0wJoWFhVX/ZjfH3MbZrr60tFTDhw/XzTfffFLfndq4jbVdvdtY29W7jbNdfaBxtmvjNtZu+y67sbardxtnu3q3cZbs949uY21X7zbWdvVu42xXH2hO27VxG2u7erextqt3G2e39xy7cbarDzSf7doEGmv/97VA+27/+kBz2r8+0L7bv74m+27/NoH23f71gea0f32gfbfTsYLTvtu/PtA427VxG2f/Y5EPP/xQ5eXlatasmTwej3Jyck4aZ7vjlyNHjmj69Onq1KnTSf2xq1+8eHHVGbjKyspqY21X/+KLLyorK0ulpaUqKSlRw4YNXeu3bdumF154Qffee+9J/XFqU1RUpGXLlqlfv36aOXOmKisrHes//vhj7d+/XytWrNCAAQP0ySefqF27dq7rP2769OkaM2aMkpOTXeuPj3VFRYXKysqq7f/96wsLC5WWlqasrKyqcf7oo4+qbbPdcaTbnLard5vTdvVuc9qu3m1O29UHms92bdzmtF2925x2Oza3m9N29YHmtF2bQPtu6cfj/1/+8pcB5/SJ9bm5ua7z2a7ebT47ifjwWlJSUu0FGhsbW22n4a9Hjx41ClfHJScnKyUlRSUlJbr33ns1YsSIgG3i4uI0duxYFRQUqGfPnq61L7/8sjIyMqoCeE00aNBAgwcP1l//+ldNnTpVo0ePdt3mAwcOaPPmzfrzn/9cVW/V4CbTjz76qIYOHRqwrmHDhtqxY4euv/56TZo0SQMGDAjYplWrVlqxYoUsy9Inn3yi3bt3y+v1nlTnP16WZcnj8Uj6YWwOHz7sWn/DDTdU1dvxrz/xIOKZZ57R7bff7lofGxurHTt26MYbb9SBAwf085//3PUxvF6vJkyYoPHjx1d783F7jHbt2umPf/yjnn32WWVlZemRRx5xrd+xY4fS0tL05JNPqnHjxnr88cdd66UfLhNbu3atfvWrX9WoT8cvT7n++uu1b9++k3ZS/vVZWVnasGGDJGnFihU6evRo1b/ZzTG3cbarz8rK0kUXXWTbd6c2bmNtV+821v719913n+s4260/0DjbtXEba6d9l9NY29W7jbPTODiN83H++8dAc9q/PtBY+9cHmtP+9TWZ0ye2ufHGGwPOaf/HCDTW/vWB5rTde47bnPavDzSfncbBaazt3tfcxtmu3m2c7erdxtmuPtA4+7fx+Xyu42z3GG7jbFfvNs5OxwpO42xXH2icncbBaZz9j0XGjx9f7XI/u/lsd/xy/vnnO37VyK4+IyNDkvT2229r/fr1uuWWW1zrJemTTz5Rz5491ahRI5177rmu9fn5+br//vsdT1bYtenUqZMmTZqkZ599VkeOHNGSJUsc60eNGqUvv/xSnTt31tNPP62DBw9WXUrptP7Kykp9/vnnKi0tVefOnQP257zzztOQIUN0ww03qHHjxmrZsqXruJWUlOirr76S1+vVqlWrdOTIkWqP4XQc6TSn7eqbNm3qOKft6jMzMyXZz2m7+piYGMc57V8/atQo5eXlue637R7DbU7b1bvNaafn1GlO29UHmtNO4xDoffr48b9/xrKb0yfWS9LPf/7zgF8dPLH++L7bbj47ifjwmpKSotLS0qq/fT5fUOG0Jnbt2qWBAwfq5ptvDhhGj5s1a5b++c9/atKkSSftBE60bNkyrVmzRgMGDNC///1vjR07Vnv27HFdd4sWLXTTTTfJ4/GoRYsWSk9Pd22Tnp6unJwcJSQkqGXLlkpMTNT+/ftdH+PQoUPaunWrLrvsMvcNlfTkk08qJydH//znP/Xqq69q3LhxKisrc23z61//WikpKerXr5+WL1+uNm3aBDyrLanatfylpaU1OrMdrDfeeEOTJ0/WY489VvUm6eYnP/mJ3n77bfXt21czZ850rS0qKtK2bds0ZcoU/eEPf9CWLVs0ffp01zbXXnut2rZtW/X/n332mWt9enq6rr76aknS1VdfHfBqBEl66623dOONN9ZoDKQfPv199tln9dZbb+mWW24JuN0zZszQo48+qt/+9rc666yzqn23Rzp5jgUa51OZk3Zt3Mbart5trE+sb968ecBx9l9/TcbZv02gsbbbBrex9q8PNM7+9YHG+bgT948n7iuc5nRN96dO9YHmtH99Teb08TZDhw7V559/HnBOn/gYOTk5Acf6xPrU1NSAc9p/GwLN6RPrp02bVqP5fGKbKVOmOI613fvaie85/uMc7PugU73TODvVu42zf5uePXvqiy++cBxnu8fo2rWr4zjb1cfExDiOs9M2OI2zXf24ceNcx9muzR/+8AfHcfY/FklNTVVxcbHjONu1CXT84lT/5JNP6oknntBf/vKXamdqnOovvvhivffee2rdurUee+wxx/rjH2qMHDlSM2bM0Lp166rVOz3GjTfeqKysLHk8HnXr1q3aWPvXH38OL7vsMnk8Hl111VXVxtppG1577TXb+5XYbcPs2bP1+uuv65133lF2draeeOIJ1/X/6U9/0pQpU3TnnXdW6+NxdseRJ4YY/7EO9rjTqd5pTjvVO81p//rvv/9e33zzjet+2+4xrrzySsc5bVfv9Xod57TT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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(16,8))\n", "sns.countplot(x=\"tenure\", hue=\"Churn\", data=df)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 52, "id": "cd1d5ad0", "metadata": {}, "outputs": [], "source": [ "def tenure(t):\n", " if t<=12:\n", " return 1\n", " elif t>12 and t<=24:\n", " return 2\n", " elif t>24 and t<=36:\n", " return 3\n", " elif t>36 and t<=48:\n", " return 4\n", " elif t>48 and t<=60:\n", " return 5\n", " else:\n", " return 6\n", "\n", "df[\"tenure_group\"]=df[\"tenure\"].apply(lambda x: tenure(x))" ] }, { "cell_type": "code", "execution_count": 53, "id": "291a7d77", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 2186\n", "6 1407\n", "2 1024\n", "3 832\n", "5 832\n", "4 762\n", "Name: tenure_group, dtype: int64" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"tenure_group\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 54, "id": "c2378179", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurityOnlineBackup...TechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurntenure_group
11Male0NoNo16YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceTwo yearNoCredit card (automatic)18.95326.8No2
16Female0NoNo52YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceOne yearNoMailed check20.651022.95No5
21Male0YesNo12YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceOne yearNoBank transfer (automatic)19.80202.25No1
22Male0NoNo1YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceMonth-to-monthNoMailed check20.1520.15Yes1
33Male0NoNo1YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceMonth-to-monthNoBank transfer (automatic)20.2020.2No1
\n", "

5 rows × 21 columns

\n", "
" ], "text/plain": [ " gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", "11 Male 0 No No 16 Yes \n", "16 Female 0 No No 52 Yes \n", "21 Male 0 Yes No 12 Yes \n", "22 Male 0 No No 1 Yes \n", "33 Male 0 No No 1 Yes \n", "\n", " MultipleLines InternetService OnlineSecurity OnlineBackup \\\n", "11 No No No internet service No internet service \n", "16 No No No internet service No internet service \n", "21 No No No internet service No internet service \n", "22 No No No internet service No internet service \n", "33 No No No internet service No internet service \n", "\n", " ... TechSupport StreamingTV StreamingMovies \\\n", "11 ... No internet service No internet service No internet service \n", "16 ... No internet service No internet service No internet service \n", "21 ... No internet service No internet service No internet service \n", "22 ... No internet service No internet service No internet service \n", "33 ... No internet service No internet service No internet service \n", "\n", " Contract PaperlessBilling PaymentMethod MonthlyCharges \\\n", "11 Two year No Credit card (automatic) 18.95 \n", "16 One year No Mailed check 20.65 \n", "21 One year No Bank transfer (automatic) 19.80 \n", "22 Month-to-month No Mailed check 20.15 \n", "33 Month-to-month No Bank transfer (automatic) 20.20 \n", "\n", " TotalCharges Churn tenure_group \n", "11 326.8 No 2 \n", "16 1022.95 No 5 \n", "21 202.25 No 1 \n", "22 20.15 Yes 1 \n", "33 20.2 No 1 \n", "\n", "[5 rows x 21 columns]" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df.InternetService == 'No'].head()" ] }, { "cell_type": "code", "execution_count": 55, "id": "372909cd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "11" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['TotalCharges'] = df[\"TotalCharges\"].replace(\" \",np.nan)\n", "df['TotalCharges'].isna().sum() " ] }, { "cell_type": "code", "execution_count": 56, "id": "ca8e8dc5", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurityOnlineBackup...TechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurntenure_group
488Female0YesYes0NoNo phone serviceDSLYesNo...YesYesNoTwo yearYesBank transfer (automatic)52.55NaNNo1
753Male0NoYes0YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceTwo yearNoMailed check20.25NaNNo1
936Female0YesYes0YesNoDSLYesYes...NoYesYesTwo yearNoMailed check80.85NaNNo1
1082Male0YesYes0YesYesNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceTwo yearNoMailed check25.75NaNNo1
1340Female0YesYes0NoNo phone serviceDSLYesYes...YesYesNoTwo yearNoCredit card (automatic)56.05NaNNo1
3331Male0YesYes0YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceTwo yearNoMailed check19.85NaNNo1
3826Male0YesYes0YesYesNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceTwo yearNoMailed check25.35NaNNo1
4380Female0YesYes0YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceTwo yearNoMailed check20.00NaNNo1
5218Male0YesYes0YesNoNoNo internet serviceNo internet service...No internet serviceNo internet serviceNo internet serviceOne yearYesMailed check19.70NaNNo1
6670Female0YesYes0YesYesDSLNoYes...YesYesNoTwo yearNoMailed check73.35NaNNo1
6754Male0NoYes0YesYesDSLYesYes...YesNoNoTwo yearYesBank transfer (automatic)61.90NaNNo1
\n", "

11 rows × 21 columns

\n", "
" ], "text/plain": [ " gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", "488 Female 0 Yes Yes 0 No \n", "753 Male 0 No Yes 0 Yes \n", "936 Female 0 Yes Yes 0 Yes \n", "1082 Male 0 Yes Yes 0 Yes \n", "1340 Female 0 Yes Yes 0 No \n", "3331 Male 0 Yes Yes 0 Yes \n", "3826 Male 0 Yes Yes 0 Yes \n", "4380 Female 0 Yes Yes 0 Yes \n", "5218 Male 0 Yes Yes 0 Yes \n", "6670 Female 0 Yes Yes 0 Yes \n", "6754 Male 0 No Yes 0 Yes \n", "\n", " MultipleLines InternetService OnlineSecurity \\\n", "488 No phone service DSL Yes \n", "753 No No No internet service \n", "936 No DSL Yes \n", "1082 Yes No No internet service \n", "1340 No phone service DSL Yes \n", "3331 No No No internet service \n", "3826 Yes No No internet service \n", "4380 No No No internet service \n", "5218 No No No internet service \n", "6670 Yes DSL No \n", "6754 Yes DSL Yes \n", "\n", " OnlineBackup ... TechSupport StreamingTV \\\n", "488 No ... Yes Yes \n", "753 No internet service ... No internet service No internet service \n", "936 Yes ... No Yes \n", "1082 No internet service ... No internet service No internet service \n", "1340 Yes ... Yes Yes \n", "3331 No internet service ... No internet service No internet service \n", "3826 No internet service ... No internet service No internet service \n", "4380 No internet service ... No internet service No internet service \n", "5218 No internet service ... No internet service No internet service \n", "6670 Yes ... Yes Yes \n", "6754 Yes ... Yes No \n", "\n", " StreamingMovies Contract PaperlessBilling \\\n", "488 No Two year Yes \n", "753 No internet service Two year No \n", "936 Yes Two year No \n", "1082 No internet service Two year No \n", "1340 No Two year No \n", "3331 No internet service Two year No \n", "3826 No internet service Two year No \n", "4380 No internet service Two year No \n", "5218 No internet service One year Yes \n", "6670 No Two year No \n", "6754 No Two year Yes \n", "\n", " PaymentMethod MonthlyCharges TotalCharges Churn \\\n", "488 Bank transfer (automatic) 52.55 NaN No \n", "753 Mailed check 20.25 NaN No \n", "936 Mailed check 80.85 NaN No \n", "1082 Mailed check 25.75 NaN No \n", "1340 Credit card (automatic) 56.05 NaN No \n", "3331 Mailed check 19.85 NaN No \n", "3826 Mailed check 25.35 NaN No \n", "4380 Mailed check 20.00 NaN No \n", "5218 Mailed check 19.70 NaN No \n", "6670 Mailed check 73.35 NaN No \n", "6754 Bank transfer (automatic) 61.90 NaN No \n", "\n", " tenure_group \n", "488 1 \n", "753 1 \n", "936 1 \n", "1082 1 \n", "1340 1 \n", "3331 1 \n", "3826 1 \n", "4380 1 \n", "5218 1 \n", "6670 1 \n", "6754 1 \n", "\n", "[11 rows x 21 columns]" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df[\"TotalCharges\"].isnull()]" ] }, { "cell_type": "code", "execution_count": 57, "id": "df41e8b2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[df[\"TotalCharges\"].isnull(), 'TotalCharges'] = 0\n", "df.isnull().any().any()" ] }, { "cell_type": "code", "execution_count": 58, "id": "19b4d944", "metadata": {}, "outputs": [], "source": [ "df['TotalCharges'] = df[\"TotalCharges\"].astype(float)\n", "\n", "Churn = df[df.Churn==\"Yes\"]\n", "Not_Churn = df[df.Churn==\"No\"]" ] }, { "cell_type": "code", "execution_count": 59, "id": "091733e8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.MonthlyCharges.isna().sum()" ] }, { "cell_type": "code", "execution_count": 60, "id": "c902d80c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1. , 0.99956055],\n", " [0.99956055, 1. ]])" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.corrcoef(df.TotalCharges, df.MonthlyCharges*df.tenure)" ] }, { "cell_type": "code", "execution_count": 61, "id": "647b2581", "metadata": {}, "outputs": [], "source": [ "def datapreparation(filepath):\n", " \n", " df = pd.read_csv(filepath)\n", " df.drop([\"customerID\"], inplace = True, axis = 1)\n", " \n", " df.TotalCharges = df.TotalCharges.replace(\" \",np.nan)\n", " df.TotalCharges.fillna(0, inplace = True)\n", " df.TotalCharges = df.TotalCharges.astype(float)\n", " \n", " cols1 = ['Partner', 'Dependents', 'PaperlessBilling', 'Churn', 'PhoneService']\n", " for col in cols1:\n", " df[col] = df[col].apply(lambda x: 0 if x == \"No\" else 1)\n", " \n", " df.gender = df.gender.apply(lambda x: 0 if x == \"Male\" else 1)\n", " df.MultipleLines = df.MultipleLines.map({'No phone service': 0, 'No': 0, 'Yes': 1})\n", " \n", " cols2 = ['OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies']\n", " for col in cols2:\n", " df[col] = df[col].map({'No internet service': 0, 'No': 0, 'Yes': 1})\n", " \n", " df = pd.get_dummies(df, columns=['InternetService', 'Contract', 'PaymentMethod'], drop_first=True)\n", " \n", " return df" ] }, { "cell_type": "code", "execution_count": 74, "id": "1b6a26fc", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
genderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesOnlineSecurityOnlineBackupDeviceProtection...MonthlyChargesTotalChargesChurnInternetService_Fiber opticInternetService_NoContract_One yearContract_Two yearPaymentMethod_Credit card (automatic)PaymentMethod_Electronic checkPaymentMethod_Mailed check
01010100010...29.8529.8500000010
100003410101...56.951889.5000010001
20000210110...53.85108.1510000001
300004500101...42.301840.7500010000
41000210000...70.70151.6511000010
\n", "

5 rows × 24 columns

\n", "
" ], "text/plain": [ " gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", "0 1 0 1 0 1 0 \n", "1 0 0 0 0 34 1 \n", "2 0 0 0 0 2 1 \n", "3 0 0 0 0 45 0 \n", "4 1 0 0 0 2 1 \n", "\n", " MultipleLines OnlineSecurity OnlineBackup DeviceProtection ... \\\n", "0 0 0 1 0 ... \n", "1 0 1 0 1 ... \n", "2 0 1 1 0 ... \n", "3 0 1 0 1 ... \n", "4 0 0 0 0 ... \n", "\n", " MonthlyCharges TotalCharges Churn InternetService_Fiber optic \\\n", "0 29.85 29.85 0 0 \n", "1 56.95 1889.50 0 0 \n", "2 53.85 108.15 1 0 \n", "3 42.30 1840.75 0 0 \n", "4 70.70 151.65 1 1 \n", "\n", " InternetService_No Contract_One year Contract_Two year \\\n", "0 0 0 0 \n", "1 0 1 0 \n", "2 0 0 0 \n", "3 0 1 0 \n", "4 0 0 0 \n", "\n", " PaymentMethod_Credit card (automatic) PaymentMethod_Electronic check \\\n", "0 0 1 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 1 \n", "\n", " PaymentMethod_Mailed check \n", "0 0 \n", "1 1 \n", "2 1 \n", "3 0 \n", "4 0 \n", "\n", "[5 rows x 24 columns]" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = datapreparation(filepath = \"C:/Users/Pranjal Ray/OneDrive/Desktop/WA_Fn-UseC_-Telco-Customer-Churn.csv\")\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 75, "id": "37d4a5df", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isnull().any().any()" ] }, { "cell_type": "code", "execution_count": 76, "id": "a8f45473", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split, GridSearchCV, cross_val_score\n", "from sklearn.metrics import confusion_matrix, accuracy_score, classification_report\n", "from sklearn.metrics import roc_auc_score, roc_curve, precision_score, recall_score, f1_score\n", "from imblearn.over_sampling import SMOTE\n", "from sklearn.ensemble import RandomForestClassifier" ] }, { "cell_type": "code", "execution_count": 77, "id": "f1e96a3c", "metadata": {}, "outputs": [], "source": [ "train, test = train_test_split(df, test_size=0.2, random_state=111, stratify = df.Churn)\n", "x = df.columns[df.columns!=\"Churn\"]\n", "y = \"Churn\"\n", "train_x = train[x]\n", "train_y = train[y]\n", "test_x = test[x]\n", "test_y = test[y]" ] }, { "cell_type": "code", "execution_count": 93, "id": "029c9416", "metadata": {}, "outputs": [], "source": [ "def churn_prediction(algo, training_x, training_y, testing_x, testing_y, cols, cf = 'coefficients'):\n", " algo.fit(training_x,training_y)\n", " predictions = algo.predict(testing_x)\n", " probabilities = algo.predict_proba(testing_x)[:,1]\n", " if cf == \"coefficients\":\n", " coefficients = pd.DataFrame(algo.coef_.ravel())\n", " elif cf == \"features\":\n", " coefficients = pd.DataFrame(algo.feature_importances_) \n", " column_df = pd.DataFrame(cols)\n", " coef_sumry = (pd.merge(coefficients,column_df,left_index= True,right_index= True, how = \"left\"))\n", " coef_sumry.columns = [\"coefficients\",\"features\"]\n", " coef_sumry = coef_sumry.sort_values(by = \"coefficients\",ascending = False) \n", " print (algo)\n", " print (\"\\n Classification report : \\n\",classification_report(testing_y,predictions))\n", " print (\"Accuracy Score : \",accuracy_score(testing_y,predictions))\n", " conf_matrix = confusion_matrix(testing_y,predictions)\n", " plt.figure(figsize=(12,12))\n", " plt.subplot(221)\n", " sns.heatmap(conf_matrix, fmt = \"d\",annot=True, cmap='Blues')\n", " plt.title('Confuion Matrix')\n", " plt.ylabel('True Values')\n", " plt.xlabel('Predicted Values')\n", " model_roc_auc = roc_auc_score(testing_y,probabilities) \n", " print (\"Area under curve : \",model_roc_auc,\"\\n\")\n", " fpr,tpr,thresholds = roc_curve(testing_y,probabilities)\n", " plt.subplot(222)\n", " plt.plot(fpr, tpr, color='darkorange', lw=1, label = \"Auc : %.3f\" %model_roc_auc)\n", " plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')\n", " plt.xlim([0.0, 1.0])\n", " plt.ylim([0.0, 1.05])\n", " plt.xlabel('False Positive Rate')\n", " plt.ylabel('True Positive Rate')\n", " plt.title('Receiver operating characteristic')\n", " plt.legend(loc=\"lower right\")\n", " plt.subplot(212)\n", " sns.barplot(x = coef_sumry[\"features\"] ,y = coef_sumry[\"coefficients\"])\n", " plt.title('Feature Importances')\n", " plt.xticks(rotation=\"vertical\")\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 94, "id": "a2060930", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 3 folds for each of 24 candidates, totalling 72 fits\n" ] }, { "data": { "text/html": [ "
GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n",
       "             param_grid={'max_features': ['auto', 'sqrt', 'log2', None],\n",
       "                         'n_estimators': [300, 500, 700, 900, 1100, 1300]},\n",
       "             scoring='f1', verbose=1)
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": [ "GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n", " param_grid={'max_features': ['auto', 'sqrt', 'log2', None],\n", " 'n_estimators': [300, 500, 700, 900, 1100, 1300]},\n", " scoring='f1', verbose=1)" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "param_grid1 = {'max_features':['auto', 'sqrt', 'log2', None],\n", " 'n_estimators':[300, 500, 700, 900, 1100, 1300]\n", " }\n", "\n", "rf_model = RandomForestClassifier()\n", "grid1 = GridSearchCV(estimator=rf_model, param_grid=param_grid1, n_jobs=-1, cv=3, verbose=1, scoring = 'f1')\n", "grid1.fit(train_x, train_y)" ] }, { "cell_type": "code", "execution_count": 95, "id": "6304aa86", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
RandomForestClassifier(max_features='log2', n_estimators=300)
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": [ "RandomForestClassifier(max_features='log2', n_estimators=300)" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid1.best_estimator_" ] }, { "cell_type": "code", "execution_count": 96, "id": "27b8c617", "metadata": { "collapsed": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dt = pd.DataFrame(grid1.cv_results_)\n", "dt.param_max_features = dt.param_max_features.astype(str)\n", "dt.param_n_estimators = dt.param_n_estimators.astype(str)\n", "\n", "table = pd.pivot_table(dt, values='mean_test_score', index='param_n_estimators', \n", " columns='param_max_features')\n", " \n", "sns.heatmap(table)" ] }, { "cell_type": "code", "execution_count": 97, "id": "aa77cab0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.571507341023573" ] }, "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid1.best_score_" ] }, { "cell_type": "code", "execution_count": 98, "id": "143b43ab", "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 3 folds for each of 36 candidates, totalling 108 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n" ] }, { "data": { "text/html": [ "
GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n",
       "             param_grid={'criterion': ['entropy', 'gini'],\n",
       "                         'max_depth': [7, 9, 11, 13, 15, None],\n",
       "                         'max_features': ['auto'],\n",
       "                         'n_estimators': [1000, 1100, 1200]},\n",
       "             scoring='f1', verbose=1)
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": [ "GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n", " param_grid={'criterion': ['entropy', 'gini'],\n", " 'max_depth': [7, 9, 11, 13, 15, None],\n", " 'max_features': ['auto'],\n", " 'n_estimators': [1000, 1100, 1200]},\n", " scoring='f1', verbose=1)" ] }, "execution_count": 98, "metadata": {}, "output_type": "execute_result" } ], "source": [ "param_grid2 = {'max_features':['auto'],\n", " 'n_estimators':[1000, 1100, 1200],\n", " 'criterion': ['entropy', 'gini'], \n", " 'max_depth': [7, 9, 11, 13, 15, None],\n", " }\n", "\n", "rf_model = RandomForestClassifier()\n", "grid2 = GridSearchCV(estimator=rf_model, param_grid=param_grid2, n_jobs=-1, cv=3, verbose=1, scoring = 'f1')\n", "grid2.fit(train_x, train_y)" ] }, { "cell_type": "code", "execution_count": 99, "id": "06489d11", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
RandomForestClassifier(max_depth=9, max_features='auto', n_estimators=1200)
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": [ "RandomForestClassifier(max_depth=9, max_features='auto', n_estimators=1200)" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid2.best_estimator_" ] }, { "cell_type": "code", "execution_count": 100, "id": "76d3671e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.5783323242846907" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid2.best_score_" ] }, { "cell_type": "code", "execution_count": 101, "id": "01c691ac", "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 3 folds for each of 16 candidates, totalling 48 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n" ] }, { "data": { "text/html": [ "
GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n",
       "             param_grid={'criterion': ['entropy'], 'max_depth': [10],\n",
       "                         'max_features': ['auto'],\n",
       "                         'min_samples_leaf': [1, 3, 5, 7],\n",
       "                         'min_samples_split': [2, 4, 6, 8],\n",
       "                         'n_estimators': [1000]},\n",
       "             scoring='f1', verbose=1)
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": [ "GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n", " param_grid={'criterion': ['entropy'], 'max_depth': [10],\n", " 'max_features': ['auto'],\n", " 'min_samples_leaf': [1, 3, 5, 7],\n", " 'min_samples_split': [2, 4, 6, 8],\n", " 'n_estimators': [1000]},\n", " scoring='f1', verbose=1)" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "param_grid3 = {'max_features':['auto'],\n", " 'n_estimators':[1000],\n", " 'criterion': ['entropy'], \n", " 'max_depth': [10],\n", " 'min_samples_leaf': [1, 3, 5, 7],\n", " 'min_samples_split': [2, 4, 6, 8]\n", " }\n", "\n", "rf_model = RandomForestClassifier()\n", "grid3 = GridSearchCV(estimator=rf_model, param_grid=param_grid3, n_jobs=-1, cv=3, verbose=1, scoring = 'f1')\n", "grid3.fit(train_x, train_y)" ] }, { "cell_type": "code", "execution_count": 102, "id": "f16490c3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.5771951048339532" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid3.best_score_" ] }, { "cell_type": "code", "execution_count": 103, "id": "bfc98bad", "metadata": { "collapsed": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 3 folds for each of 3 candidates, totalling 9 fits\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n" ] }, { "data": { "text/html": [ "
GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n",
       "             param_grid={'class_weight': [{0: 1, 1: 1}, {0: 1, 1: 2},\n",
       "                                          {0: 1, 1: 3}],\n",
       "                         'criterion': ['entropy'], 'max_depth': [10],\n",
       "                         'max_features': ['auto'], 'min_samples_leaf': [1],\n",
       "                         'min_samples_split': [8], 'n_estimators': [1000]},\n",
       "             scoring='f1', verbose=1)
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": [ "GridSearchCV(cv=3, estimator=RandomForestClassifier(), n_jobs=-1,\n", " param_grid={'class_weight': [{0: 1, 1: 1}, {0: 1, 1: 2},\n", " {0: 1, 1: 3}],\n", " 'criterion': ['entropy'], 'max_depth': [10],\n", " 'max_features': ['auto'], 'min_samples_leaf': [1],\n", " 'min_samples_split': [8], 'n_estimators': [1000]},\n", " scoring='f1', verbose=1)" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "param_grid4 = {'class_weight':[{0:1, 1:1}, {0:1, 1:2}, {0:1, 1:3}],\n", " 'max_features':['auto'],\n", " 'n_estimators':[1000],\n", " 'criterion': ['entropy'], \n", " 'max_depth': [10],\n", " 'min_samples_leaf': [1],\n", " 'min_samples_split': [8]\n", " }\n", "\n", "rf_model = RandomForestClassifier()\n", "grid4 = GridSearchCV(estimator=rf_model, param_grid=param_grid4, n_jobs=-1, cv=3, verbose=1, scoring = 'f1')\n", "grid4.fit(train_x, train_y)" ] }, { "cell_type": "code", "execution_count": 104, "id": "f47323d5", "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "
RandomForestClassifier(class_weight={0: 1, 1: 3}, criterion='entropy',\n",
       "                       max_depth=10, max_features='auto', min_samples_split=8,\n",
       "                       n_estimators=1000)
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": [ "RandomForestClassifier(class_weight={0: 1, 1: 3}, criterion='entropy',\n", " max_depth=10, max_features='auto', min_samples_split=8,\n", " n_estimators=1000)" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid4.best_estimator_" ] }, { "cell_type": "code", "execution_count": 105, "id": "e01b1e14", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6329993304864453" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "grid4.best_score_" ] }, { "cell_type": "code", "execution_count": 106, "id": "7bfcc1c1", "metadata": { "collapsed": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dt = pd.DataFrame(grid4.cv_results_)\n", "dt.param_class_weight = dt.param_class_weight.astype(str)\n", "table = pd.pivot_table(dt, values='mean_test_score', index='param_class_weight')\n", " \n", "sns.heatmap(table)" ] }, { "cell_type": "code", "execution_count": 108, "id": "900034bc", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "RandomForestClassifier(class_weight={0: 1, 1: 2}, criterion='entropy',\n", " max_depth=10, max_features='auto', min_samples_split=8,\n", " n_estimators=1000)\n", "\n", " Classification report : \n", " precision recall f1-score support\n", "\n", " 0 0.87 0.83 0.85 1035\n", " 1 0.59 0.66 0.63 374\n", "\n", " accuracy 0.79 1409\n", " macro avg 0.73 0.75 0.74 1409\n", "weighted avg 0.80 0.79 0.79 1409\n", "\n", "Accuracy Score : 0.7892122072391767\n", "Area under curve : 0.848934356351236 \n", "\n" ] }, { "data": { "image/png": "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REREBsLwTURERERkIAzfREREREQGwvBNRERERGQgDN9ERERERAbC8E1EREREZCAM30REREREBsLwTURERERkIAzfREREREQGwvBNRERERGQgDN9ERERERAbC8E1EREREZCAM30REREREBsLwTURERERkIAzfREREREQGopa7ACKivMTNzQ2urq5QKv+v76Jy5cqYMWNGlo535coVbN++HVOnTs2pEj/g5uaGM2fOwN7eXrI20rJt2zZoNBp0797doO0SEeVmDN9ERJm0fv36HAuyd+/excuXL3PkWLnNxYsXUa5cObnLICLKVRi+iYhyyL179zBjxgxERUUhJSUFPXv2ROfOnaHT6TBz5kxcvnwZ8fHxEEJg+vTpKFasGJYsWYLY2FiMGzcOHTp0wLRp07Bv3z4AwNmzZ/XLS5cuRUhICMLCwuDm5ob58+cjICAAf/75J3Q6HYoXL47JkyejcOHCH63vyZMn6NWrF+rWrYuQkBBotVqMHj0aQUFBuH//PipXroyFCxfi2bNn6NmzJ2rXro1bt25BCAE/Pz/UqlULycnJmD17Ns6cOQOVSoWqVati3LhxsLKyQpMmTVC1alXcvn0bw4cPx5EjR3Dq1CmYm5ujRYsW8PPzw+vXrxEeHo7ixYtj8eLFcHBwQJMmTdCxY0ecOXMGz58/R6tWrTB69GgAwPbt27F27VoolUoULFgQc+bMQdGiRXHkyBEEBAQgOTkZ5ubmGDNmDGrUqIF79+5hwoQJ0Gg0EEKgc+fO7HknotxFEBFRhrm6uoq2bduKL7/8Uv/16tUrkZycLFq3bi2uXbsmhBAiJiZGtGrVSly6dEn8888/YsiQISIlJUUIIcSKFSvEwIEDhRBC7NixQwwYMEAIIcTff/8t2rRpo2/r/eUlS5aIFi1aiOTkZCGEELt27RLDhg3TLwcGBor+/ft/tObXr1+Lx48fC1dXV3Ho0CEhhBB+fn6icePGIjY2ViQmJooGDRqIixcv6rfbs2ePEEKIv/76SzRo0EBoNBrx448/isGDBwuNRiNSUlLE2LFjxaRJk4QQQjRu3FgsW7ZM3+6YMWPEL7/8IoQQYt26dWLFihVCCCF0Op3o37+/WL16tX6/2bNnCyGEePHihahSpYp49OiRuHnzpqhTp4549uyZEEKItWvXikmTJokHDx6Itm3bioiICCGEEHfu3BENGjQQ8fHxYty4cfp2wsLCxLBhw/Q/dyKi3IA930REmZTWsJO7d+/i0aNHGD9+vH5dYmIibty4gW7dusHW1haBgYF4/Pgxzp49C0tLy0y3W716dajVb9+2jx49iqtXr8LLywsAoNPp8ObNm08ew8TEBE2aNAEAODs7o0aNGrCysgIAFCpUCNHR0ShUqBBsbW3Rrl07AECjRo2gUqlw+/ZtHD9+HD/88ANMTEwAAD179sR3332nP36tWrXSbLdXr164cOEC1q5di4cPH+Lff/9FtWrV9K83bdoUAFC4cGE4ODggOjoa58+fh4eHB4oWLQoA6N27NwBg8+bNCAsL0y8DgEKhwKNHj9C8eXOMGTMGV65cQb169TBx4sRU4/OJiOTG8E1ElANSUlJgY2ODX3/9Vb/u1atXsLa2xl9//YUZM2agT58+aNq0KVxcXLBnz54PjqFQKCCE0C8nJyenet3CwkL/vU6nQ//+/dGtWzcAgEajQXR09CfrNDExgUKhSLWcFpVKlWpZp9NBpVJBp9N9sP79Ot+v8X3z5s3DlStX4OXlhTp16kCr1aY6VzMzM/33734OKpUqVa2JiYl4+vQpdDod6tWrh8WLF+tfe/78OQoVKoTy5cvjwIEDOH36NM6cOYOffvoJgYGBcHZ2TuenQkRkOOwOICLKAaVLl4aZmZk+fD9//hxt27bFtWvXcOrUKTRu3BjdunVDlSpVcOjQIaSkpAB4G3K1Wi0AwN7eHs+ePcPr168hhMChQ4c+2p6Hhwe2b9+OuLg4AMCPP/6oHyedEyIiInD8+HEAwJEjR2BiYgJXV1d4enoiMDAQycnJ0Ol02Lx5Mxo0aJDmMd4/t5MnT6JXr17o0KEDHBwccPr0af3P4GPq1KmDM2fOICwsDAAQGBiIefPmoW7dujh16hTu3bsHADh27Bi+/PJLJCUlYcSIEdi/fz/atGmDyZMnw8rKCs+fP8+pHwsRUbax55uIKAeYmppi+fLlmDFjBn755RdotVp8//33qFmzJuzs7DBy5Ei0a9cOKpUKtWrV0t8oWaNGDSxevBjfffcdfvrpJ/j6+sLLywtOTk74/PPPP9qet7c3Xr58iS5dukChUKBo0aKYPXt2jp3Puz8k5s+fD3Nzc/z0009QqVQYNGgQ5syZgw4dOkCr1aJq1aqYNGlSmsdo2LAhpk2bBgD47rvvMHfuXCxfvhwqlQru7u549OhRujW4ublh1KhR6N+/PwDAyckJM2fOROHChTF16lQMHz4cQgio1WoEBATAwsIC3377LSZMmICgoCCoVCo0a9YMtWvXzrGfCxFRdinE+5/7ERFRvvfkyRO0a9cOly5dkrsUIiKjw2EnREREREQGwp5vIiIiIiIDYc83EREREZGBMHwTERERERkIwzcRERERkYEY3VSDOp0OKSkcxk5ERERE0jIxUX16o/8wuvCdkiIQFZUgdxlEREREZOScnKwzvQ+HnRARERERGQjDNxERERGRgTB8ExEREREZCMM3EREREZGBMHwTERERERkIwzcRERERkYEwfBMRERERGQjDNxERERGRgTB8ExEREREZCMM3EREREZGBMHwTERERERkIwzcRERERkYGo5S5ASva25lCZmkhy7BRNMiKiEyU5NhEREREZJ0nCt06ng7+/P27fvg1TU1NMnz4dpUqVSrVNREQEunbtij179sDMzAwrV67EiRMnAAAxMTF49eoVTp06hXXr1mHbtm2wt7cHAEyZMgUuLi4ZqkNlaoLwgE05e3L/n9OgHgAYvomIiIgo4yQJ34cOHYJGo0FQUBBCQkIwe/ZsBAQE6F8/ceIEFixYgPDwcP26AQMGYMCAAQCAgQMHYtSoUQCAa9euYc6cOahcubIUpRIRERERGYwkY74vXrwIT09PAED16tVx7dq11I0qlVi7di3s7Ow+2PfPP/+EjY0NPDw8AADXr1/HypUr0bVrV6xYsUKKcomIiIiIDEKSnu+4uDhYWVnpl1UqFbRaLdTqt801aNDgo/uuWLECCxcu1C+3adMG3bp1g5WVFQYPHoyjR4+icePGH91fpVLAzs4iB87i0wzVDhEREREZB0nCt5WVFeLj4/XLOp1OH7zTc/fuXdjY2OjHhwsh0KtXL1hbWwMAGjVqhBs3bqQbvlNSBKKiEgAATk7W2TmNT3rXDhERERHlP1nJmpIMO3F3d8fx48cBACEhIXB1dc3QfqdPn0bDhg31y3FxcWjbti3i4+MhhMDZs2c59puIiIiI8ixJer6bN2+OU6dOwdfXF0IIzJw5E2vXroWzszOaNm360f0ePHiQakiKtbU1fvjhB3z11VcwNTVFvXr10KhRIylKJiIiIiKSnEIIIeQuIiclJ6ekGnYi5VSD4eGxkhybiIiIiHK/XDPshIiIiIiIPsTwTURERERkIAzfREREREQGwvBNRERERGQgDN9ERERERAbC8E1EREREZCAM30REREREBsLwTURERERkIAzfREREREQGwvBNRERERGQgDN9ERERERAbC8E1EREREZCAM30REREREBsLwTURERERkIAzfREREREQGwvBNRERERGQgDN9ERERERAbC8E1EREREZCAM30REREREBsLwTURERERkIAzfREREREQGwvBNRERERGQgDN9ERERERAbC8E1EREREZCAM30REREREBsLwTURERERkIAzfREREREQGwvBNRERERGQgDN9ERERERAailrsAY2Nvaw6VqYlkx0/RJCMiOlGy4xMRERGRdBi+c5jK1AQvA+ZKdvzCg0YDYPgmIiIiyoskGXai0+ng5+cHHx8f9OzZE6GhoR9sExERgRYtWiApKQkAIISAp6cnevbsiZ49e2LBggUAgCNHjsDLyws+Pj4IDg6WolwiIiIiIoOQpOf70KFD0Gg0CAoKQkhICGbPno2AgAD96ydOnMCCBQsQHh6uX/fo0SNUqlQJP//8s35dcnIyZs2ahe3bt6NAgQLo2rUrmjRpAkdHRynKJiIiIiKSlCQ93xcvXoSnpycAoHr16rh27VrqRpVKrF27FnZ2dvp1169fx8uXL9GzZ098/fXXuH//Pu7duwdnZ2fY2trC1NQUNWvWxPnz56UomYiIiIhIcpKE77i4OFhZWemXVSoVtFqtfrlBgwYoWLBgqn2cnJwwYMAAbNy4EQMHDsSoUaMQFxcHa2tr/TaWlpaIi4uTomQiIiIiIslJMuzEysoK8fHx+mWdTge1Ov2mKleuDJVKBQCoVasWwsLCPjhOfHx8qjCeFpVKATs7i2xUn3GGaie3tEtERERE2SNJ+HZ3d8fRo0fRunVrhISEwNXV9ZP7LFu2DHZ2dvj6669x69YtFC1aFGXKlEFoaCiioqJgYWGBCxcuoF+/fukeJyVFICoqAQDg5JR+UM+ud+28T+o2P9YuERERERlWVnKfJOG7efPmOHXqFHx9fSGEwMyZM7F27Vo4OzujadOmae4zYMAAjBo1CseOHYNKpcKsWbNgYmKCsWPHol+/fhBCwMvLC4ULF5aiZCIiIiIiySmEEELuInJScnJKqp7v8IBNkrTjNKgHwsNjP1zvZC35PN9ptUtEREREhpWVnm8+Xp6IiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMRC13AZR99ramUJmaSXb8FE0SIqI1kh2fiIiIKL9g+DYCKlMzPFzSQbLjfzZ0NwCGbyIiIqLs4rATIiIiIiIDYfgmIiIiIjIQScK3TqeDn58ffHx80LNnT4SGhn6wTUREBFq0aIGkpCQAQGxsLL755hv06NEDPj4+uHTpEgDg4MGDaNasGXr27ImePXvi3LlzUpRMRERERCQ5ScZ8Hzp0CBqNBkFBQQgJCcHs2bMREBCgf/3EiRNYsGABwsPD9evWrl2LunXronfv3rh//z5GjBiBXbt24dq1axg1ahRatGghRalERERERAYjSfi+ePEiPD09AQDVq1fHtWvXUr2uVCqxdu1aeHl56df17t0bpqamAICUlBSYmb2dveP69eu4efMm1q9fj6pVq2LkyJFQq3mfKBERERHlPZIMO4mLi4OVlZV+WaVSQavV6pcbNGiAggULptrHxsYG5ubmCA8Px6hRozB8+HD9tpMmTcLmzZuRkJCAwMBAKUomIiIiIpKcJF3IVlZWiI+P1y/rdLoM9Vbfvn0bw4cPx+jRo1G7dm0AgJeXF2xsbAAATZs2xYEDB9I9hkqlgJ2dRTaqzzhDtZMb2pXrXImIiIiMiSTh293dHUePHkXr1q0REhICV1fXT+5z9+5dfP/991i8eDHKly8PABBC4Msvv0RgYCCKFCmCM2fOoFKlSukeJyVFICoqAQDg5GSd/ZNJx7t23id1m2m1K0ebRERERPldVjKYJOG7efPmOHXqFHx9fSGEwMyZM7F27Vo4OzujadOmae6zYMECaDQazJgxA8Db3vOAgABMnz4dgwcPhrm5OcqUKYMuXbpIUTIRERERkeQkCd9KpRJTp05Nta5MmTIfbHfkyBH99+/PhvI+Dw8PeHh45GyBREREREQy4EN2iIiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDIThm4iIiIjIQBi+iYiIiIgMhOGbiIiIiMhAGL6JiIiIiAyE4ZuIiIiIyEAYvomIiIiIDCRD4fv06dM4fvw4jh07hmbNmmHv3r1S10VEREREZHTUGdlo0aJFWLBgAaZMmYKtW7di2LBhaNeundS1US5W0NYUalMzyY6v1SQhMloj2fGJiIiI5JCh8G1ubg4HBweo1Wo4OTlBoVBIXRflcmpTM5xd0Vay49cZuA8AwzcREREZlwwNO7G0tET//v3RqlUrbN68Gfb29lLXRURERERkdDLU8z1//ny8ePECZcuWxZ07d/DFF19IXRcRERERkdFJt+c7PDwcDx48QN++faFWq/HgwQOoVCoMGjTIUPURERERERmNdHu+L1++jPXr1+PBgweYNGkSAECpVMLDw8MgxRERERERGZN0w3ezZs3QrFkzHDt2DI0aNTJUTURERERERilDY74LFSoEf39/JCUl6dfNmjVLsqKIiIiIiIxRhsL32LFj0aNHDxQpUiRDB9XpdPD398ft27dhamqK6dOno1SpUqm2iYiIQNeuXbFnzx6YmZkhMTERo0aNwuvXr2FpaYk5c+bA3t4eR44cwU8//QS1Wg0vLy906dIl82dJRERERJQLZCh8Ozo6wtvbO8MHPXToEDQaDYKCghASEoLZs2cjICBA//qJEyewYMEChIeH69dt3boVrq6uGDJkCH777TcsX74cY8aMwaxZs7B9+3YUKFAAXbt2RZMmTeDo6JiJUyQiIiIiyh0yNM938eLFsXLlSpw4cQInT57EyZMn093+4sWL8PT0BABUr14d165dS92oUom1a9fCzs4uzX0aNmyIM2fO4N69e3B2doatrS1MTU1Rs2ZNnD9/PjPnR0RERESUa2So5zs5ORkPHjzAgwcP9OvSm/EkLi4OVlZW+mWVSgWtVgu1+m1zDRo0SHMfa2trAG8f6hMbG5tq3bv1cXFx6daqUilgZ2eRkdPKNkO1kxvazS9tEhEREUkpQ+F71qxZePDgAR49egQ3NzcUKlQo3e2trKwQHx+vX9bpdPrgnZF94uPjYWNj88Fx4uPjU4XxtKSkCERFJQAAnJzS3za73rXzPqnbTKvd/NImERERUW6SlTyUoWEnmzZtgr+/PxYtWoQDBw5g+vTp6W7v7u6O48ePAwBCQkLg6ur6yTbc3d1x7NgxAMDx48dRs2ZNlClTBqGhoYiKioJGo8GFCxdQo0aNjJRMRERERJTrZKjn+7fffsPmzZvRq1cv9OrVC15eXulu37x5c5w6dQq+vr4QQmDmzJlYu3YtnJ2d0bRp0zT36dq1K8aMGYOuXbvCxMTk/7V332FRndv78O+hDIKADbEBCiiiRmKPxBZEYwcbxZ6IRGMhdhQUFLsGS2LEFhsWihqjaGLUaCyJ0VgiogZFbFEEFdRBpM28f/DO/oEl35yEZ+843p/rOtdhZsishxFm1n7KWoiMjISpqSmmTJmCgIAA6HQ69OnTB1WqVPnff0oiIiIiov+Av5V863Q6qFQqqFQqAIBarf7L7zcyMkJERESJ+5ydnV/6vh9//FH62tzcHF988cVL39O+fXu0b9/+7wyTiIiIiOg/7W8l3927d8eAAQNw9+5dBAYGokOHDqLHRURERERkcP5W8j1w4EC4u7sjOTkZjo6OcHV1FT0uIiIiIiKD85cHLuPj4wEAkZGR+Pbbb3H58mXs27cPixcvlmVwRERERESG5C9nvvXt5J2cnGQZDBERERGRIfvLmW99x0lHR0c8ffoUvXr1wvHjx/9W6UAiIiIiIirpb9X5njVrFj744AMAwNixYzF37lyRYyIiIiIiMkh/K/k2NTWFg4MDAMDe3h5GRn/rPyMiIiIiomL+VrWT6tWrY/HixWjUqBEuXLjwf7aXJyIiIiKil/2tKex58+ahYsWK+Omnn1CpUiXMmzdP9LiIiIiIiAzOXybfiYmJAIDTp0+jdu3a6NixIxwdHXHq1ClZBkdEREREZEj+ctvJyZMn0bBhQ+zdu/elx1q3bi1sUEREREREhuj/TL4DAwNRo0YNjB49Wq4xEREREREZpL9MvjMzMxEUFIQzZ84gNTW1xGORkZFCB0ZEREREZGj+MvkOCwtDfn4+bt26BT8/P7nGRERERERkkP4y+Z4zZw7i4+Nha2uLFi1ayDUmIiIiIiKD9JfJt729Pdzd3aHRaF46YHn8+HGhAyMiIiIiMjR/mXwvXrwYADBz5kyEh4fLMiAiIiIiIkP1tzpcTpgwAUuXLsX9+/fh4eGBunXrombNmqLHRkRERERkUP5Wh8uQkBDY2dnh5s2bsLGxQWhoqOhxEREREREZnL+VfGdlZaFv374wMTFBkyZNoNVqRY+LiIiIiMjg/K3kGwBSUlIAAGlpaTA2NhY2ICIiIiIiQ/W3ku9p06YhJCQEly5dQlBQEKZMmSJ6XEREREREBudvHbh0cXHBypUrcfv2bdjZ2aFixYqix0VEREREZHD+1sz3vn374O/vj5UrV8LPzw/ffvut6HERERERERmcvzXzvXHjRuzcuRNly5aFRqPBkCFD4O3tLXpsREREREQG5W/NfKtUKpQtWxYAYGlpCTMzM6GDIiIiIiIyRH9r5tve3h7z589Hs2bNcObMGTg4OIgeFxERERGRwflbM99+fn4oV64cfv75Z+zcuRMDBgwQPS4iIiIiIoPzt5LvefPmoVu3bggLC8P27dsxf/580eMiIiIiIjI4fyv5NjU1lbaa2Nvbw8job/fmISIiIiKi/9/f2vNdvXp1LF68GI0aNcKFCxdga2srelxERERERAbnb287qVixIn766SdUrFgR8+bNEz0uIiIiIiKD87dmvs3MzPDRRx/97SfVarWYMWMG/vjjD6jVasyePRs1a9aUHo+Li0NMTAxMTEzw6aefwsPDA3PmzMGVK1cAABkZGbC2tkZcXBxmz56Ns2fPSqUOV6xYASsrq//hRyQiIiIi+m/4W8n3/+rgwYPIy8tDbGwszp8/j/nz5yMqKgpAUWIdHR2NHTt2IDc3F/3790erVq0QGhoKAMjPz0f//v0xa9YsAEBSUhLWrl3LlvZERERE9MYTcnLyzJkzaNOmDQCgUaNGuHjxovTYhQsX0LhxY6jValhZWcHBwUGa8QaAzZs3o1WrVqhbty60Wi1u3ryJsLAw+Pv7Y/v27SKGS0REREQkCyEz3xqNBpaWltJtY2NjFBQUwMTEBBqNpsS2EX3LegDIy8tDTEyMlGQ/e/YMAwcOxMcff4zCwkIMHjwY77zzDlxdXV8b29hYhfLlLUT8WC+RK85/Ie7bEpOIiIhIJCHJt6WlJbKzs6XbWq0WJiYmr3wsOztbSsZ/+eUXNG/eXLptbm6OwYMHw9zcHADQsmVLXLly5S+T78JCHbKyngEAKlcWuzdcH6c40TFfFfdtiQkA5cupYao2ExIvPy8XWY/zhDw3ERERGZ5/kg8JSb6bNGmCw4cPo2vXrjh//jxcXFykx9zc3LB06VLk5uYiLy8PKSkp0uM///wz2rZtK33vjRs3MHbsWOzatQtarRZnz55Fr169RAyZ3hCmajN893VXIc/dJWAfACbfREREJI6Q5Ltjx444ceIE/P39odPpMHfuXKxfvx4ODg7w9PTEoEGD0L9/f+h0OowbNw5mZkUzmampqejZs6f0PM7OzvD29oavry9MTU3h7e2NOnXqiBgyEREREZFwQpJvIyMjRERElLjP2dlZ+trX1xe+vr4v/XerV69+6b5hw4Zh2LBhpT9IIiIiIiKZsU88EREREZFMmHwTEREREcmEyTcRERERkUyYfBMRERERyYTJNxERERGRTJh8ExERERHJhMk3EREREZFMmHwTEREREcmEyTcRERERkUyYfBMRERERyYTJNxERERGRTJh8ExERERHJhMk3EREREZFMmHwTEREREcmEyTcRERERkUyYfBMRERERyYTJNxERERGRTJh8ExERERHJhMk3EREREZFMmHwTEREREcmEyTcRERERkUyYfBMRERERyYTJNxERERGRTJh8ExERERHJhMk3EREREZFMmHwTEREREcmEyTcRERERkUyYfBMRERERyYTJNxERERGRTJh8ExERERHJhMk3EREREZFMTEQ8qVarxYwZM/DHH39ArVZj9uzZqFmzpvR4XFwcYmJiYGJigk8//RQeHh7IyspCp06d4OLiAgDo0KEDhgwZ8srvJSIiIiJ6EwlJvg8ePIi8vDzExsbi/PnzmD9/PqKiogAAGRkZiI6Oxo4dO5Cbm4v+/fujVatWuHTpErp3747p06dLz/O671Wr1SKGTUREREQklJBtJ2fOnEGbNm0AAI0aNcLFixelxy5cuIDGjRtDrVbDysoKDg4OuHLlCi5evIikpCQMHDgQQUFBSE9Pf+33EhERERG9iYTMfGs0GlhaWkq3jY2NUVBQABMTE2g0GlhZWUmPlS1bFhqNBk5OTnjnnXfw/vvvY/fu3Zg9ezY8PT1f+b1ERERERG8iIcm3paUlsrOzpdtarRYmJiavfCw7OxtWVlZwc3ODubk5AKBjx4744osv4O3t/crv/SvGxiqUL29Rmj/Oa8kV578QlzGJiIiI/j0hyXeTJk1w+PBhdO3aFefPn5cOUQKAm5sbli5ditzcXOTl5SElJQUuLi4IDg7Ghx9+iK5du+KXX35BgwYNXvu9f6WwUIesrGcAgMqV/zpR/7f0cYoTHfNVcd+WmHLEfVVMIiIiolf5J3mJkOS7Y8eOOHHiBPz9/aHT6TB37lysX78eDg4O8PT0xKBBg9C/f3/odDqMGzcOZmZmmDBhAkJCQrBt2zaYm5tj9uzZqFy58iu/l4iIiIjoTSQk+TYyMkJERESJ+5ydnaWvfX194evrW+Jxe3t7REdHv/Rcr/peIjmVL28KU9MyQp47P/85srLyhTw3ERER/fcISb6JDImpaRls2dBJyHMP+Gg/ACbfREREbwt2uCQiIiIikgmTbyIiIiIimTD5JiIiIiKSCZNvIiIiIiKZMPkmIiIiIpIJk28iIiIiIpkw+SYiIiIikgmTbyIiIiIimTD5JiIiIiKSCTtcEv0HlStvCrWglvZ5+c/xmC3tiYiIFMHkm+g/SG1aBss3i2lpP3ogW9oTEREphck3EQEArMurYWZqJuS5c/Nz8SQrT8hzExERvUmYfBMRAMDM1AzT4zoLee5Zvt8DYPJNRETEA5dERERERDJh8k1EREREJBMm30REREREMmHyTUREREQkEybfREREREQyYfJNRERERCQTJt9ERERERDJh8k1EREREJBMm30REREREMmHyTUREREQkEybfREREREQyYfJNRERERCQTJt9ERERERDJh8k1EREREJBMm30REREREMmHyTUREREQkEybfREREREQyYfJNRERERCQTExFPqtVqMWPGDPzxxx9Qq9WYPXs2atasKT0eFxeHmJgYmJiY4NNPP4WHhwfu3r2LkJAQFBYWQqfTISIiAk5OTtiwYQPi4+NRsWJFAMDMmTPh5OQkYthEREREREIJSb4PHjyIvLw8xMbG4vz585g/fz6ioqIAABkZGYiOjsaOHTuQm5uL/v37o1WrVli2bBkGDhyIDh064NixY1i8eDGWL1+OixcvYsGCBXjnnXdEDJWIiIiISDZCku8zZ86gTZs2AIBGjRrh4sWL0mMXLlxA48aNoVaroVar4eDggCtXriA4OBhWVlYAgMLCQpiZmQEAkpKSsHr1amRkZOCDDz7A8OHDRQyZiIiIiEg4IXu+NRoNLC0t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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "model = RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight={0: 1, 1: 2},\n", " criterion='entropy', max_depth=10, max_features='auto',\n", " max_leaf_nodes=None, max_samples=None,\n", " min_impurity_decrease=0.0,\n", " min_samples_leaf=1, min_samples_split=8,\n", " min_weight_fraction_leaf=0.0, n_estimators=1000,\n", " n_jobs=None, oob_score=False, random_state=None,\n", " verbose=0, warm_start=False)\n", "churn_prediction(model, train_x, train_y, test_x, test_y, x,\"features\")" ] }, { "cell_type": "code", "execution_count": 109, "id": "e2715af6", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n", "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n", "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n", "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n", "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\sklearn\\ensemble\\_forest.py:427: FutureWarning: `max_features='auto'` has been deprecated in 1.1 and will be removed in 1.3. To keep the past behaviour, explicitly set `max_features='sqrt'` or remove this parameter as it is also the default value for RandomForestClassifiers and ExtraTreesClassifiers.\n", " warn(\n" ] }, { "data": { "text/plain": [ "array([0.60615385, 0.66452648, 0.61538462, 0.58139535, 0.64050235])" ] }, "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_scores = cross_val_score(model, train_x, train_y, cv = 5, scoring='f1')\n", "train_scores" ] }, { "cell_type": "code", "execution_count": 110, "id": "acae271c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.6215925299829888" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(train_scores)" ] }, { "cell_type": "code", "execution_count": 112, "id": "de0e0c7c", "metadata": {}, "outputs": [], "source": [ "import pickle\n", "pickle.dump(model, open('model.pkl','wb'))" ] }, { "cell_type": "code", "execution_count": 117, "id": "b121638c", "metadata": {}, "outputs": [], "source": [ "import eli5\n", "from eli5.sklearn import PermutationImportance" ] }, { "cell_type": "code", "execution_count": 118, "id": "7ce2de5c", "metadata": { "collapsed": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", "\n", "\n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
WeightFeature
\n", " 0.0197\n", " \n", " ± 0.0065\n", " \n", " \n", " InternetService_Fiber optic\n", "
\n", " 0.0075\n", " \n", " ± 0.0095\n", " \n", " \n", " Contract_Two year\n", "
\n", " 0.0048\n", " \n", " ± 0.0053\n", " \n", " \n", " InternetService_No\n", "
\n", " 0.0044\n", " \n", " ± 0.0128\n", " \n", " \n", " Contract_One year\n", "
\n", " 0.0035\n", " \n", " ± 0.0070\n", " \n", " \n", " PaymentMethod_Electronic check\n", "
\n", " 0.0033\n", " \n", " ± 0.0060\n", " \n", " \n", " OnlineSecurity\n", "
\n", " 0.0033\n", " \n", " ± 0.0083\n", " \n", " \n", " MonthlyCharges\n", "
\n", " 0.0030\n", " \n", " ± 0.0094\n", " \n", " \n", " PaperlessBilling\n", "
\n", " 0.0009\n", " \n", " ± 0.0014\n", " \n", " \n", " OnlineBackup\n", "
\n", " 0.0009\n", " \n", " ± 0.0035\n", " \n", " \n", " gender\n", "
\n", " 0.0004\n", " \n", " ± 0.0128\n", " \n", " \n", " tenure\n", "
\n", " 0.0004\n", " \n", " ± 0.0038\n", " \n", " \n", " SeniorCitizen\n", "
\n", " 0.0004\n", " \n", " ± 0.0021\n", " \n", " \n", " TechSupport\n", "
\n", " 0.0001\n", " \n", " ± 0.0011\n", " \n", " \n", " DeviceProtection\n", "
\n", " 0.0000\n", " \n", " ± 0.0016\n", " \n", " \n", " PhoneService\n", "
\n", " -0.0004\n", " \n", " ± 0.0014\n", " \n", " \n", " MultipleLines\n", "
\n", " -0.0009\n", " \n", " ± 0.0030\n", " \n", " \n", " StreamingMovies\n", "
\n", " -0.0016\n", " \n", " ± 0.0014\n", " \n", " \n", " StreamingTV\n", "
\n", " -0.0021\n", " \n", " ± 0.0024\n", " \n", " \n", " Dependents\n", "
\n", " -0.0024\n", " \n", " ± 0.0014\n", " \n", " \n", " PaymentMethod_Credit card (automatic)\n", "
\n", " … 3 more …\n", "
\n", " \n", "\n", " \n", "\n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", " \n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "perm = PermutationImportance(model, random_state=1).fit(test_x, test_y)\n", "eli5.show_weights(perm, feature_names = test_x.columns.tolist())" ] }, { "cell_type": "code", "execution_count": 120, "id": "c5174f4d", "metadata": { "collapsed": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\Pranjal Ray\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\tqdm\\auto.py:22: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n" ] }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import shap \n", "shap.initjs()\n", "\n", "import joblib" ] }, { "cell_type": "code", "execution_count": 121, "id": "a44271d4", "metadata": { "collapsed": true }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", " Visualization omitted, Javascript library not loaded!
\n", " Have you run `initjs()` in this notebook? If this notebook was from another\n", " user you must also trust this notebook (File -> Trust notebook). If you are viewing\n", " this notebook on github the Javascript has been stripped for security. If you are using\n", " JupyterLab this error is because a JupyterLab extension has not yet been written.\n", "
\n", " " ], "text/plain": [ "" ] }, "execution_count": 121, "metadata": {}, "output_type": "execute_result" } ], "source": [ "explainer = shap.TreeExplainer(model)\n", "\n", "shap_values = explainer.shap_values(np.array(test_x.iloc[0]))\n", "shap.force_plot(explainer.expected_value[1], shap_values[1], test_x.iloc[0])" ] }, { "cell_type": "code", "execution_count": 122, "id": "38982986", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['explainer.bz2']" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ex_filename = 'explainer.bz2'\n", "joblib.dump(explainer, filename=ex_filename, compress=('bz2', 9))" ] }, { "cell_type": "code", "execution_count": 126, "id": "6b0ba38b", "metadata": { "collapsed": true }, "outputs": [ { "ename": "NameError", "evalue": "name 'bbox_plot' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "Input \u001b[1;32mIn [126]\u001b[0m, in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m explainer \u001b[38;5;241m=\u001b[39m joblib\u001b[38;5;241m.\u001b[39mload(filename\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mexplainer.bz2\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 2\u001b[0m shap_values \u001b[38;5;241m=\u001b[39m explainer\u001b[38;5;241m.\u001b[39mshap_values(np\u001b[38;5;241m.\u001b[39marray(test_x\u001b[38;5;241m.\u001b[39miloc[\u001b[38;5;241m0\u001b[39m]))\n\u001b[1;32m----> 3\u001b[0m shap\u001b[38;5;241m.\u001b[39mforce_plot(explainer\u001b[38;5;241m.\u001b[39mexpected_value[\u001b[38;5;241m1\u001b[39m], shap_values[\u001b[38;5;241m1\u001b[39m], \u001b[38;5;28mlist\u001b[39m(test_x\u001b[38;5;241m.\u001b[39mcolumns), matplotlib \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m, show \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m)\u001b[38;5;241m.\u001b[39msavefig(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstatic/images/shap.png\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[43mbbox_plot\u001b[49m)\n", "\u001b[1;31mNameError\u001b[0m: name 'bbox_plot' is not defined" ] }, { "data": { "image/png": "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GAa/+tWvuPfee/d63ttvv80Xv/hFNm/ezNy5c1m+fDmXXXYZW7ZsafO83/3ud7z00kvFqr6IiIiIuIQCNSIiIvspEolwzz33MGzYMO655x6uv/56AG699da9nvvss88CcPXVV3PjjTdywQUXEI1GefrppwHYtGkTn/70p7n22muL9wZERERExDUUqBEREdlP77zzDolEgjlz5uDz+Zg6dSqVlZUsX74cy7LaPPfyyy9n6dKlHH/88QDs2rULgKqqKgBefPFFnnzySS688EKGDRtW3DciIiIiIiWnQI2IiMh+2r59O5ALtmRvx+Nx6uvr93p+MBikvr6ec845h0cffZSjjjqKE044AYBJkybxj3/8g+9///t4vd6i1F9ERERE3EO/AEVERPZTPB4HaBNY8Xg8bR7b0/vvv8/bb78N5II6Pp+PuXPnFri2IiIiIuJm6lEjIiKynwKBAECbYU6pVKrNY3uaPXs2S5cu5dOf/jT3338/P/3pTwtfURERERFxPQVqRERE9tOQIUMAaGxsbL2vsbGRYDBITU1Nm+dalsWWLVvwer2Ul5dz3nnnAXQ4RbeIiIiIDCwK1IiIiOyn6dOn4/V6ef3110kmk7z77rs0NjYye/ZsDMNo89yvfOUrHHPMMTz11FMArcOfRowYUexqi4iIiIgLKUeNiIjIfgqHw5x++uncc889nH322TQ0NABw0UUXsWvXLr797W8zfPhwvvOd73DeeefxwAMPcOWVVzJ//nyWLVuGYRhcdtllJX4XIiIiIuIG6lEjIiLSC6666io+8IEPsGXLFizL4otf/CJnnnkm0WiUxx9/nOeffx6Aww47jN/85jeMGzeO1157jfHjx/P73/+eww47rMTvQKT0IpEIkUik1NUQEREpKcO2bbvUlRARERERaWpqAqCioqLENRERESkd9agREREREREREXEJBWpERERERERERFxCgRoREREREREREZdQoEZERERERERExCUUqBERERERERERcQkFakREREREREREXEKBGhERERERERERl1CgRkREpMiamppoamoqdTVERERExIW8pa6AdMyyLL773e+ycuVK/H4/P/zhDxk3blyb59TV1XHxxRdz7733EggESlRTkY7tqx3fcMMN/Pe//wXg6KOP5oorrihVVUU6ta+2fPPNN/Of//wHwzC47LLLOO2000pYW5GOdeX3hWVZXH755Rx//PFcfPHFJaqpSOf21ZZ/+MMfsnTpUsrLywH4wx/+QEVFRamqK9KufbXjp59+mt///vfYts2sWbO46qqrMAyjhDWWYlCPGhd77LHHSCQS3HbbbVx55ZX85Cc/afP44sWLueyyy9ixY0eJaiiyb5214w0bNnDvvfdy6623cvvtt/Pss8+yYsWKEtZWpGOdteW6ujpuueUWbr31Vm644QauueYabNsuYW1FOrav3xcAv/71r2lsbCxB7US6bl9t+a233uK6667jpptu4qabblKQRlyps3bc3NzMz372M/70pz9xxx13MGrUKHbv3l3C2kqxKFDjYq+++ipHHXUUAPPmzWP58uVtHjdNk+uvv57q6uoS1E6kazprx8OHD+e6667D4/FgGAapVEo9w8S1OmvLtbW13H333fh8Pnbu3EkgENDVLnGtff2+eOihhzAMo/U5Im7VWVu2LIv333+f73znO1x00UXceeedpaqmSKc6a8fLli1j6tSpXHPNNXzoQx9i8ODB1NbWlqqqUkQa+uRizc3NhMPh1mWPx0MqlcLrdXbbEUccUaqqiXRZZ+3Y5/NRW1uLbdv89Kc/ZebMmUyYMKGEtRXp2L6OyV6vl3/+85/87ne/45JLLilVNUX2qbO2vGrVKu6//35++9vf8vvf/76EtRTZt87aciQS4SMf+Qgf//jHSafTXHrppcyePZvp06eXsMYie+usHe/evZsXX3yRu+++m7KyMj784Q8zb948/V4eANSjxsXC4TAtLS2ty5ZltZ4QiPQV+2rH8XicL3/5y7S0tHDVVVeVoooiXdKVY/JHPvIRFi9ezMsvv8ySJUuKXUWRLumsLd99991s27aNj370o9x1113ccMMNPPPMM6WqqkinOmvLoVCISy+9lFAoRDgcZuHChRpeLa7UWTuurq5mzpw5DBkyhPLycg466CDeeeedUlVVikiBGhdbsGBB64+j1157jalTp5a4RiLd11k7tm2bz372s0ybNo3vf//7eDyeUlVTZJ86a8tr167liiuuwLZtfD4ffr8f09RXrLhTZ235q1/9KnfccQc33XQT55xzDh/72MdYtGhRqaoq0qnO2vK6deu4+OKLSafTJJNJli5dyqxZs0pVVZEOddaOZ82axapVq6irqyOVSvH6668zefLkUlVVikjdM1zsxBNP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msDr9RSzPtIFHo+pxEzSL6gtS3+htiz9gdqx9Bdqy9JfqC33bz5fx7GWTnvUNDfHe70ysv+qq8uor4+Uuhoi+01tWfoLtWXpD9SOpb9QW5b+Qm25fxsypKLDx5SjRkRERERERETEJRSoERERERERERFxCQVqRERERERERERcQoEaERERERERERGXUKBGRERERERERMQlFKgREREREREREXEJBWpERERERERERFxCgRoREREREREREZdQoEZERERERERExCUUqBERERERERERcQkFakREREREREREXEKBGhERERERERERl1CgRkRERERERETEJRSoERERERERERFxCQVqRERERERERERcQoEaERERERERERGXUKBGRERERERERMQlFKgREREREREREXEJBWpERERERERERFxCgRoREREREREREZdQoEZERERERERExCUUqBERERERERERcQkFakREREREREREXMKwbdvu6MFoNIHX6ylmfaQLPB6TdNoqdTVE9pvasvQXasvSH6gdS3+htiz9hdpy/+bzdRxr8Xb2wubmeK9XRvZfdXUZ9fWRUldDZL+pLUt/obYs/YHasfQXasvSX6gt929DhlR0+JiGPomIiIiIiIiIuIQCNSIiIiIiIiIiLqFAjYiIiIiIiIiISyhQIyIiIiIiIiLiEgrUiIiIiIiIiIi4hAI1IiIiIiIiIiIuoUCNiIiIiIiIiIhLKFAjIiIiIiIiIuISCtSIiIiIiIiIiLiEAjUiIiIiIiIiIi6hQI2IiIiIiIiIiEsoUCMiIiIiIiIi4hIK1IiIiIiIiIiIuIQCNSIiIiIiIiIiLqFAjYiIiIiIiIiISyhQIyIiIiIiIiLiEgrUiIiIiIiIiIi4hAI1IiIiIiIiIiIuoUCNiIiIiIiIiIhLKFAjIiIiIiIiIuISCtSIiIiIiIiIiLiEAjUiIiIiIiIiIi6hQI2IiIiIiIiIiEsYtm3bHT0YjSbwej3FrI90gcdjkk5bpa6GyH5TW5b+Qm1Z+gO1Y+kv1Jalv1Bb7t98vo5jLd7OXtjcHO/1ysj+q64uo74+UupqiOw3tWXpL9SWpT9QO5b+Qm1Z+gu15f5tyJCKDh/T0CcREREREREREZdQoEZERERERERExCUUqBERERERERERcQkFakREREREREREXEKBGhERERERERERl1CgRkRERERERETEJRSoERERERERERFxCQVqRERERERERERcQoEaERERERERERGXUKBGRERERERERMQlFKgREREREREREXEJBWpERERERERERFxCgRoREREREREREZdQoEZERERERERExCUUqBERERERERERcQkFakREREREREREXEKBGhERERERERERl1CgRkRERERERETEJRSoERERERERERFxCQVqRERERERERERcQoEaERERERERERGXUKBGRERERERERMQlFKgREREREREREXEJw7Ztu9SVEBERERERERER9agREREREREREXENBWpERERERERERFxCgRoREREREREREZdQoEZERERERERExCUUqBERERERERERcQkFakREREREREREXOL/A9TVb7WuwbR6AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "explainer = joblib.load(filename=\"explainer.bz2\")\n", "shap_values = explainer.shap_values(np.array(test_x.iloc[0]))\n", "shap.force_plot(explainer.expected_value[1], shap_values[1], list(test_x.columns), matplotlib = True, show = False).savefig('static/images/shap.png', bbox_plot)" ] }, { "cell_type": "code", "execution_count": 127, "id": "40b5bcd7", "metadata": {}, "outputs": [], "source": [ "from matplotlib.patches import Circle, Wedge, Rectangle\n", "def degree_range(n): \n", " start = np.linspace(0,180,n+1, endpoint=True)[0:-1]\n", " end = np.linspace(0,180,n+1, endpoint=True)[1::]\n", " mid_points = start + ((end-start)/2.)\n", " return np.c_[start, end], mid_points\n", "def rot_text(ang): \n", " rotation = np.degrees(np.radians(ang) * np.pi / np.pi - np.radians(90))\n", " return rotation\n", "def gauge(labels=['LOW','MEDIUM','HIGH','EXTREME'], \\\n", " colors=['#007A00','#0063BF','#FFCC00','#ED1C24'], Probability=1, fname=False): \n", " N = len(labels)\n", " colors = colors[::-1]\n", " fig, ax = plt.subplots()\n", " ang_range, mid_points = degree_range(4)\n", " labels = labels[::-1]\n", " patches = []\n", " for ang, c in zip(ang_range, colors): \n", " # sectors\n", " patches.append(Wedge((0.,0.), .4, *ang, facecolor='w', lw=2))\n", " # arcs\n", " patches.append(Wedge((0.,0.), .4, *ang, width=0.10, facecolor=c, lw=2, alpha=0.5))\n", " [ax.add_patch(p) for p in patches]\n", " for mid, lab in zip(mid_points, labels): \n", " ax.text(0.35 * np.cos(np.radians(mid)), 0.35 * np.sin(np.radians(mid)), lab, \\\n", " horizontalalignment='center', verticalalignment='center', fontsize=14, \\\n", " fontweight='bold', rotation = rot_text(mid))\n", " r = Rectangle((-0.4,-0.1),0.8,0.1, facecolor='w', lw=2)\n", " ax.add_patch(r)\n", " ax.text(0, -0.05, 'Churn Probability ' + np.round(Probability,2).astype(str), horizontalalignment='center', \\\n", " verticalalignment='center', fontsize=22, fontweight='bold')\n", " pos = (1-Probability)*180\n", " ax.arrow(0, 0, 0.225 * np.cos(np.radians(pos)), 0.225 * np.sin(np.radians(pos)), \\\n", " width=0.04, head_width=0.09, head_length=0.1, fc='k', ec='k') \n", " ax.add_patch(Circle((0, 0), radius=0.02, facecolor='k'))\n", " ax.add_patch(Circle((0, 0), radius=0.01, facecolor='w', zorder=11))\n", " ax.set_frame_on(False)\n", " ax.axes.set_xticks([])\n", " ax.axes.set_yticks([])\n", " ax.axis('equal')\n", " plt.tight_layout()\n", " if fname:\n", " fig.savefig(fname, dpi=200)" ] }, { "cell_type": "code", "execution_count": 128, "id": "7c7086e9", "metadata": {}, "outputs": [ { "data": { "image/png": "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/Pa3v+Wmm24SG8oKfRPMu0koWgvKW93a3gsoNfjHoEQX38iUkZHBk08+2edZfWeccQbr1q2jrKyMvLw8Vq5cyZdffklZWRn19fUcPnyYd955h6VLl7Jw4ULi4uJ47LHHxNlRQp9o+/EFaUCB1oLyUjef6OLropf16GXfnBskBL5rr72WM888E+MpXhgWLFjAqlWruPrqq/nTn/50ymPfi4uLufnmm3n00Uc5++yzKS4u9ma1heFIrwNdEJ9Jp7gDMKCCvAUlSZLPphwLgU+SJF544YWTTpjIyMjg7bff5rrrruPLL7885vsmk4n4+Pjjjmc9+eST/P3vfxcz+oRTk6TgXQcFXTP5vNOdLVpQXaSu/4SRKy4ujldeeeWEXX233norr732Gp999lmv+xcsWMB//vMfOjo6qKyspKOjg3//+9+MHTu21+Meeugh2trafFZ/YZgI+oAKwC4+VVWD+t2haEEJAOeddx5XXnnlMZMmTCYTN954I//4xz963X/TTTfxySefcPbZZ2MwGAgJCSEkJIRrrrmGbdu2MX/+/F6Pf+ihh2hvb/f58xCCWXAHlIoKgTZJQiV4wwlEC0r4zmOPPUZcXFyv+y677DJ27NjRawxp0qRJ/O1vfyM8PBxZ7v1PyWAwEBkZyUcffdSrRbZ69Woxm084OUkiqF+KVLyWBl7diy+YQ0q0oIRu4eHhvP322702lL344ouPWXB7xx13YDjFehWdTsfVV1/t+drpdPLKK694t8LC8BLsXXxeTCivTVvLiM7gumnXeas4QfCruXPnctttt/H4449jsVhISEigqqqq12MuvvjiUwZUZGQk1157Lc8995znviNHjuB0Ok/5s8LIJEdHYVp6Niw9299V8TuvtqAEYTi59957yczMRJIkQkJCsNlsvb5/qinp3Y6edGG323F7cTsYQRiuREAJwgkYjUbPhrKtra3ExMT0+n55efkpy3C5XOzbt6/XfbGxsX0ON0EYyURACcJJTJgwgT/84Q8UFxcfMyPvr3/9K52dnSf9ebvdzt///vde9y1ZsuSYSRWCIBxLUoN5brggDAFFUbj66qt59NFHycrKwtl1pHVISAg7d+5k9OjRx20RWSwW1qxZw+WXX+65Lycnh7179/r0RF9BGC7E2zhBOAVZlvnLX/7CwYMHWb58ued+m83GggUL2Lp1K2azGZfL5bnfZrPx1ltvcc011/Qq62c/+xm6YN7GRhCGkGhBCUIfffnll8TGxjJv3rxjJkxMnTqVq666isTEREpLS3nxxRePOWIjIyODAwcOEBERMZTVFoSgJQJKEPpIVVVaW1vZuHEjF110kafF1BexsbFs3bqVUaNGDfjsKUEYaUQXnyD0kSRJxMbGcvrpp/P555/3uSWUnZ3Njh07SEtLE+EkCP0gAkoQ+ik8PJzZs2dTU1PD3//+d8aMGXPcx82ZM4c333yT/fv3k5GR0e9DEQVhpBNdfIIwCA6HA7fbTWFhIUVFRbS3txMfH8+UKVNITk4mNDRUTIoQhAESASUIgiAEJNHFJwiCIAQkEVCCIAhCQBIBJQiCIAQkEVCCIJxUf9Z7CYI3iYAKIG1tbTz55JNceeWVzJkzh0mTJrFw4UJuvvlm1qxZc9yTWB977DHy8vLIy8vjf//3f/1Qa9+prKz0PLeeH+PHj2fSpEnMmTOHyy67jFWrVg3ZKbVD9fs+88wzPdfZuXNnn35m06ZNnp8599xze32v5++voaHBc//KlSs993/00Ue9fsbtdvPSSy/xq1/9atDP52QsFguPPPIIS5Ys8fzN33XXXdTU1PSrHLvdzlNPPcVFF13EtGnTmD59Otdeey0ff/zxKX9WVVUuvfRS8vLymDx58kCfiuBlYtVggPj666/5xS9+QVtbW6/7Gxoa+Oqrr/jqq6947bXXePzxx4mOjvZTLQODoigoikJrayutra3s2bOHrVu38uCDD/q7asNGcXExP//5zzl06BALFy702XUcDgff+9732LVrl+e+hoYGVq9ezTfffMNrr71GZmbmKcuxWCxcf/317Nmzp9f9W7duZevWrezevfukQfviiy+yf//+gT8RwSdEQAWAb7/9lp/85CeeQ+ySkpI4/fTTMRqN7NixgwMHDgCwefNm7rzzTp555hl/VtdvfvjDHwLaO/u2tja++eYb6uvrAXjvvfdYunQpZ511lj+r6FdpaWme31F8fHyffmbZsmVMnToVgNzcXM/9u3fv5tChQ96v5FGee+45TzglJiaydOlStmzZwsGDB2loaOC+++7jn//85ynL+fe//+0Jp5iYGM477zxqamr46quvAHj++ec566yzmDlz5nF/9s9//rP3npTgNSKg/Mxms/GLX/zCE07Lli3jvvvu8+w6oKoqTz31FI888ggAa9eu5dtvv2XevHl+q7O/3Hnnnb2+7ujo4IorrqCkpASAd999d0QHVGZm5jG/o1O58sorfVSbU1NVlddff93z9bPPPkt+fj6dnZ2cddZZtLa28tVXX1FTU0NqaupJy3rvvfcA0Ol0vPbaa+Tk5ADwP//zP3zyySeAttlvz4Dau3cvDz/8MOvXr/f2UxO8RIxB+dn777/vGRNIS0vj//7v/3ptiSNJEj/+8Y8pKCggMjKS008//ZidtHuqq6vjF7/4BXPmzKGgoICVK1fy7bffHvO4E41JAPzgBz/wfG/16tWe+3/961977l+3bh2///3vKSgoYPr06dx7771A77ETgP/85z9cccUVTJ06lblz5/LrX/+aurq6gf/CeoiMjOx11lLPE277UtduX375JT/+8Y9ZuHAhkyZNYvHixdx1110cPnz4lHU4dOgQN910EwUFBcyePZtbb731hC2Pd999l2uvvZZZs2Yxfvx4CgoKuOSSS/jXv/51yokIq1at4vzzz2fy5MksWbKERx55BKvV2usxJxuDOpHjjUGtXLmSu+66y/OYdevWkZeXx8qVK3n99dc9jz9euBUXF3u+P3fuXM/ZWcdTXFxMbW0tAKNHjyY/Px+AiIgIFi9eDGgh1pcAefHFF/n3v//NQw895AkngLi4OM9tg8HQ62dWrFjhKXvcuHGnvIYw9EQLys++/vprz+0LLrgAk8l03Mf985//JCoq6qQnsVZUVLB8+XIaGxs9923evJlt27bx/PPPM3fuXK/V+8EHH+TgwYOer483TvD444/z2GOPeb622Wy88847bN26lffff5+wsDCv1Qe0F7P+1FVVVX73u9/x5ptv9np8dXU1q1ev5oMPPuD//u//uOiii45bbmFhIVdeeSUWi8Vz3+eff86GDRt49tlnmTFjhuf+Z555hoceeqjXz1ssFg4cOOD5ONEY2qOPPtrrTUZFRQX//Oc/2bhxIy+++OIJ/2Z84YILLuD+++/HZrOxc+dOqqqqSE9P93z/P//5T6/HHh0KPRUVFXluZ2dn9/re6NGjPbf78kYhOTmZ5ORkz9cdHR18/fXXvPPOO4DWsjr//POP+TmdTscPfvADLr/8cs4+++xTXkcYWqIF5Wc9B2YnTJhwwsfFxMSc8pjwDRs2YLFYWL58OStWrPC0xNxuN88++6x3Ktzl4MGD5Obmct111zFu3DjOO++8Yx7z2GOPkZ2dzcqVKykoKPDcX1FRwaeffjroOnR2dvYKl57vnPtS12effbbXz8+dO5err77a827a6XRy1113sWPHjuOWu2vXLpxOJ8uWLePSSy8lPDwc0ILnF7/4hadV1NjYyN/+9jcA9Ho9y5Yt44YbbmDWrFmest5//32am5uPe51vv/2WjIwMrrrqql5duzt37uSJJ544+S9pAJYtW8YZZ5zh+TojI4Mf/vCHLFu2jMjIyF4v5EfPkOsZUBdffPFJr9Oz5R4TE9Pre1FRUZ7b3eOMfdXS0sLMmTO54447sNlshIaG8uCDDx7TSlq5ciWffvopd9xxxyn/bQn+IVpQftbS0uK5PdjZeXq9nldeecUTdDNmzOA3v/kNQK8WhDeEh4fz2muvnbTO06ZN46WXXsJoNKIoCpdddhn79u0DtO6d/upugbjdbpqbm1m/fn2vF7nLLrusz3W1WCw8+eSTnq/vvvtuVq5cCWjrfu68804+/vhjXC4Xf/3rX3n55ZePW/YzzzzjCY2bbrqJyy67DKvVSlVVFevWrWPRokW0tbVx1VVXcfDgQZYsWcINN9wAaC24c889l7KyMlRVpbKysleXVLcxY8bwxhtveI73eOyxx3j88ccBrevv9ttvR5Kkvv0S++DKK6/EYDB4WvfZ2dm9xrZWrFjBBx98AMCaNWu46aabAK2l090qys3NZcqUKSe9Ts8uSqPR2Ot7PVtePVuofVFdXd3r6/z8fFJSUo553N13392vcoWhJ942+FnPsYfBruUpKCjo1Qrr+QLR2dk5qLKPtmDBglMG6tVXX+154ZFludcAtdls7vc1n3nmGZ555hmef/553n333V7hdOONN55wOvTx6rp+/XpPHUaPHs11113n+Z5er+81BrN169ZebyS6TZs2rVeLZsyYMZ6xE8AzOy03N5e7776bl156iRtuuAGXy8W+fft4/vnnaW9v9zzebrcft/4rV67sdfbUjTfe6DlXqrm5mcrKyuP+nK/MnTvX0623b98+z9hff1pPcOIu2cFyuVwsX76cSy65BIPBwI4dO7j++utZs2aNT64n+I5oQflZTEyM54W2tbV1UGX1HAsAek226J4l2Bd9eeE4+lrHc/TMq+4usP7W53hMJhMxMTHk5eVx1VVXnXT23vHq2nNCRX5+/jEtkOTkZOLj42lqakJVVSoqKoiNje31mKysrGPK7dnN2NTU5Lnd2dnJW2+9xX//+19279593IkuJ3qDcvR1wsPDSU5OpqqqCtC6EPuyVshbJEli+fLlnvHFNWvW8OMf/9gTULIsn3DcrqfQ0FDP7aMnU/T8ur9jlVOnTvVMnT///PP50Y9+hNvt5r777mPJkiXHtNaEwCUCys96zqLbv38/F1544XEf9/TTT1NWVsbSpUuZN2/ecf+RHT1Y3vNF92Shc/QL48lmXnXry2myR9dnsP38A+2mPF5d+3Kybc/f2fG60I73e+rZIu5+vs3NzVx11VUcOXIE0AJx/vz5TJ8+naeeeuqYxaX9vY4/zpu69NJLefzxx1FVlY8++oilS5d6Zi/Onj37lNPCQVv31K1nS/Lor5OSkgZczzPOOMPzRqOxsZGysjIxYy+IiC4+Pzv99NM9tz/++OPjdvM4HA5ef/113n77bX70ox95xh8Go2dYHP1u/njdWUc72eysQHO8uvZ8AS0sLDwmwOvq6jyTFmRZPm4LpecstG49W2bdL6zPPfecJ5yuv/563nvvPX71q1/1edbY0dexWCy9ZmoO5gV8oNLT0z2zQg8dOtTrb7Iv3XvQu7XZ8/d29NcnOrG4W3NzM3//+9+56667uOeee475fs8w78ubLyFwiIDysxUrVnhmMNXU1PCb3/wGh8Ph+b7L5eLee+/1dOfodDouueSSQV+35yypni+ARUVFnoWvJ+PNQXlfO15d58+f7+kCLS0t5dVXX/V8z+Vy8cADD3i+njVr1jGzzED7XfWcjVhaWsrnn3/u+bp7mnnPdVE9uwmLioooLCz0fH2iLr5XXnmlV/fvc8895+kiTU9PP+4EgMHq+Qam599jTytWrPDc/vDDDwGt227p0qV9ukZeXp5nUsihQ4c8vwuz2cyXX34JaP/vTrXVkslk4plnnmH16tWsWrWqV4t0zZo1nu3DQkNDe+2WIQQ+0cXnZxEREdx///3ccsstqKrKhx9+yLZt2zwtq02bNlFWVuZ5/PXXX3/C6dT9kZ+fz8aNGwH4wx/+QGVlJXa7nRdeeGHQ40PBICIigpUrV3q2jfrjH//I559/TnZ2Nlu3bvWEisFg4I477jhhOT//+c8555xzCA8P59NPP/W8mI8ZM4bZs2cD2jTtbk888QTl5eWoqsonn3zS6x39iSZJVFVVcdFFF7FkyRIqKipYu3at53tXX331AH8DJ9ezW3THjh387//+L6Ghob0mj5xzzjlERUX16o5bsmRJr7HGk5FlmSuuuMKzldEPf/hDli5dyubNmz3jd4sWLeq1vunjjz/2zAQ9/fTTmT17NuHh4VxyySWsWrUKt9vN9ddfz3nnnYfNZvPsIgFw3XXX9RqXFQKfaEEFgDPPPJNHH33UMxhcU1PDG2+8wRtvvNErnC699NJ+b2VzIt///vc9LYv6+nruv/9+Hn74Ydxu93HXNA1Ht99+O8uWLfN8vWHDBl599dVe4fTnP//ZM+B+tCuuuAKdTseaNWt48803Pe/UIyMjefDBBz2/3+uuu84zHud0OnnnnXd49913sVqtREZGeso70Wy8lStXUldXxyuvvNIrnObOncv3v//9QfwGTmzq1KmerlGn08kbb7xxzNo1k8l0zOLX/rbub775ZqZNmwZof4cvvfSSZ6wxMTHxmKngX3/9tWc2Z89d3n/5y196diG3WCy8/fbbfPTRR57uvcWLF/Ozn/2sX3UT/E8EVIA499xz+eyzz/jxj39Mfn4+4eHhGAwGUlJSOPfcc3n++ef585//3KfB/b5YtGgRTz75JFOnTiUkJISEhASWL1/Ou+++O2K6QfR6PX/961958sknOfPMM0lMTPT8zpcvX857773XK8COVlBQwKpVq1i8eDHh4eFERUWxdOlS3nzzTSZOnOh5XG5uLq+88goLFy4kJiYGk8nEuHHjuOuuu3j00Uc9j+vu1jra3Xffzb333su4ceMwGo1kZGRw22238cwzz3jt7+FoiYmJPPzww4wdOxaDwUBsbGyv59St5wLspKQk5s+f36/rhIWF8cILL3DrrbeSlZWFwWAgISGBSy+9lFWrVvVqfZ5MZGQkr776KnfccQfjxo3DZDIRGhrK1KlT+dOf/sQTTzwRVOOmgkZSfbUYQRCEYU1RFK655hrPThs33nijz8+OEkYWMQYlCEK/PPnkk9hsNjZu3OjpZtPpdFx11VX+rZgw7IiAEgShXzZs2MDmzZt73fe9733vuAuXBWEwREAJgtAvkydPprCwEJfLRUZGBpdffrlnH0NB8CYxBiUIgiAEJDGLTxAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgCQCShAEQQhIIqAEQRCEgPT/AQ6F6ALK1HsxAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gauge(Probability=model.predict_proba(test_x.iloc[0:1])[0,1])" ] }, { "cell_type": "code", "execution_count": 129, "id": "3e328e35", "metadata": { "collapsed": true }, "outputs": [ { "data": { "text/plain": [ "Index(['gender', 'SeniorCitizen', 'Partner', 'Dependents', 'tenure',\n", " 'PhoneService', 'MultipleLines', 'OnlineSecurity', 'OnlineBackup',\n", " 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies',\n", " 'PaperlessBilling', 'MonthlyCharges', 'TotalCharges',\n", " 'InternetService_Fiber optic', 'InternetService_No',\n", " 'Contract_One year', 'Contract_Two year',\n", " 'PaymentMethod_Credit card (automatic)',\n", " 'PaymentMethod_Electronic check', 'PaymentMethod_Mailed check'],\n", " dtype='object')" ] }, "execution_count": 129, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_x.columns" ] }, { "cell_type": "code", "execution_count": null, "id": "73bead14", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.4" } }, "nbformat": 4, "nbformat_minor": 5 }