Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save AMacumber/a68792e41e6d63dec355596f1d947ebd to your computer and use it in GitHub Desktop.

Select an option

Save AMacumber/a68792e41e6d63dec355596f1d947ebd to your computer and use it in GitHub Desktop.
Created on Cognitive Class Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<a href=\"https://www.bigdatauniversity.com\"><img src=\"https://ibm.box.com/shared/static/cw2c7r3o20w9zn8gkecaeyjhgw3xdgbj.png\" width=\"400\" align=\"center\"></a>\n",
"\n",
"<h1><center>K-Means Clustering</center></h1>"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"## Introduction\n",
"\n",
"There are many models for **clustering** out there. In this notebook, we will be presenting the model that is considered one of the simplest models amongst them. Despite its simplicity, the **K-means** is vastly used for clustering in many data science applications, especially useful if you need to quickly discover insights from **unlabeled data**. In this notebook, you will learn how to use k-Means for customer segmentation.\n",
"\n",
"Some real-world applications of k-means:\n",
"- Customer segmentation\n",
"- Understand what the visitors of a website are trying to accomplish\n",
"- Pattern recognition\n",
"- Machine learning\n",
"- Data compression\n",
"\n",
"\n",
"In this notebook we practice k-means clustering with 2 examples:\n",
"- k-means on a random generated dataset\n",
"- Using k-means for customer segmentation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Table of contents</h1>\n",
"\n",
"<div class=\"alert alert-block alert-info\" style=\"margin-top: 20px\">\n",
" <ul>\n",
" <li><a href=\"#random_generated_dataset\">k-Means on a randomly generated dataset</a></li>\n",
" <ol>\n",
" <li><a href=\"#setting_up_K_means\">Setting up K-Means</a></li>\n",
" <li><a href=\"#creating_visual_plot\">Creating the Visual Plot</a></li>\n",
" </ol>\n",
" <li><a href=\"#customer_segmentation_K_means\">Customer Segmentation with K-Means</a></li>\n",
" <ol>\n",
" <li><a href=\"#pre_processing\">Pre-processing</a></li>\n",
" <li><a href=\"#modeling\">Modeling</a></li>\n",
" <li><a href=\"#insights\">Insights</a></li>\n",
" </ol>\n",
" </ul>\n",
"</div>\n",
"<br>\n",
"<hr>"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Import libraries\n",
"Lets first import the required libraries.\n",
"Also run <b> %matplotlib inline </b> since we will be plotting in this section."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import random \n",
"import numpy as np \n",
"import matplotlib.pyplot as plt \n",
"from sklearn.cluster import KMeans \n",
"from sklearn.datasets.samples_generator import make_blobs \n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h1 id=\"random_generated_dataset\">k-Means on a randomly generated dataset</h1>\n",
"Lets create our own dataset for this lab!\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"First we need to set up a random seed. Use <b>numpy's random.seed()</b> function, where the seed will be set to <b>0</b>"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"np.random.seed(0)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Next we will be making <i> random clusters </i> of points by using the <b> make_blobs </b> class. The <b> make_blobs </b> class can take in many inputs, but we will be using these specific ones. <br> <br>\n",
"<b> <u> Input </u> </b>\n",
"<ul>\n",
" <li> <b>n_samples</b>: The total number of points equally divided among clusters. </li>\n",
" <ul> <li> Value will be: 5000 </li> </ul>\n",
" <li> <b>centers</b>: The number of centers to generate, or the fixed center locations. </li>\n",
" <ul> <li> Value will be: [[4, 4], [-2, -1], [2, -3],[1,1]] </li> </ul>\n",
" <li> <b>cluster_std</b>: The standard deviation of the clusters. </li>\n",
" <ul> <li> Value will be: 0.9 </li> </ul>\n",
"</ul>\n",
"<br>\n",
"<b> <u> Output </u> </b>\n",
"<ul>\n",
" <li> <b>X</b>: Array of shape [n_samples, n_features]. (Feature Matrix)</li>\n",
" <ul> <li> The generated samples. </li> </ul> \n",
" <li> <b>y</b>: Array of shape [n_samples]. (Response Vector)</li>\n",
" <ul> <li> The integer labels for cluster membership of each sample. </li> </ul>\n",
"</ul>\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"X, y = make_blobs(n_samples=5000, centers=[[4,4], [-2, -1], [2, -3], [1, 1]], cluster_std=0.9)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Display the scatter plot of the randomly generated data."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x7fd49c0ba7b8>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:, 0], X[:, 1], marker='.')"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2 id=\"setting_up_K_means\">Setting up K-Means</h2>\n",
"Now that we have our random data, let's set up our K-Means Clustering."
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"The KMeans class has many parameters that can be used, but we will be using these three:\n",
"<ul>\n",
" <li> <b>init</b>: Initialization method of the centroids. </li>\n",
" <ul>\n",
" <li> Value will be: \"k-means++\" </li>\n",
" <li> k-means++: Selects initial cluster centers for k-mean clustering in a smart way to speed up convergence.</li>\n",
" </ul>\n",
" <li> <b>n_clusters</b>: The number of clusters to form as well as the number of centroids to generate. </li>\n",
" <ul> <li> Value will be: 4 (since we have 4 centers)</li> </ul>\n",
" <li> <b>n_init</b>: Number of time the k-means algorithm will be run with different centroid seeds. The final results will be the best output of n_init consecutive runs in terms of inertia. </li>\n",
" <ul> <li> Value will be: 12 </li> </ul>\n",
"</ul>\n",
"\n",
"Initialize KMeans with these parameters, where the output parameter is called <b>k_means</b>."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"k_means = KMeans(init = \"k-means++\", n_clusters = 4, n_init = 12)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Now let's fit the KMeans model with the feature matrix we created above, <b> X </b>"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": false
},
"outputs": [
{
"data": {
"text/plain": [
"KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,\n",
" n_clusters=4, n_init=12, n_jobs=None, precompute_distances='auto',\n",
" random_state=None, tol=0.0001, verbose=0)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"k_means.fit(X)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Now let's grab the labels for each point in the model using KMeans' <b> .labels\\_ </b> attribute and save it as <b> k_means_labels </b> "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([0, 3, 3, ..., 1, 0, 0], dtype=int32)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"k_means_labels = k_means.labels_\n",
"k_means_labels"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"We will also get the coordinates of the cluster centers using KMeans' <b> .cluster&#95;centers&#95; </b> and save it as <b> k_means_cluster_centers </b>"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"button": false,
"collapsed": true,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [
{
"data": {
"text/plain": [
"array([[-2.03743147, -0.99782524],\n",
" [ 3.97334234, 3.98758687],\n",
" [ 0.96900523, 0.98370298],\n",
" [ 1.99741008, -3.01666822]])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"k_means_cluster_centers = k_means.cluster_centers_\n",
"k_means_cluster_centers"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2 id=\"creating_visual_plot\">Creating the Visual Plot</h2>\n",
"So now that we have the random data generated and the KMeans model initialized, let's plot them and see what it looks like!"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"Please read through the code and comments to understand how to plot the model."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
},
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Initialize the plot with the specified dimensions.\n",
"fig = plt.figure(figsize=(6, 4))\n",
"\n",
"# Colors uses a color map, which will produce an array of colors based on\n",
"# the number of labels there are. We use set(k_means_labels) to get the\n",
"# unique labels.\n",
"colors = plt.cm.Spectral(np.linspace(0, 1, len(set(k_means_labels))))\n",
"\n",
"# Create a plot\n",
"ax = fig.add_subplot(1, 1, 1)\n",
"\n",
"# For loop that plots the data points and centroids.\n",
"# k will range from 0-3, which will match the possible clusters that each\n",
"# data point is in.\n",
"for k, col in zip(range(len([[4,4], [-2, -1], [2, -3], [1, 1]])), colors):\n",
"\n",
" # Create a list of all data points, where the data poitns that are \n",
" # in the cluster (ex. cluster 0) are labeled as true, else they are\n",
" # labeled as false.\n",
" my_members = (k_means_labels == k)\n",
" \n",
" # Define the centroid, or cluster center.\n",
" cluster_center = k_means_cluster_centers[k]\n",
" \n",
" # Plots the datapoints with color col.\n",
" ax.plot(X[my_members, 0], X[my_members, 1], 'w', markerfacecolor=col, marker='.')\n",
" \n",
" # Plots the centroids with specified color, but with a darker outline\n",
" ax.plot(cluster_center[0], cluster_center[1], 'o', markerfacecolor=col, markeredgecolor='k', markersize=6)\n",
"\n",
"# Title of the plot\n",
"ax.set_title('KMeans')\n",
"\n",
"# Remove x-axis ticks\n",
"ax.set_xticks(())\n",
"\n",
"# Remove y-axis ticks\n",
"ax.set_yticks(())\n",
"\n",
"# Show the plot\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Practice\n",
"Try to cluster the above dataset into 3 clusters. \n",
"Notice: do not generate data again, use the same dataset as above."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 3.70310165, 3.69627302],\n",
" [-0.80700142, -0.17035769],\n",
" [ 2.02030226, -2.94614399]])"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# initialize with 3 clusters\n",
"k_means_3 = KMeans(init = \"k-means++\", n_clusters = 3, n_init = 12)\n",
"\n",
"k_means_3.fit(X)\n",
"\n",
"#grab the labels\n",
"k_means_3_labels = k_means_3.labels_\n",
"k_means_3_labels\n",
"\n",
"# grab cluster centers\n",
"k_means_3_cluster_centers = k_means_3.cluster_centers_\n",
"k_means_3_cluster_centers"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# visualize\n",
"\n",
"# Initialize the plot with the specified dimensions.\n",
"fig = plt.figure(figsize=(6, 4))\n",
"\n",
"# Colors uses a color map, which will produce an array of colors based on\n",
"# the number of labels there are. We use set(k_means_labels) to get the\n",
"# unique labels.\n",
"colors = plt.cm.Spectral(np.linspace(0, 1, len(set(k_means_3_labels))))\n",
"\n",
"# Create a plot\n",
"ax = fig.add_subplot(1, 1, 1)\n",
"\n",
"# For loop that plots the data points and centroids.\n",
"# k will range from 0-3, which will match the possible clusters that each\n",
"# data point is in.\n",
"for k, col in zip(range(len(k_means_3_cluster_centers)), colors):\n",
"\n",
" # Create a list of all data points, where the data poitns that are\n",
" # in the cluster (ex. cluster 0) are labeled as true, else they are\n",
" # labeled as false.\n",
" my_members = (k_means_3_labels == k)\n",
" \n",
" # Define the centroid, or cluster center.\n",
" cluster_center = k_means_3_cluster_centers[k]\n",
" \n",
" # Plots the datapoints with color col.\n",
" ax.plot(X[my_members, 0], X[my_members, 1], 'w', markerfacecolor=col, marker='.')\n",
" \n",
" # Plots the centroids with specified color, but with a darker outline\n",
" ax.plot(cluster_center[0], cluster_center[1], 'o', markerfacecolor=col, markeredgecolor='k', markersize=6)\n",
"\n",
"# Title of the plot\n",
"ax.set_title('KMeans')\n",
"\n",
"# Remove x-axis ticks\n",
"ax.set_xticks(())\n",
"\n",
"# Remove y-axis ticks\n",
"ax.set_yticks(())\n",
"\n",
"# Show the plot\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click __here__ for the solution.\n",
"\n",
"<!-- Your answer is below:\n",
"\n",
"k_means3 = KMeans(init = \"k-means++\", n_clusters = 3, n_init = 12)\n",
"k_means3.fit(X)\n",
"fig = plt.figure(figsize=(6, 4))\n",
"colors = plt.cm.Spectral(np.linspace(0, 1, len(set(k_means3.labels_))))\n",
"ax = fig.add_subplot(1, 1, 1)\n",
"for k, col in zip(range(len(k_means3.cluster_centers_)), colors):\n",
" my_members = (k_means3.labels_ == k)\n",
" cluster_center = k_means3.cluster_centers_[k]\n",
" ax.plot(X[my_members, 0], X[my_members, 1], 'w', markerfacecolor=col, marker='.')\n",
" ax.plot(cluster_center[0], cluster_center[1], 'o', markerfacecolor=col, markeredgecolor='k', markersize=6)\n",
"plt.show()\n",
"\n",
"\n",
"-->"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h1 id=\"customer_segmentation_K_means\">Customer Segmentation with K-Means</h1>\n",
"Imagine that you have a customer dataset, and you need to apply customer segmentation on this historical data.\n",
"Customer segmentation is the practice of partitioning a customer base into groups of individuals that have similar characteristics. It is a significant strategy as a business can target these specific groups of customers and effectively allocate marketing resources. For example, one group might contain customers who are high-profit and low-risk, that is, more likely to purchase products, or subscribe for a service. A business task is to retaining those customers. Another group might include customers from non-profit organizations. And so on.\n",
"\n",
"Lets download the dataset. To download the data, we will use **`!wget`** to download it from IBM Object Storage. \n",
"__Did you know?__ When it comes to Machine Learning, you will likely be working with large datasets. As a business, where can you host your data? IBM is offering a unique opportunity for businesses, with 10 Tb of IBM Cloud Object Storage: [Sign up now for free](http://cocl.us/ML0101EN-IBM-Offer-CC)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"!wget -O Cust_Segmentation.csv https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/ML0101ENv3/labs/Cust_Segmentation.csv"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"### Load Data From CSV File \n",
"Before you can work with the data, you must use the URL to get the Cust_Segmentation.csv."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"import pandas as pd\n",
"cust_df = pd.read_csv(\"Cust_Segmentation.csv\")\n",
"cust_df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"pre_processing\">Pre-processing</h2"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"As you can see, __Address__ in this dataset is a categorical variable. k-means algorithm isn't directly applicable to categorical variables because Euclidean distance function isn't really meaningful for discrete variables. So, lets drop this feature and run clustering."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"df = cust_df.drop('Address', axis=1)\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"#### Normalizing over the standard deviation\n",
"Now let's normalize the dataset. But why do we need normalization in the first place? Normalization is a statistical method that helps mathematical-based algorithms to interpret features with different magnitudes and distributions equally. We use __StandardScaler()__ to normalize our dataset."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"from sklearn.preprocessing import StandardScaler\n",
"X = df.values[:,1:]\n",
"X = np.nan_to_num(X)\n",
"Clus_dataSet = StandardScaler().fit_transform(X)\n",
"Clus_dataSet"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"modeling\">Modeling</h2>"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"In our example (if we didn't have access to the k-means algorithm), it would be the same as guessing that each customer group would have certain age, income, education, etc, with multiple tests and experiments. However, using the K-means clustering we can do all this process much easier.\n",
"\n",
"Lets apply k-means on our dataset, and take look at cluster labels."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"clusterNum = 3\n",
"k_means = KMeans(init = \"k-means++\", n_clusters = clusterNum, n_init = 12)\n",
"k_means.fit(X)\n",
"labels = k_means.labels_\n",
"print(labels)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2 id=\"insights\">Insights</h2>\n",
"We assign the labels to each row in dataframe."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"df[\"Clus_km\"] = labels\n",
"df.head(5)"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"We can easily check the centroid values by averaging the features in each cluster."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"df.groupby('Clus_km').mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, lets look at the distribution of customers based on their age and income:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"button": false,
"collapsed": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"outputs": [],
"source": [
"area = np.pi * ( X[:, 1])**2 \n",
"plt.scatter(X[:, 0], X[:, 3], s=area, c=labels.astype(np.float), alpha=0.5)\n",
"plt.xlabel('Age', fontsize=18)\n",
"plt.ylabel('Income', fontsize=16)\n",
"\n",
"plt.show()\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from mpl_toolkits.mplot3d import Axes3D \n",
"fig = plt.figure(1, figsize=(8, 6))\n",
"plt.clf()\n",
"ax = Axes3D(fig, rect=[0, 0, .95, 1], elev=48, azim=134)\n",
"\n",
"plt.cla()\n",
"# plt.ylabel('Age', fontsize=18)\n",
"# plt.xlabel('Income', fontsize=16)\n",
"# plt.zlabel('Education', fontsize=16)\n",
"ax.set_xlabel('Education')\n",
"ax.set_ylabel('Age')\n",
"ax.set_zlabel('Income')\n",
"\n",
"ax.scatter(X[:, 1], X[:, 0], X[:, 3], c= labels.astype(np.float))\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"k-means will partition your customers into mutually exclusive groups, for example, into 3 clusters. The customers in each cluster are similar to each other demographically.\n",
"Now we can create a profile for each group, considering the common characteristics of each cluster. \n",
"For example, the 3 clusters can be:\n",
"\n",
"- AFFLUENT, EDUCATED AND OLD AGED\n",
"- MIDDLE AGED AND MIDDLE INCOME\n",
"- YOUNG AND LOW INCOME"
]
},
{
"cell_type": "markdown",
"metadata": {
"button": false,
"deletable": true,
"new_sheet": false,
"run_control": {
"read_only": false
}
},
"source": [
"<h2>Want to learn more?</h2>\n",
"\n",
"IBM SPSS Modeler is a comprehensive analytics platform that has many machine learning algorithms. It has been designed to bring predictive intelligence to decisions made by individuals, by groups, by systems – by your enterprise as a whole. A free trial is available through this course, available here: <a href=\"http://cocl.us/ML0101EN-SPSSModeler\">SPSS Modeler</a>\n",
"\n",
"Also, you can use Watson Studio to run these notebooks faster with bigger datasets. Watson Studio is IBM's leading cloud solution for data scientists, built by data scientists. With Jupyter notebooks, RStudio, Apache Spark and popular libraries pre-packaged in the cloud, Watson Studio enables data scientists to collaborate on their projects without having to install anything. Join the fast-growing community of Watson Studio users today with a free account at <a href=\"https://cocl.us/ML0101EN_DSX\">Watson Studio</a>\n",
"\n",
"<h3>Thanks for completing this lesson!</h3>\n",
"\n",
"<h4>Author: <a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a></h4>\n",
"<p><a href=\"https://ca.linkedin.com/in/saeedaghabozorgi\">Saeed Aghabozorgi</a>, PhD is a Data Scientist in IBM with a track record of developing enterprise level applications that substantially increases clients’ ability to turn data into actionable knowledge. He is a researcher in data mining field and expert in developing advanced analytic methods like machine learning and statistical modelling on large datasets.</p>\n",
"\n",
"<hr>\n",
"\n",
"<p>Copyright &copy; 2018 <a href=\"https://cocl.us/DX0108EN_CC\">Cognitive Class</a>. This notebook and its source code are released under the terms of the <a href=\"https://bigdatauniversity.com/mit-license/\">MIT License</a>.</p>"
]
}
],
"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.6.8"
},
"widgets": {
"state": {},
"version": "1.1.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment