diff --git a/fastlib/u/niche/functional/test_genes_postica.m b/fastlib/u/niche/functional/test_genes_postica.m index 5a2753a136..0d4e6746a4 100644 --- a/fastlib/u/niche/functional/test_genes_postica.m +++ b/fastlib/u/niche/functional/test_genes_postica.m @@ -7,48 +7,13 @@ load gene_results; g1_indices = find(phases == g1_phase); nong1_indices = find(phases ~=g1_phase & phases ~= unknown_phase); -used_scores = pc_scores; +used_scores = ic_scores; used_scores = used_scores([1],:); svm_data = [used_scores(:,g1_indices) used_scores(:,nong1_indices)]'; svm_labels = [1 * ones(length(g1_indices),1); -1 * ones(length(nong1_indices),1)]; -%{ -correct = 0; -same_p = 0; - -for i = 1:size(svm_data, 1) - train_data = svm_data([1:(i-1) (i+1):end]); - train_labels = svm_labels([1:(i-1) (i+1):end]); - - g1_mu = mean(train_data(find(train_labels == 1))); - g1_sigma = std(train_data(find(train_labels == 1))); - nong1_mu = mean(train_data(find(train_labels == -1))); - nong1_sigma = std(train_data(find(train_labels == -1))); - - p_g1 = normpdf(svm_data(i), g1_mu, g1_sigma); - p_nong1 = normpdf(svm_data(i), nong1_mu, nong1_sigma); - - if svm_labels(i) == 1 - if p_g1 > p_nong1 - correct = correct + 1; - end - else - if p_nong1 > p_g1 - correct = correct + 1; - end - end - - if p_g1 == p_nong1 - same_p = same_p + 1; - end - -end - -correct / size(svm_data,1) -%} - @@ -58,27 +23,22 @@ svmlwrite('funknet', svm_data, svm_labels); % set initial svm options % svm_options = ... svmlopt('Kernel', 2, 'KernelParam', 3, 'C', .2, 'ComputeLOO', 1, ... - 'ExecPath','/home/niche/matlab/toolboxes/svml'); + 'ExecPath','../../../../matlab/toolboxes/svml'); % let's do a retarded random sampling of sigma and C on a grid! -num_sigma_epochs = 75; -%100; -sigma_init = 1e-3; -%1e-4; +num_sigma_epochs = 100; +sigma_init = 1e-4; sigma_grow = 1.1; %num_order_epochs = 4; %order_init = 1; %order_inc = 1; -num_C_epochs = 3; -%81; -C_init = 30; -%1e-2; -C_grow = 1 + 1/3; -%1.1; +num_C_epochs = 81; +C_init = 1e-2; +C_grow = 1.1; @@ -142,3 +102,55 @@ end % find a way to do fPCA/fICA using multiple sets of curves + + + + + + + + + + + + + + + + + + +%{ +correct = 0; +same_p = 0; + +for i = 1:size(svm_data, 1) + train_data = svm_data([1:(i-1) (i+1):end]); + train_labels = svm_labels([1:(i-1) (i+1):end]); + + g1_mu = mean(train_data(find(train_labels == 1))); + g1_sigma = std(train_data(find(train_labels == 1))); + nong1_mu = mean(train_data(find(train_labels == -1))); + nong1_sigma = std(train_data(find(train_labels == -1))); + + p_g1 = normpdf(svm_data(i), g1_mu, g1_sigma); + p_nong1 = normpdf(svm_data(i), nong1_mu, nong1_sigma); + + if svm_labels(i) == 1 + if p_g1 > p_nong1 + correct = correct + 1; + end + else + if p_nong1 > p_g1 + correct = correct + 1; + end + end + + if p_g1 == p_nong1 + same_p = same_p + 1; + end + +end + +correct / size(svm_data,1) +%}