plot.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:spyking-circus 作者: spyking-circus 项目源码 文件源码
def view_classification(data_1, data_2, title=None, save=None):

    fig    = pylab.figure()
    count  = 0
    panels = [0, 2, 1, 3]
    for item in [data_1, data_2]:
        clf, cld, X, X_raw, y = item
        for mode in ['predict', 'decision_function']:
            ax = fig.add_subplot(2, 2, panels[count]+1)

            if mode == 'predict':
                c    = clf
                vmax = 1.0
                vmin = 0.0
            elif mode == 'decision_function':
                c    = cld
                vmax = max(abs(numpy.amin(c)), abs(numpy.amax(c)))
                vmin = - vmax

            from circus.validating.utils import Projection
            p = Projection()
            _ = p.fit(X_raw, y)
            X_raw_ = p.transform(X_raw)
            # Plot figure.
            sc = ax.scatter(X_raw_[:, 0], X_raw_[:, 1], c=c, s=5, lw=0.1, cmap='bwr',
                            vmin=vmin, vmax=vmax)
            cb = fig.colorbar(sc)
            ax.grid(True)
            if panels[count] in [0, 1]:
                if panels[count] == 0:
                    ax.set_title('Classification Before')
                    ax.set_ylabel("2nd component")
                if panels[count] == 1:
                    ax.set_title('Classification After')
                    cb.set_label('Prediction')
            elif panels[count] in [2, 3]:
                ax.set_xlabel("1st component")
                if panels[count] == 2:
                    ax.set_ylabel("2nd component")
                if panels[count] == 3:
                    cb.set_label('Decision function')
            count += 1

    if save is None:
        pylab.show()
    else:
        pylab.savefig(save)
        pylab.close(fig)
    return
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号