mirror of
https://github.com/youronlydimwit/Data_ScienceUse_Cases.git
synced 2025-12-20 09:10:00 +01:00
830 lines
108 KiB
Plaintext
830 lines
108 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "054f0cca3061be223d76116cb8544b598eb5a297"
|
|
},
|
|
"source": [
|
|
"# Customer Segmentation and Analysis \n",
|
|
"### Steps to solve the problem :\n",
|
|
"1. Importing Libraries.\n",
|
|
"2. Exploration of data.\n",
|
|
"3. Data Visualization.\n",
|
|
"4. Clustering using K-Means.\n",
|
|
"5. Selection of Clusters.\n",
|
|
"6. Ploting the Cluster Boundry and Clusters.\n",
|
|
"7. 3D Plot of Clusters."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "fd0fc89fe26333add074845d0629b52ae828584c"
|
|
},
|
|
"source": [
|
|
"## Importing Libraries."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"_cell_guid": "b1076dfc-b9ad-4769-8c92-a6c4dae69d19",
|
|
"_kg_hide-input": false,
|
|
"_uuid": "8f2839f25d086af736a60e9eeb907d3b93b6e0e5",
|
|
"execution": {
|
|
"iopub.execute_input": "2021-07-06T12:23:02.749481Z",
|
|
"iopub.status.busy": "2021-07-06T12:23:02.749172Z",
|
|
"iopub.status.idle": "2021-07-06T12:23:05.985353Z",
|
|
"shell.execute_reply": "2021-07-06T12:23:05.984660Z",
|
|
"shell.execute_reply.started": "2021-07-06T12:23:02.749430Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
" <script type=\"text/javascript\">\n",
|
|
" window.PlotlyConfig = {MathJaxConfig: 'local'};\n",
|
|
" if (window.MathJax) {MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}\n",
|
|
" if (typeof require !== 'undefined') {\n",
|
|
" require.undef(\"plotly\");\n",
|
|
" requirejs.config({\n",
|
|
" paths: {\n",
|
|
" 'plotly': ['https://cdn.plot.ly/plotly-latest.min']\n",
|
|
" }\n",
|
|
" });\n",
|
|
" require(['plotly'], function(Plotly) {\n",
|
|
" window._Plotly = Plotly;\n",
|
|
" });\n",
|
|
" }\n",
|
|
" </script>\n",
|
|
" "
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import numpy as np # linear algebra\n",
|
|
"import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n",
|
|
"import matplotlib.pyplot as plt \n",
|
|
"import seaborn as sns \n",
|
|
"import plotly as py\n",
|
|
"import plotly.graph_objs as go\n",
|
|
"from sklearn.cluster import KMeans\n",
|
|
"import warnings\n",
|
|
"import os\n",
|
|
"warnings.filterwarnings(\"ignore\")\n",
|
|
"py.offline.init_notebook_mode(connected = True)\n",
|
|
"#print(os.listdir(\"../input\"))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "5b838f778af8cb2740c6d54e5bb6608223ab54f4"
|
|
},
|
|
"source": [
|
|
"## Data Exploration"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"_cell_guid": "79c7e3d0-c299-4dcb-8224-4455121ee9b0",
|
|
"_uuid": "d629ff2d2480ee46fbb7e2d37f6b5fab8052498a",
|
|
"execution": {
|
|
"iopub.execute_input": "2021-07-06T12:23:14.060751Z",
|
|
"iopub.status.busy": "2021-07-06T12:23:14.060257Z",
|
|
"iopub.status.idle": "2021-07-06T12:23:14.106025Z",
|
|
"shell.execute_reply": "2021-07-06T12:23:14.105464Z",
|
|
"shell.execute_reply.started": "2021-07-06T12:23:14.060689Z"
|
|
},
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>CustomerID</th>\n",
|
|
" <th>Gender</th>\n",
|
|
" <th>Age</th>\n",
|
|
" <th>Annual Income (k$)</th>\n",
|
|
" <th>Spending Score (1-100)</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>Male</td>\n",
|
|
" <td>19</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>39</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>2</td>\n",
|
|
" <td>Male</td>\n",
|
|
" <td>21</td>\n",
|
|
" <td>15</td>\n",
|
|
" <td>81</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>Female</td>\n",
|
|
" <td>20</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>6</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>4</td>\n",
|
|
" <td>Female</td>\n",
|
|
" <td>23</td>\n",
|
|
" <td>16</td>\n",
|
|
" <td>77</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>Female</td>\n",
|
|
" <td>31</td>\n",
|
|
" <td>17</td>\n",
|
|
" <td>40</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"text/plain": [
|
|
" CustomerID ... Spending Score (1-100)\n",
|
|
"0 1 ... 39\n",
|
|
"1 2 ... 81\n",
|
|
"2 3 ... 6\n",
|
|
"3 4 ... 77\n",
|
|
"4 5 ... 40\n",
|
|
"\n",
|
|
"[5 rows x 5 columns]"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df = pd.read_csv(r'../input/Mall_Customers.csv')\n",
|
|
"df.head()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_uuid": "067b51b55e3daed31cfed664a1eacde23b932ec1"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"df.shape"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_uuid": "0e352ff53fe883942afd06b2e830ff7fa7cfdabd"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"df.describe()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"_uuid": "57e39b6ed035b3e1b9e3dda9efd273fe552f48a7",
|
|
"execution": {
|
|
"iopub.execute_input": "2021-07-06T12:23:21.096483Z",
|
|
"iopub.status.busy": "2021-07-06T12:23:21.096105Z",
|
|
"iopub.status.idle": "2021-07-06T12:23:21.103396Z",
|
|
"shell.execute_reply": "2021-07-06T12:23:21.102286Z",
|
|
"shell.execute_reply.started": "2021-07-06T12:23:21.096425Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"CustomerID int64\n",
|
|
"Gender object\n",
|
|
"Age int64\n",
|
|
"Annual Income (k$) int64\n",
|
|
"Spending Score (1-100) int64\n",
|
|
"dtype: object"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df.dtypes"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"_uuid": "e57f14ca0de9ce6d08a1dd1fb6470707db3eb85a",
|
|
"execution": {
|
|
"iopub.execute_input": "2021-07-06T12:23:24.933566Z",
|
|
"iopub.status.busy": "2021-07-06T12:23:24.933283Z",
|
|
"iopub.status.idle": "2021-07-06T12:23:24.941337Z",
|
|
"shell.execute_reply": "2021-07-06T12:23:24.940201Z",
|
|
"shell.execute_reply.started": "2021-07-06T12:23:24.933519Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"CustomerID 0\n",
|
|
"Gender 0\n",
|
|
"Age 0\n",
|
|
"Annual Income (k$) 0\n",
|
|
"Spending Score (1-100) 0\n",
|
|
"dtype: int64"
|
|
]
|
|
},
|
|
"execution_count": 4,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"df.isnull().sum()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "2459a03e13d3bae3d946715b17c151f0615b3dcf"
|
|
},
|
|
"source": [
|
|
"## Data Visualization"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "25f06dcc79fbf5f5b83d3dc7a337865aacb7657e",
|
|
"execution": {
|
|
"iopub.execute_input": "2021-07-06T12:23:28.234461Z",
|
|
"iopub.status.busy": "2021-07-06T12:23:28.234162Z",
|
|
"iopub.status.idle": "2021-07-06T12:23:28.239069Z",
|
|
"shell.execute_reply": "2021-07-06T12:23:28.238195Z",
|
|
"shell.execute_reply.started": "2021-07-06T12:23:28.234417Z"
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.style.use('fivethirtyeight')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "0ee494fa3103f3aead92791fd958ac8e97b7beed"
|
|
},
|
|
"source": [
|
|
"### Histograms"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "7e72632388acada5fd66e2323f0544af06cac54d",
|
|
"execution": {
|
|
"iopub.execute_input": "2021-07-06T12:23:35.100298Z",
|
|
"iopub.status.busy": "2021-07-06T12:23:35.099978Z",
|
|
"iopub.status.idle": "2021-07-06T12:23:35.808795Z",
|
|
"shell.execute_reply": "2021-07-06T12:23:35.807991Z",
|
|
"shell.execute_reply.started": "2021-07-06T12:23:35.100251Z"
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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yM3NxcyZM7Fw4UJce+21CAkJwTvvvAOlUtnj/ubn5yMzMxPx8fGYMmUKduzY0acXxR1efPFFXH311UhKSsLQoUMxb948HDx4ULKOKIrIzc3F8OHDkZCQgJkzZ+LQoUNu2mP7vfjii4iMjMTDDz/cuczbnktFRQXuuusuDB06FPHx8ZgwYQK2bdvW+Xdvej4mkwnPPvts53ckMzMTzz77LIxGyxzF3vR8vJ2njq9KpRLvvvsugoODce2112LhwoW44YYb8Oyzz7rolbHNG8f33uTm5iIyMlLy75JLLun8uzd/H7dv345bbrkFI0aMQGRkJNatWyf5uz3PTafTYfHixUhOTkZycjIWL14MnU7nyqdhl96e69133231Pl9zzTWSddrb2/Hwww8jNTUViYmJuOWWWyRXvcmxOP66ny+O6fby5bHfXv70G0GAoNPpRHfvhCNt2rQJixcvxqpVq5CTk4P8/HysX78ehYWFSEpKcvfudWv27NmYPXs2xo0bB1EU8Ze//AV79uzBrl27EBUVBQD461//ihdeeAGrV69GWloann/+eRQWFmLPnj0ICwtz8zOwbc+ePbjzzjsRFhaGyy+/HHl5eQC867nodDpMmTIFOTk5WLx4MbRaLU6dOoWEhASkp6cD8K7ns2rVKrzyyitYs2YNRo4ciQMHDuDuu+/G0qVL8cgjjwDwrudD/sNbx/fe5ObmYtOmTfjkk086lymVSsTExADw7u/jF198gcLCQowZMwZ33XUXXnjhBSxYsKDz7/Y8t5tvvhllZWV4+eWXAQDLli3D4MGD8e6777rlOXWnt+d69913o7y8HK+//nrnMo1G0/kbDwAPPvggNm/ejDVr1iAqKgpPPPEE6uvr8d133/V60YXI2/jqmG4vXx777eVPvxHkg4GHadOmISMjo/PDBwDjxo3DrFmz8NRTT7lxz/qmqakJycnJWLduHWbMmAFRFDF8+HD84Q9/wPLlywEAra2tSEtLw3//939j4cKFbt5ja/X19ZgyZQpefvllPPfccxg5ciTy8vK87rk888wz2L59O7Zs2WLz7972fObNm4eoqCi89tprncvuuusu1NXV4d133/W650P+w1fGd7nc3Fx89NFH2Llzp9XffOn7OHDgQDz//POdB5X2PLeOuvfPP/8cOTk5AICdO3dixowZ2LNnD9LS0tz2fHoif67A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\n",
|
|
"text/plain": [
|
|
"<Figure size 1080x432 with 3 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 6))\n",
|
|
"n = 0 \n",
|
|
"for x in ['Age' , 'Annual Income (k$)' , 'Spending Score (1-100)']:\n",
|
|
" n += 1\n",
|
|
" plt.subplot(1 , 3 , n)\n",
|
|
" plt.subplots_adjust(hspace =0.5 , wspace = 0.5)\n",
|
|
" sns.distplot(df[x] , bins = 20)\n",
|
|
" plt.title('Distplot of {}'.format(x))\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "f3b491e34170ac1ee8e670bf1292fb8e451d5053"
|
|
},
|
|
"source": [
|
|
"### Count Plot of Gender"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "befa7a57e4e37f96c8644b24e6982f354e964864"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 5))\n",
|
|
"sns.countplot(y = 'Gender' , data = df)\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "fcc79189184015bc626be9264fbd2836b2ebad8c"
|
|
},
|
|
"source": [
|
|
"### Ploting the Relation between Age , Annual Income and Spending Score"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "89e99c64c4e69e1141090185da444c8991e5ce8f"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 7))\n",
|
|
"n = 0 \n",
|
|
"for x in ['Age' , 'Annual Income (k$)' , 'Spending Score (1-100)']:\n",
|
|
" for y in ['Age' , 'Annual Income (k$)' , 'Spending Score (1-100)']:\n",
|
|
" n += 1\n",
|
|
" plt.subplot(3 , 3 , n)\n",
|
|
" plt.subplots_adjust(hspace = 0.5 , wspace = 0.5)\n",
|
|
" sns.regplot(x = x , y = y , data = df)\n",
|
|
" plt.ylabel(y.split()[0]+' '+y.split()[1] if len(y.split()) > 1 else y )\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "18679353d562a05276b4ece94738f06b6b1e7d5b"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 6))\n",
|
|
"for gender in ['Male' , 'Female']:\n",
|
|
" plt.scatter(x = 'Age' , y = 'Annual Income (k$)' , data = df[df['Gender'] == gender] ,\n",
|
|
" s = 200 , alpha = 0.5 , label = gender)\n",
|
|
"plt.xlabel('Age'), plt.ylabel('Annual Income (k$)') \n",
|
|
"plt.title('Age vs Annual Income w.r.t Gender')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "0cc3399fa8aebfa774c7ba298ee998e323c6c86b"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 6))\n",
|
|
"for gender in ['Male' , 'Female']:\n",
|
|
" plt.scatter(x = 'Annual Income (k$)',y = 'Spending Score (1-100)' ,\n",
|
|
" data = df[df['Gender'] == gender] ,s = 200 , alpha = 0.5 , label = gender)\n",
|
|
"plt.xlabel('Annual Income (k$)'), plt.ylabel('Spending Score (1-100)') \n",
|
|
"plt.title('Annual Income vs Spending Score w.r.t Gender')\n",
|
|
"plt.legend()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "9f55e102bd9a6ec847ec61fa67479f21cafa7fde"
|
|
},
|
|
"source": [
|
|
"### Distribution of values in Age , Annual Income and Spending Score according to Gender"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "c0b99c70642918f21368920c3d3fb42207539eae"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 7))\n",
|
|
"n = 0 \n",
|
|
"for cols in ['Age' , 'Annual Income (k$)' , 'Spending Score (1-100)']:\n",
|
|
" n += 1 \n",
|
|
" plt.subplot(1 , 3 , n)\n",
|
|
" plt.subplots_adjust(hspace = 0.5 , wspace = 0.5)\n",
|
|
" sns.violinplot(x = cols , y = 'Gender' , data = df , palette = 'vlag')\n",
|
|
" sns.swarmplot(x = cols , y = 'Gender' , data = df)\n",
|
|
" plt.ylabel('Gender' if n == 1 else '')\n",
|
|
" plt.title('Boxplots & Swarmplots' if n == 2 else '')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "ab264c94de58ad05158ad3bfd95a9fd35f4106de"
|
|
},
|
|
"source": [
|
|
"## Clustering using K- means\n",
|
|
"### 1.Segmentation using Age and Spending Score"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_uuid": "4f97c1afeb25bf42b8535f92cfece17b83ab3f26"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"'''Age and spending Score'''\n",
|
|
"X1 = df[['Age' , 'Spending Score (1-100)']].iloc[: , :].values\n",
|
|
"inertia = []\n",
|
|
"for n in range(1 , 11):\n",
|
|
" algorithm = (KMeans(n_clusters = n ,init='k-means++', n_init = 10 ,max_iter=300, \n",
|
|
" tol=0.0001, random_state= 111 , algorithm='elkan') )\n",
|
|
" algorithm.fit(X1)\n",
|
|
" inertia.append(algorithm.inertia_)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "d0f7c7370e95de02ad7deb7cd52aba9a6466b940"
|
|
},
|
|
"source": [
|
|
"### Selecting N Clusters based in Inertia (Squared Distance between Centroids and data points, should be less)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "b13b40170b4cfb2c2261e1a229e7af366988f120"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 ,6))\n",
|
|
"plt.plot(np.arange(1 , 11) , inertia , 'o')\n",
|
|
"plt.plot(np.arange(1 , 11) , inertia , '-' , alpha = 0.5)\n",
|
|
"plt.xlabel('Number of Clusters') , plt.ylabel('Inertia')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_uuid": "e4f5806a8c9a5581292b4f16df6977d053f833b7"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"algorithm = (KMeans(n_clusters = 4 ,init='k-means++', n_init = 10 ,max_iter=300, \n",
|
|
" tol=0.0001, random_state= 111 , algorithm='elkan') )\n",
|
|
"algorithm.fit(X1)\n",
|
|
"labels1 = algorithm.labels_\n",
|
|
"centroids1 = algorithm.cluster_centers_"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "5fc2c8fd38f10117e53e7007f25f6b9340847543"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"h = 0.02\n",
|
|
"x_min, x_max = X1[:, 0].min() - 1, X1[:, 0].max() + 1\n",
|
|
"y_min, y_max = X1[:, 1].min() - 1, X1[:, 1].max() + 1\n",
|
|
"xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
|
|
"Z = algorithm.predict(np.c_[xx.ravel(), yy.ravel()]) "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "b1c20956ada339bc4deff7eb11c8cdd5dcf919b6"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 7) )\n",
|
|
"plt.clf()\n",
|
|
"Z = Z.reshape(xx.shape)\n",
|
|
"plt.imshow(Z , interpolation='nearest', \n",
|
|
" extent=(xx.min(), xx.max(), yy.min(), yy.max()),\n",
|
|
" cmap = plt.cm.Pastel2, aspect = 'auto', origin='lower')\n",
|
|
"\n",
|
|
"plt.scatter( x = 'Age' ,y = 'Spending Score (1-100)' , data = df , c = labels1 , \n",
|
|
" s = 200 )\n",
|
|
"plt.scatter(x = centroids1[: , 0] , y = centroids1[: , 1] , s = 300 , c = 'red' , alpha = 0.5)\n",
|
|
"plt.ylabel('Spending Score (1-100)') , plt.xlabel('Age')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "74f9b70c7d0a5cd5e5efd75a884afed8f5ba6b55"
|
|
},
|
|
"source": [
|
|
"### 2. Segmentation using Annual Income and Spending Score"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_uuid": "50d645b4b8de36eecfa983b319ade64277a44ef4"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"'''Annual Income and spending Score'''\n",
|
|
"X2 = df[['Annual Income (k$)' , 'Spending Score (1-100)']].iloc[: , :].values\n",
|
|
"inertia = []\n",
|
|
"for n in range(1 , 11):\n",
|
|
" algorithm = (KMeans(n_clusters = n ,init='k-means++', n_init = 10 ,max_iter=300, \n",
|
|
" tol=0.0001, random_state= 111 , algorithm='elkan') )\n",
|
|
" algorithm.fit(X2)\n",
|
|
" inertia.append(algorithm.inertia_)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "706408f25f2bd360f416873bcf3c413f965dd6bf",
|
|
"scrolled": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 ,6))\n",
|
|
"plt.plot(np.arange(1 , 11) , inertia , 'o')\n",
|
|
"plt.plot(np.arange(1 , 11) , inertia , '-' , alpha = 0.5)\n",
|
|
"plt.xlabel('Number of Clusters') , plt.ylabel('Inertia')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_uuid": "6f29f2ac514b0dd53cd6e2056ec40633377fce53"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"algorithm = (KMeans(n_clusters = 5 ,init='k-means++', n_init = 10 ,max_iter=300, \n",
|
|
" tol=0.0001, random_state= 111 , algorithm='elkan') )\n",
|
|
"algorithm.fit(X2)\n",
|
|
"labels2 = algorithm.labels_\n",
|
|
"centroids2 = algorithm.cluster_centers_"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "985030ed6b53ea56ecb02458a3e585b076a7702d"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"h = 0.02\n",
|
|
"x_min, x_max = X2[:, 0].min() - 1, X2[:, 0].max() + 1\n",
|
|
"y_min, y_max = X2[:, 1].min() - 1, X2[:, 1].max() + 1\n",
|
|
"xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
|
|
"Z2 = algorithm.predict(np.c_[xx.ravel(), yy.ravel()]) "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "331b3edad2d7a98eca26b2ddd5247f6c81b63584"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 , 7) )\n",
|
|
"plt.clf()\n",
|
|
"Z2 = Z2.reshape(xx.shape)\n",
|
|
"plt.imshow(Z2 , interpolation='nearest', \n",
|
|
" extent=(xx.min(), xx.max(), yy.min(), yy.max()),\n",
|
|
" cmap = plt.cm.Pastel2, aspect = 'auto', origin='lower')\n",
|
|
"\n",
|
|
"plt.scatter( x = 'Annual Income (k$)' ,y = 'Spending Score (1-100)' , data = df , c = labels2 , \n",
|
|
" s = 200 )\n",
|
|
"plt.scatter(x = centroids2[: , 0] , y = centroids2[: , 1] , s = 300 , c = 'red' , alpha = 0.5)\n",
|
|
"plt.ylabel('Spending Score (1-100)') , plt.xlabel('Annual Income (k$)')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "0c5fb52572554d3c9c9600bee4f3e8afdbaf186f"
|
|
},
|
|
"source": [
|
|
"### 3.Segmentation using Age , Annual Income and Spending Score"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_uuid": "5796114de2c01278b7d5e5807abedaf62b97f348"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"X3 = df[['Age' , 'Annual Income (k$)' ,'Spending Score (1-100)']].iloc[: , :].values\n",
|
|
"inertia = []\n",
|
|
"for n in range(1 , 11):\n",
|
|
" algorithm = (KMeans(n_clusters = n ,init='k-means++', n_init = 10 ,max_iter=300, \n",
|
|
" tol=0.0001, random_state= 111 , algorithm='elkan') )\n",
|
|
" algorithm.fit(X3)\n",
|
|
" inertia.append(algorithm.inertia_)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "43149b8677b07db3e3666b3901b536c6f98e8cdd"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"plt.figure(1 , figsize = (15 ,6))\n",
|
|
"plt.plot(np.arange(1 , 11) , inertia , 'o')\n",
|
|
"plt.plot(np.arange(1 , 11) , inertia , '-' , alpha = 0.5)\n",
|
|
"plt.xlabel('Number of Clusters') , plt.ylabel('Inertia')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": false,
|
|
"_uuid": "530b2a22467c0b040d515889f5351d9a47ca760a"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"algorithm = (KMeans(n_clusters = 6 ,init='k-means++', n_init = 10 ,max_iter=300, \n",
|
|
" tol=0.0001, random_state= 111 , algorithm='elkan') )\n",
|
|
"algorithm.fit(X3)\n",
|
|
"labels3 = algorithm.labels_\n",
|
|
"centroids3 = algorithm.cluster_centers_"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"_kg_hide-input": true,
|
|
"_uuid": "426b9db9440eec0c170b214bf3d2611d9daf4954"
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"df['label3'] = labels3\n",
|
|
"trace1 = go.Scatter3d(\n",
|
|
" x= df['Age'],\n",
|
|
" y= df['Spending Score (1-100)'],\n",
|
|
" z= df['Annual Income (k$)'],\n",
|
|
" mode='markers',\n",
|
|
" marker=dict(\n",
|
|
" color = df['label3'], \n",
|
|
" size= 20,\n",
|
|
" line=dict(\n",
|
|
" color= df['label3'],\n",
|
|
" width= 12\n",
|
|
" ),\n",
|
|
" opacity=0.8\n",
|
|
" )\n",
|
|
")\n",
|
|
"data = [trace1]\n",
|
|
"layout = go.Layout(\n",
|
|
"# margin=dict(\n",
|
|
"# l=0,\n",
|
|
"# r=0,\n",
|
|
"# b=0,\n",
|
|
"# t=0\n",
|
|
"# )\n",
|
|
" title= 'Clusters',\n",
|
|
" scene = dict(\n",
|
|
" xaxis = dict(title = 'Age'),\n",
|
|
" yaxis = dict(title = 'Spending Score'),\n",
|
|
" zaxis = dict(title = 'Annual Income')\n",
|
|
" )\n",
|
|
")\n",
|
|
"fig = go.Figure(data=data, layout=layout)\n",
|
|
"py.offline.iplot(fig)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"_uuid": "52ea58d41c7a58d870856abeed9173de9ac293e7"
|
|
},
|
|
"source": [
|
|
"# If you liked my Work Please Upvote , Thank you."
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|