{ "metadata": { "name": "", "signature": "sha256:b093fe7870269c846fb132031385f739da0699b7d50ff86bcff4e1e88f95c0b1" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "from sklearn.cluster.hierarchical import ward_tree\n", "from sklearn.neighbors import kneighbors_graph\n", "import pylab as pl\n", "\n", "%pylab inline" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "dim = 10\n", "npoints = 100" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "# very simple simulation: two blobs\n", "mean1 = -5 * np.ones(dim)\n", "cov1 = np.diag(np.ones(dim))\n", "mean2 = 5 * np.ones(dim)\n", "cov2 = cov1\n", " \n", "X1 = np.random.multivariate_normal(mean1,cov1,npoints)\n", "X2 = np.random.multivariate_normal(mean2,cov2,npoints)\n", " \n", "X = np.vstack((X1, X2))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "connectivity = kneighbors_graph(X, n_neighbors=5)\n", "pl.figure(figsize=(5, 5))\n", "pl.imshow(connectivity.todense(), interpolation='nearest');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\nRK5CYII=\n", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "# ward_tree fails when the connectivity matrix is sparse\n", "out = ward_tree(X, connectivity)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/usr/local/lib/python2.7/site-packages/sklearn/cluster/hierarchical.py:167: UserWarning: the number of connected components of the connectivity matrix is 2 > 1. Completing it to avoid stopping the tree early.\n", " n_components=n_components)\n" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "connectivity_1 = kneighbors_graph(X, n_neighbors=npoints)\n", "pl.figure(figsize=(5,5))\n", "pl.imshow(connectivity_1.todense(), interpolation='nearest');" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "# ward_tree doesn't fail now\n", "out = ward_tree(X, connectivity_1)\n", "print out[0][:10]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[195 169]\n", " [164 113]\n", " [ 91 24]\n", " [ 20 11]\n", " [158 133]\n", " [197 185]\n", " [120 116]\n", " [162 144]\n", " [193 125]\n", " [ 99 15]]\n" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "print out[0][:10]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[195 169]\n", " [164 113]\n", " [ 91 24]\n", " [ 20 11]\n", " [158 133]\n", " [197 185]\n", " [120 116]\n", " [162 144]\n", " [193 125]\n", " [ 99 15]]\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }