コード例 #1
0
ファイル: anova.py プロジェクト: supreme0327/studio
def tukeys_range_test(table, response_cols, factor_col, alpha=0.05):
    rb = ReportBuilder()
    rb.addMD("""## Tukey's range test Result""")

    for response_col in response_cols:
        data = table[response_col]
        posthoc = pairwise_tukeyhsd(data, table[factor_col], alpha=alpha)
        posthoc_html = posthoc._results_table.as_html()
        posthoc.plot_simultaneous()

        rb.addMD("""### {response_col}""".format(response_col=response_col))
        rb.addHTML(posthoc_html)
        rb.addPlt(plt)
        plt.clf()

    return {'result': {'report': rb.get()}}
コード例 #2
0
 def default(self, o):
     # TODO add more support types
     if isinstance(o, set):
         return {'__set__': list(o)}
     elif isinstance(o, numpy.ndarray):
         return {'__numpy__': _to_default_list(o)}
     elif hasattr(o, '_repr_html_'):
         rb = ReportBuilder()
         rb.addHTML(o._repr_html_())
         return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))}
     elif hasattr(o, 'savefig'):
         rb = ReportBuilder()
         rb.addPlt(o)
         return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))}
     else:
         rb = ReportBuilder()
         rb.addRawTextMD(str(o))
         return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))}
コード例 #3
0
def _correlation(table, vars, method='pearson', height=2.5, corr_prec=2):
    size = len(vars)

    s_default = plt.rcParams['lines.markersize']**2.
    scatter_kws = {"s": s_default * height / 6.4}

    corr_arr = np.ones((size, size))  # TODO variable name dict
    p_arr = np.zeros((size, size))

    for i in range(size):
        for j in range(i):
            if method == 'pearson':
                r, p = stats.pearsonr(table[vars[i]], table[vars[j]])
            elif method == 'spearman':
                r, p = stats.spearmanr(table[vars[i]], table[vars[j]])
            elif method == 'kendal':
                r, p = stats.kendalltau(table[vars[i]], table[vars[j]])

            corr_arr[i][j] = r
            p_arr[i][j] = p

    for i in range(size):
        for j in range(i, size):
            corr_arr[i][j] = corr_arr[j][i]
            p_arr[i][j] = p_arr[j][i]

    def corr(x, y, **kwargs):
        if kwargs['method'] == 'pearson':
            r, p = stats.pearsonr(x, y)
        elif kwargs['method'] == 'spearman':
            r, p = stats.spearmanr(x, y)
        elif kwargs['method'] == 'kendal':
            r, p = stats.kendalltau(x, y)

        p_stars = ''
        if p <= 0.05:
            p_stars = '*'
        if p <= 0.01:
            p_stars = '**'
        if p <= 0.001:
            p_stars = '***'

        corr_text = '{:.{prec}f}'.format(r, prec=corr_prec)
        print(type(corr_prec))
        font_size = abs(r) * 15 * 2 / corr_prec + 5
        ax = plt.gca()
        ax.annotate(corr_text, [
            .5,
            .5,
        ],
                    xycoords="axes fraction",
                    ha='center',
                    va='center',
                    fontsize=font_size * height)
        ax.annotate(p_stars,
                    xy=(0.65, 0.6),
                    xycoords=ax.transAxes,
                    color='red',
                    fontsize=17 * height)

    g = sns.PairGrid(table, vars=vars, height=height)
    g.map_diag(sns.distplot)
    if method == 'pearson':
        g.map_lower(sns.regplot, scatter_kws=scatter_kws)
    else:
        g.map_lower(sns.regplot, lowess=True, scatter_kws=scatter_kws)
    g.map_upper(corr, method=method)

    rb = ReportBuilder()
    rb.addPlt(plt)
    plt.clf()

    params = {'vars': vars, 'method': method, 'height': height}

    res = dict()
    res['params'] = params
    res['corr'] = corr_arr
    res['pvalue'] = p_arr
    res['report'] = rb.get()

    return {'result': res}
コード例 #4
0
ファイル: encoder.py プロジェクト: eastshine94/studio
        return super(DefaultEncoder, self).encode(hint_tuples(obj))

    def default(self, o):
<<<<<<< HEAD
        # TODO add more support types
        if isinstance(o, set):
            return {'__set__': list(o)}
        elif isinstance(o, numpy.ndarray):
            return {'__numpy__': _to_default_list(o)}
        elif hasattr(o, '_repr_html_'):
            rb = ReportBuilder()
            rb.addHTML(o._repr_html_())
            return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))}
        elif hasattr(o, 'savefig'):
            rb = ReportBuilder()
            rb.addPlt(o)
            return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))}
        else:
            rb = ReportBuilder()
            rb.addRawTextMD(str(o))
            return {'report': rb.get(), '__pickled__': list(pickle.dumps(o))}
=======
        if isinstance(o, set):
            return {'__set__': list(o)}
        elif isinstance(o, numpy.ndarray):
            return {'__numpy__': o.tolist()}
        # TODO add more support types
        # return {'__pickled__': list(pickle.dumps(o))}
        elif hasattr(o, '_repr_html_'):
            rb = BrtcReprBuilder()
            rb.addHTML(o._repr_html_())