def plot_similarity_array(self): abs_corr_array = self.workflow.redundancy_method.similarity_array op_id_name_map = self.map_op_id_name_mult_task(self.workflow.tasks) names = hlp.ind_map_subset( op_id_name_map[0], op_id_name_map[1], self.workflow.redundancy_method.similarity_array_op_ids) measures = np.zeros((2, len(names))) tmp_ind = hlp.ismember( self.workflow.redundancy_method.similarity_array_op_ids, self.workflow.good_op_ids) # -- number of problems for which each good performing feature has been calculated measures[0, :] = (~self.workflow.stats_good_op[:, tmp_ind].mask).sum( axis=0) # -- z scored u-stat(for all features) for top features stats_good_op_z_score = fap.normalise_masked_array( self.workflow.stats_good_op_comb, axis=0, norm_type='zscore')[0] measures[1, :] = stats_good_op_z_score[tmp_ind] fiplt.plot_arr_dendrogram(abs_corr_array, names, max_dist_cluster=self.max_dist_cluster, measures=measures)
def plot_similarity_array(self): abs_corr_array = self.workflow.redundancy_method.similarity_array op_id_name_map = self.map_op_id_name_mult_task(self.workflow.tasks) names = hlp.ind_map_subset(op_id_name_map[0],op_id_name_map[1],self.workflow.redundancy_method.similarity_array_op_ids) measures = np.zeros((2,len(names))) tmp_ind = hlp.ismember(self.workflow.redundancy_method.similarity_array_op_ids, self.workflow.good_op_ids) # -- number of problems for which each good performing feature has been calculated measures[0,:] = (~self.workflow.stats_good_op[:,tmp_ind].mask).sum(axis=0) # -- z scored u-stat(for all features) for top features stats_good_op_z_score = fap.normalise_masked_array(self.workflow.stats_good_op_comb, axis= 0,norm_type = 'zscore')[0] measures[1,:] = stats_good_op_z_score[tmp_ind] fiplt.plot_arr_dendrogram(abs_corr_array,names,max_dist_cluster=self.max_dist_cluster,measures = measures)
op_ref_HCTSA_path = '/home/philip/work/OperationImportanceProject/results/done/HCTSA_Beef.mat' op, = mIO.read_from_mat_file(op_ref_HCTSA_path, ['Operations'], is_from_old_matlab=True) max_feat = 50 # -- calculate the correlation abs_corr_array, sort_good_ind, all_classes_avg_good_norm = idtop.calc_perform_corr_mat( all_classes_avg_good, norm='z-score', max_feat=max_feat) # -- save the op id's in order of performance (first entry = best performance) np.save(op_id_order_path, op_id_good[sort_good_ind]) # -- sort the permutation vector that would sort the data array containing the good operations only np.save(sort_good_ind_path, sort_good_ind) # -- extract the top feature names names = hlp.ind_map_subset(op['id'], op['name'], op_id_good[sort_good_ind][:max_feat]) # -- Calculate the measures to be plotted problems_succ = (~all_classes_avg_good[:, sort_good_ind[:max_feat]].mask).sum( axis=0) u_stat_mean = all_classes_avg_good_norm[:, sort_good_ind[:max_feat]].mean(axis=0) measures = np.vstack((problems_succ, u_stat_mean)) fiplt.plot_arr_dendrogram(abs_corr_array, names, measures=measures) plt.savefig('/home/philip/Desktop/tmp/figure_tmp/corr_array.png') plt.show()
# -- load a reference HCTSA_loc.mat containing all op_ids import modules.misc.PK_matlab_IO as mIO op_ref_HCTSA_path = '/home/philip/work/OperationImportanceProject/results/done/HCTSA_Beef.mat' op, = mIO.read_from_mat_file(op_ref_HCTSA_path,['Operations'],is_from_old_matlab = True) max_feat = 50 # -- calculate the correlation abs_corr_array,sort_good_ind,all_classes_avg_good_norm = idtop.calc_perform_corr_mat(all_classes_avg_good,norm='z-score', max_feat = max_feat) # -- save the op id's in order of performance (first entry = best performance) np.save(op_id_order_path,op_id_good[sort_good_ind]) # -- sort the permutation vector that would sort the data array containing the good operations only np.save(sort_good_ind_path,sort_good_ind) # -- extract the top feature names names = hlp.ind_map_subset(op['id'], op['name'], op_id_good[sort_good_ind][:max_feat]) # -- Calculate the measures to be plotted problems_succ = (~all_classes_avg_good[:,sort_good_ind[:max_feat]].mask).sum(axis=0) u_stat_mean = all_classes_avg_good_norm[:,sort_good_ind[:max_feat]].mean(axis=0) measures = np.vstack((problems_succ,u_stat_mean)) fiplt.plot_arr_dendrogram(abs_corr_array,names,measures = measures) plt.savefig('/home/philip/Desktop/tmp/figure_tmp/corr_array.png') plt.show()