{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# make_circles_example" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "nbpresent": { "id": "30d16256-3045-4bf8-b092-b340f6170dfb" }, "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "from cartographer.mapper import Mapper\n", "from cartographer.coverers import HyperRectangleCoverer\n", "from sklearn import datasets\n", "from sklearn.preprocessing import MinMaxScaler\n", "data, labels = datasets.make_circles(n_samples=5000, noise=0.03, factor=0.3)\n", "\n", "params = {'coverer__intervals' :10,\n", " 'coverer__overlap' : 0.1,\n", " 'clusterer__min_samples' : 3,\n", " 'clusterer__eps': 0.5}\n", "m = Mapper(params=params)\n", "\n", "scaled_data = MinMaxScaler().fit_transform(data)\n", "m.fit(data,scaled_data)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "nbpresent": { "id": "60f7f9bb-fd1c-4c74-8097-a5f19803eebe" } }, "outputs": [], "source": [ "from cartographer.visualization import html_graph\n", "from IPython.core.display import HTML\n", "HTML(html_graph(m,\n", " {\"labels\":labels},\n", " {\"y[0]\" : scaled_data[:,0],\n", " \"y[1]\" : scaled_data[:,1]}))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import matplotlib.patches as patches\n", "from matplotlib.pyplot import cm \n", "import numpy as np\n", "\n", "\n", "fig = plt.figure(figsize=(20,20))\n", "\n", "ax = fig.add_subplot(111, aspect='equal')\n", "ax.axes.set_xlim([-0.2,1.2])\n", "ax.axes.set_ylim([-0.2,1.2])\n", "\n", "color=iter(cm.rainbow(np.linspace(0,1,m.coverer.lowerbounds.shape[0])))\n", "\n", "for lb, up in zip(m.coverer.lowerbounds,m.coverer.upperbounds):\n", " c=next(color)\n", " ax.add_patch(patches.Rectangle(lb,*(up-lb),fill=False, edgecolor=c))\n", "\n", "ax.plot(scaled_data[:,0],scaled_data[:,1],\".\");" ] } ], "metadata": { "anaconda-cloud": {}, "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.5.2" }, "nbpresent": { "slides": { "124ceb19-3312-4268-a761-09c12936ed8e": { "id": "124ceb19-3312-4268-a761-09c12936ed8e", "prev": "71370082-8edd-48fe-a7a6-d1e7dd707fcd", "regions": { "93b39cfa-3aa5-4e7b-9194-30a5b9c2c50e": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "7ccf875a-61c8-4105-8784-17704e8db5d9", "part": "whole" }, "id": "93b39cfa-3aa5-4e7b-9194-30a5b9c2c50e" } } }, "6144dda2-1751-40c3-bc9a-49414bbbbfad": { "id": "6144dda2-1751-40c3-bc9a-49414bbbbfad", "prev": "124ceb19-3312-4268-a761-09c12936ed8e", "regions": { "9920f3a1-c3de-4800-9c1e-147b3b8f450c": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "60f7f9bb-fd1c-4c74-8097-a5f19803eebe", "part": "whole" }, "id": "9920f3a1-c3de-4800-9c1e-147b3b8f450c" } } }, "71370082-8edd-48fe-a7a6-d1e7dd707fcd": { "id": "71370082-8edd-48fe-a7a6-d1e7dd707fcd", "prev": null, "regions": { "e3de8f70-c122-4bb6-a16a-52b3a61a495e": { "attrs": { "height": 0.8, "width": 0.8, "x": 0.1, "y": 0.1 }, "content": { "cell": "30d16256-3045-4bf8-b092-b340f6170dfb", "part": "whole" }, "id": "e3de8f70-c122-4bb6-a16a-52b3a61a495e" } } } }, "themes": {} } }, "nbformat": 4, "nbformat_minor": 1 }