Skip to content

Instantly share code, notes, and snippets.

Created January 27, 2015 17:11
Show Gist options
  • Save anonymous/e249a324da4dc184cb51 to your computer and use it in GitHub Desktop.
Save anonymous/e249a324da4dc184cb51 to your computer and use it in GitHub Desktop.
Ejemplo de algoritmo k-means con datos 3d y 2d
{
"metadata": {
"name": "",
"signature": "sha256:dfaba38887f3c7ac456d0ab94afcad2dff8f9e3d932fed87451011a4036dbfd0"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Algoritmo K-means</h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Importamos las librerias necesarias:</p>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%matplotlib inline\n",
"\n",
"# importamos las librer\u00edas b\u00e1sicas\n",
"import random\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.mplot3d import Axes3D"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>A continuaci\u00f3n se muestran las diferentes funciones que implementan el algoritmo:</p>\n",
"<ul>\n",
"<li>cluster_assignment(X, centroids)\n",
"<li>move_centroids(clusters)\n",
"<li>cluster_data(X, K)\n",
"<li>cost_function(centroids, clusters)\n",
"<li>kmeans(X, K, repeat)\n",
"<li>kmeans_elbow(X, Kmax, repeat)\n",
"</ul>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Asigna cada muestra a un cluster u otro seg\u00fan la distancia a este.\n",
"def cluster_assignment(X, centroids):\n",
" clusters = {}\n",
" for x in X:\n",
" norms = []\n",
" for centroid in enumerate(centroids):\n",
" norms.append([np.linalg.norm(x-centroid[1]), centroid[0]]) \n",
" cluster_key = min(norms)[1]\n",
" if clusters.has_key(cluster_key):\n",
" clusters[cluster_key].append(x)\n",
" else:\n",
" clusters[cluster_key] = [x]\n",
" return clusters\n",
"\n",
"# Recalcula los centros de los nuevos clusters.\n",
"def move_centroids(clusters):\n",
" new_centroids = []\n",
" for k in clusters.keys():\n",
" new_centroids.append(np.mean(clusters[k], 0))\n",
" return new_centroids\n",
"\n",
"# Algoritmo K-means.\n",
"def cluster_data(X, K):\n",
" centroids = random.sample(X, K)\n",
" prev_centroids = np.array(0)\n",
" while not np.array_equal(centroids, prev_centroids):\n",
" prev_centroids = centroids\n",
" clusters = cluster_assignment(X, centroids)\n",
" centroids = move_centroids(clusters)\n",
" return (centroids, clusters)\n",
"\n",
"# Calcula la funci\u00f3n de costes.\n",
"def cost_function(centroids, clusters):\n",
" J, m = 0, 0\n",
" for k in clusters.keys():\n",
" m += len(clusters[k])\n",
" for x in clusters[k]:\n",
" J += np.linalg.norm(x-centroids[k])\n",
" return J / m\n",
"\n",
"# K-means optimizado.\n",
"def kmeans(X, K, repeat = 10):\n",
" prev_F = 1000\n",
" for i in range(repeat):\n",
" centroids, clusters = cluster_data(X, K)\n",
" F = cost_function(centroids, clusters)\n",
" if F < prev_F:\n",
" prev_F = F\n",
" best_kmeans = [centroids, clusters, F]\n",
" return (best_kmeans[0], best_kmeans[1], best_kmeans[2])\n",
"\n",
"# K-means con el m\u00e9todo Elbow.\n",
"def kmeans_elbow(X, Kmax = 6, repeat = 10):\n",
" data = []\n",
" for k in range(1, Kmax):\n",
" centroids, clusters, F = kmeans(X, k, repeat)\n",
" data.append([k, F, centroids, clusters]) \n",
" data_array = np.array(data)\n",
" elbow_data = data_array[:,:2]\n",
" plt.figure(1)\n",
" ax = plt.gca()\n",
" ax.plot(elbow_data[:,0], elbow_data[:,1], \"b-\") \n",
" ax.set_title(\"Elbow method\")\n",
" ax.set_xlabel(\"K (num. of clusters)\")\n",
" ax.set_ylabel(\"F (Cost function)\")\n",
" plt.show()\n",
" K = raw_input(\"Enter clusters number K (max: 6): \")\n",
" K = int(K)\n",
" if 0 < K < 7:\n",
" print \"Correct input. Cluster number is \" + str(K)\n",
" else:\n",
" print \"Invalid input. Default K = 4\"\n",
" K = 4 \n",
" return (data[K - 1][2], data[K - 1][3], K)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Ejemplo 2D</h2>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# creamos datos\n",
"X1 = np.random.multivariate_normal([0, 0], [[.6, 0], [0, .6]], 30)\n",
"X2 = np.random.multivariate_normal([-3, 3], [[.7, 0], [0, .7]], 30)\n",
"X3 = np.random.multivariate_normal([3, -3], [[.5, 0], [0, .5]], 30)\n",
"X4 = np.random.multivariate_normal([-4, -4], [[1.5, 0], [0, 1.5]], 40)\n",
"X = np.concatenate((X1, X2, X3, X4), axis=0)\n",
"\n",
"# clusterizamos datos\n",
"centroids, clusters, K = kmeans_elbow(X, 10, 20)\n",
"\n",
"# dibujamos datos clusterizados\n",
"markers = [\"o\", \"o\", \"o\", \"o\", \"o\", \"o\", \".\", \".\", \".\"]\n",
"colors = [\"b\", \"g\", \"r\", \"c\", \"m\", \"y\", \"b\", \"g\", \"r\"]\n",
"plt.figure()\n",
"plt.axis([-8, 5, -8, 6])\n",
"ax = plt.gca()\n",
"for k, clr, mkr in zip(range(K), colors, markers):\n",
" cluster = np.squeeze(clusters[k])\n",
" ax.plot(cluster[:,0], cluster[:,1], linestyle=\"None\", markerfacecolor=clr, marker=mkr, markersize=4)\n",
" ax.plot(centroids[k][0], centroids[k][1], linestyle=\"None\", markerfacecolor=clr, marker=\"*\", markersize=15)\n",
"ax.set_title(\"Kmeans algorithm\")\n",
"ax.set_xlabel(\"x1\")\n",
"ax.set_ylabel(\"x2\")\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nAmZmDez/A4gq9qdYpeolAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0xa7332b0>"
]
},
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter clusters number K (max: 6): 4\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Correct input. Cluster number is 4\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nSIT8fxWlMuxg1u2gAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0xa733400>"
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Ejemplo 3D</h2>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# creamos datos\n",
"X1 = np.random.multivariate_normal([0, 0, 0], [[.6, 0, 0], [0, .6, 0], [0, 0, .6]], 30)\n",
"X2 = np.random.multivariate_normal([-3, 3, 3], [[.7, 0, 0], [0, .7, 0], [0, 0, .7]], 30)\n",
"X3 = np.random.multivariate_normal([3, -3, -3], [[.5, 0, 0], [0, .5, 0], [0, 0, .5]], 30)\n",
"X4 = np.random.multivariate_normal([-4, -4, -4], [[1.5, 0, 0], [0, 1.5, 0], [0, 0, 1.5]], 40)\n",
"X = np.concatenate((X1, X2, X3, X4), axis=0)\n",
"\n",
"\n",
"\n",
"# clusterizamos datos\n",
"centroids, clusters, F = kmeans_elbow(X, 10, 20)\n",
"\n",
"# dibujamos datos clusterizados\n",
"colors = [\"#0099cb\", \"#ade601\", \"#fe9900\", \"#d8007d\", \"#8800cc\", \"#2201cc\"]\n",
"markers = [\"o\", \"v\", \"s\", \"<\", \">\", \".\"]\n",
"fig = plt.figure()\n",
"ax = fig.gca(projection=\"3d\")\n",
"for k, clr, mkr in zip(range(K), colors, markers):\n",
" cluster = np.squeeze(np.asarray(clusters[k]))\n",
" ax.plot(cluster[:, 0], cluster[:, 1], cluster[:, 2], linestyle=\"None\", markerfacecolor=clr, marker=mkr, markersize=5)\n",
" ax.plot([centroids[k][0]], [centroids[k][1]], [centroids[k][2]], linestyle=\"None\", markerfacecolor=clr, marker=\"*\", markersize=15)\n",
"ax.set_title(\"Datos segmentados\")\n",
"ax.set_xlabel(\"x1\")\n",
"ax.set_ylabel(\"x2\")\n",
"ax.set_zlabel(\"x3\")\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\n",
"text": [
"<matplotlib.figure.Figure at 0x3fd92e8>"
]
},
{
"name": "stdout",
"output_type": "stream",
"stream": "stdout",
"text": [
"Enter clusters number K (max: 6): 4\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Correct input. Cluster number is 4\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nFOFgWwAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x3fd9320>"
]
}
],
"prompt_number": 4
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment