Skip to main content

MATLAB normalize train and test



matrixTrain = load('matrix.train');
 function [matrixTrain , meanFeatIn, stdDevFeatIn] = mynorm_train(matrixTrain)


featureIn = matrixTrain(:,1:end-1);
featureOut = matrixTrain(:,end);

meanFeatIn = mean(featureIn,1);
stdDevFeatIn = std(featureIn,1,1);
meanFeatOut = mean(featureOut,1);
stdDevFeatOut = std(featureOut,1,1) ; 
dlmwrite('normInfo',[meanFeatOut stdDevFeatOut],'delimiter','\t');
noSample = size(featureIn,1);
 for i=1:noSample
            featureIn(i,:) = (featureIn(i,:) - meanFeatIn) ./ stdDevFeatIn ;
            featureOut(i,:) = (featureOut(i,:) - meanFeatOut) ./ stdDevFeatOut ;
 end
matrixTrain = [ featureIn featureOut];

end

matrixTest = load('matrix.test');
function [matrixTest] = mynorm_train(matrixTest,meanFeatIn, stdDevFeatIn,meanFeatOut ,stdDevFeatOut )

noSample = size(matrixTest,1);
noInputFeat = size(matrixTest,2) - 1;
for i=1:noSample
            matrixTest(i,1:noInputFeat) = (matrixTest(i,1:noInputFeat) - meanFeatIn )  ./ stdDevFeatIn ;
            matrixTest(i,noInputFeat+1) = (matrixTest(i,noInputFeat+1) - meanFeatOut )  ./ stdDevFeatOut ;  
end  






Comments

Popular posts from this blog

MATLAB cross validation

// use built-in function samplesize = size( matrix , 1); c = cvpartition(samplesize,  'kfold' , k); % return the indexes on each fold ///// output in matlab console K-fold cross validation partition              N: 10    NumTestSets: 4      TrainSize: 8  7  7  8       TestSize: 2  3  3  2 ////////////////////// for i=1 : k    trainIdxs = find(training(c,i) ); %training(c,i);  // 1 means in train , 0 means in test    testInxs  = find(test(c,i)       ); % test(c,i);       // 1 means in test , 0 means in train    trainMatrix = matrix (  matrix(trainIdxs ), : );    testMatrix  = matrix (  matrix(testIdxs  ), : ); end //// now calculate performance %%  calculate performance of a partiti...

R tutorial

Install R in linux ============ In CRAN home page, the latest version is not available. So, in fedora, Open the terminal yum list R  --> To check the latest available version of r yum install R --> install R version yum update R --> update current version to latest one 0 find help ============ ?exact topic name (  i.e.   ?mean ) 0.0 INSTALL 3rd party package  ==================== install.packages('mvtnorm' , dependencies = TRUE , lib='/home/alamt/myRlibrary/')   #  install new package BED file parsing (Always use read.delim it is the best) library(MASS) #library(ggplot2) dirRoot="D:/research/F5shortRNA/TestRIKEN/Rscripts/" dirData="D:/research/F5shortRNA/TestRIKEN/" setwd(dirRoot) getwd() myBed="test.bed" fnmBed=paste(dirData, myBed, sep="") # ccdsHh19.bed   tmp.bed ## Read bed use read.delim - it is the  best mybed=read.delim(fnmBed, header = FALSE, sep = "\t", quote = ...

MATLAB confusion matrix

%  test_class  & predicted_class must be same dimension % 'order' - describes the order of label. Here labels are 'g' as positive and 'h' as negative [C,order] = confusionmat( test_class(1: noSampleTest), predicted_class, 'order', ['g' ;'h'] ) tp = C(1,1); fn = C(1,2); fp = C(2,1); tn = C(2,2); sensitivity = tp /( tp + fn ) specificity = tn /( fp + tn ) accuracy = (tp+tn) / (tp+fn+fp+tn) tpr = sensitivity fpr = 1-specificity precision = tp /( tp + fp ) fVal = (2*tpr*precision)/(tpr+precision)