Esempio n. 1
0
    def scatter_old(self):

        maskMalig = self.labels == 1
        maskBenig = self.labels == 0

        embed_method = 'euclidean'
        rating_method = 'euclidean'  # 'chebyshev'

        embed_benig_d = flatten_dm(calc_distance_matrix(self.embedding[maskBenig], embed_method))
        embed_malig_d = flatten_dm(calc_distance_matrix(self.embedding[maskMalig], embed_method))
        embed_cross_d = flatten_dm(
            calc_cross_distance_matrix(self.embedding[maskMalig], self.embedding[maskBenig], embed_method))

        rating = np.array(self.rating)
        rating_benig_d = flatten_dm(calc_distance_matrix(rating[maskBenig], rating_method))
        rating_malig_d = flatten_dm(calc_distance_matrix(rating[maskMalig], rating_method))
        rating_cross_d = flatten_dm(calc_cross_distance_matrix(rating[maskMalig], rating[maskBenig], rating_method))

        # Plot outputs
        plt.figure()
        plt.scatter(embed_cross_d, rating_cross_d, color='blue')
        plt.scatter(embed_malig_d, rating_malig_d, color='red')
        plt.scatter(embed_benig_d, rating_benig_d, color='green')
        plt.xlabel('Embed')
        plt.ylabel('Rating')
Esempio n. 2
0
    def scatter(self, X, Y, xMethod = 'euclidean', yMethod = 'euclidean', sub=False):
        xVec = self.load(X)
        yVec = self.load(Y)

        maskMalig = self.labels == 1
        maskBenig = self.labels == 0

        x_benig_d = flatten_dm(calc_distance_matrix(        xVec[maskBenig], xMethod))
        x_malig_d = flatten_dm(calc_distance_matrix(        xVec[maskMalig], xMethod))
        x_cross_d = flatten_dm(calc_cross_distance_matrix(  xVec[maskMalig],
                                                            xVec[maskBenig], xMethod))

        y_benig_d = flatten_dm(calc_distance_matrix(        yVec[maskBenig], yMethod))
        y_malig_d = flatten_dm(calc_distance_matrix(        yVec[maskMalig], yMethod))
        y_cross_d = flatten_dm(calc_cross_distance_matrix(  yVec[maskMalig],
                                                            yVec[maskBenig], yMethod))

        print('{}-{}:'.format(X,Y))
        print('\tCross R2 = {}'.format(linear_regression(x_cross_d, y_cross_d)[1]))
        print('\tMalig R2 = {}'.format(linear_regression(x_malig_d, y_malig_d)[1]))
        print('\tBenig R2 = {}'.format(linear_regression(x_benig_d, y_benig_d)[1]))

        print('\tCross R = {}'.format(pearsonr(x_cross_d, y_cross_d)[0]))
        print('\tMalig R = {}'.format(pearsonr(x_malig_d, y_malig_d)[0]))
        print('\tBenig R = {}'.format(pearsonr(x_benig_d, y_benig_d)[0]))


        # Plot outputs
        plt.figure()
        if sub: plt.subplot(311)
        plt.scatter(x_cross_d, y_cross_d, color='blue',  alpha=0.5, s=10)
        if sub: plt.subplot(312)
        plt.scatter(x_malig_d, y_malig_d, color='red',   alpha=0.2, s=10)
        plt.ylabel(Y)
        if sub: plt.subplot(313)
        plt.scatter(x_benig_d, y_benig_d, color='green', alpha=0.1, s=10)
        plt.xlabel(X)

        #if X is 'embed' and Y is 'malig':
        #    plt.figure()
        #    plt.plot(np.histogram2d(np.squeeze(x_malig_d), np.squeeze(y_malig_d), [5, 8])[0].T)


        if sub:
            plt.figure()
            plt.title('Cross')
            plt.plot(np.histogram2d(np.squeeze(x_cross_d), np.squeeze(y_cross_d), [5,5], normed=True)[0].T)
            plt.xlabel('Malig Rating')
            plt.legend(['0', '1', '2', '3', '4'])

            plt.figure()
            plt.title('Malig')
            plt.plot(np.histogram2d(np.squeeze(x_malig_d), np.squeeze(y_malig_d), [5,5], normed=True)[0].T)
            plt.xlabel('Malig Rating')
            plt.legend(['0', '1', '2', '3', '4'])

            plt.figure()
            plt.title('Benig')
            plt.plot(np.histogram2d(np.squeeze(x_benig_d), np.squeeze(y_benig_d), [5,5], normed=True)[0].T)
            plt.xlabel('Malig Rating')
            plt.legend(['0', '1', '2', '3', '4'])