Example #1
0
def plot_3(data, ss):
    """t-SNE embedding of the parameters, colored by score
    """
    scores = np.array([d['mean_test_score'] for d in data])
    # maps each parameters to a vector of floats
    warped = np.array([ss.point_to_moe(d['parameters']) for d in data])

    # Embed into 2 dimensions with t-SNE
    X = TSNE(n_components=2).fit_transform(warped)

    e_scores = np.exp(scores)
    mine, maxe = np.min(e_scores), np.max(e_scores)
    color = (e_scores - mine) / (maxe - mine)
    mapped_colors = map(rgb2hex, cm.get_cmap('RdBu_r')(color))

    bk.figure(title='t-SNE (unsupervised)')
    bk.hold()
    df_params = nonconstant_parameters(data)
    df_params['score'] = scores
    bk.circle(
        X[:, 0], X[:, 1], color=mapped_colors, radius=1,
        source=ColumnDataSource(df_params), fill_alpha=0.6,
        line_color=None, tools=TOOLS)
    cp = bk.curplot()
    hover = cp.select(dict(type=HoverTool))
    format_tt = [(s, '@%s' % s) for s in df_params.columns]
    hover.tooltips = OrderedDict([("index", "$index")] + format_tt)

    xax, yax = bk.axis()
    xax.axis_label = 't-SNE coord 1'
    yax.axis_label = 't-SNE coord 2'
Example #2
0
    def test_axis(self):
        plt.figure()
        p = plt.circle([1,2,3], [1,2,3])
        self.assertEqual(len(plt.axis()), 2)

        expected = set(plt.axis())

        ax = LinearAxis()
        expected.add(ax)
        p.above.append(ax)
        self.assertEqual(set(plt.axis()), expected)

        ax2 = LinearAxis()
        expected.add(ax2)
        p.below.append(ax2)
        self.assertEqual(set(plt.axis()), expected)

        ax3 = LinearAxis()
        expected.add(ax3)
        p.left.append(ax3)
        self.assertEqual(set(plt.axis()), expected)

        ax4 = LinearAxis()
        expected.add(ax4)
        p.right.append(ax4)
        self.assertEqual(set(plt.axis()), expected)
Example #3
0
    def test_axis(self):
        plt.figure()
        p = plt.circle([1,2,3], [1,2,3])
        self.assertEqual(len(plt.axis()), 2)

        expected = set(plt.axis())

        ax = LinearAxis()
        expected.add(ax)
        p.above.append(ax)
        self.assertEqual(set(plt.axis()), expected)

        ax2 = LinearAxis()
        expected.add(ax2)
        p.below.append(ax2)
        self.assertEqual(set(plt.axis()), expected)

        ax3 = LinearAxis()
        expected.add(ax3)
        p.left.append(ax3)
        self.assertEqual(set(plt.axis()), expected)

        ax4 = LinearAxis()
        expected.add(ax4)
        p.right.append(ax4)
        self.assertEqual(set(plt.axis()), expected)
Example #4
0
def build_scatter_tooltip(x, y, tt, add_line=True, radius=3, title='My Plot',
                          xlabel='Iteration number', ylabel='Score'):
    bk.figure(title=title)
    bk.hold()
    bk.circle(
        x, y, radius=radius, source=ColumnDataSource(tt),
        fill_alpha=0.6, line_color=None, tools=TOOLS)

    if add_line:
        bk.line(x, y, line_width=2)

    xax, yax = bk.axis()
    xax.axis_label = xlabel
    yax.axis_label = ylabel

    cp = bk.curplot()
    hover = cp.select(dict(type=HoverTool))
    format_tt = [(s, '@%s' % s) for s in tt.columns]
    hover.tooltips = OrderedDict([("index", "$index")] + format_tt)
Example #5
0
    def get(self, request, *args, **kwargs):
        return self.render_to_json_response({'plot': u''})
        # measurement_type_pk = kwargs.get('measurement_type_pk')
        # measurement_type = MeasurementType.objects.get(pk=measurement_type_pk)
        collection = Collection.objects.get(pk=kwargs.get('pk'))
        units = Unit.objects.filter(measurements__match={'measurement_type': measurement_type.pk, 'active': True},
                                    pk__in=[unit.pk for unit in collection.units], active=True)
        if units:
            bk.hold()
            bk.figure(x_axis_type="datetime", tools="pan,wheel_zoom,box_zoom,reset,previewsave")
            colors = self.get_colors(len(units))

            for i, unit in enumerate(units):
                measurements = [(measurement.created_at, measurement.value) for measurement in unit.measurements
                                if measurement.active and measurement.measurement_type == measurement_type]

                measurements.sort(key=lambda measurement: measurement[0])
                data = {
                    'date': [measurement[0] for measurement in measurements],
                    'value': [measurement[1] for measurement in measurements]
                }
                bk.line(np.array(data['date']), data['value'], color=colors[i], line_width=2, legend=unit.__unicode__())

            bk.grid().grid_line_alpha = 0.3
            xax, yax = bk.axis()
            xax.axis_label = ugettext('Date')
            yax.axis_label = ugettext('Values')

            plot = bk.curplot()

            bk.get_default_color()

            plot.title = ugettext('Measurements type')
            # plot.title = ugettext('Measurements type {}'.format(measurement_type.__unicode__()))
            js, tag = autoload_static(plot, Resources(mode='server', root_url=settings.STATIC_URL), "")
            return self.render_to_json_response({'plot': u'{}<script>{}</script>'.format(tag, js)})
        return self.render_to_json_response(ugettext('Not found'), status=404)