Skip to main content

matlab normalization

Using meand stddev


 function [featureIn,meanFeatIn, stdDevFeatIn] = mynorm_train(featureIn)
meanFeatIn = mean(featureIn,1);
stdDevFeatIn = std(featureIn,1,1);
noSample = size(featureIn,1);
for i=1:noSample
    featureIn(i,:) = (featureIn(i,:) - meanFeatIn) ./ stdDevFeatIn ;
end
end

 function [testFeatureIn] = mynorm_test(testFeatureIn,meanFeatIn,stdDevFeatIn)
    noSample = size(testFeatureIn,1);
    noInputFeat = size(testFeatureIn,2);
    for i=1:noSample
            testFeatureIn(i,1:noInputFeat) = (testFeatureIn(i,1:noInputFeat) - meanFeatIn ) ./ stdDevFeatIn;          
    end  
end





Using range

 function [ N_feature,feature_range,feature_bases ] = normalize( features )
%NORMALIZE Summary of this function goes here
%   Detailed explanation goes here
% samples are in rows

for NoF = 1:size(features,2)
    F_min(NoF) = min(features(:,NoF));
    F_max(NoF) = max(features(:,NoF));
  
    feature_range(NoF) = (F_max(NoF)-F_min(NoF))/2;
    feature_bases(NoF) = (F_max(NoF)+F_min(NoF))/2;
  
    for NoS = 1:size(features,1)
        if (feature_range(NoF) ~=0)
            N_feature(NoS,NoF) = (features(NoS,NoF)-feature_bases(NoF))/feature_range(NoF);
        else
            N_feature(NoS,NoF)=features(NoS,NoF)-feature_bases(NoF);
        end
    end
end

end
   
function [ feature ] = normalize_t( t_features,range,bases )
%NORMALIZE_T Summary of this function goes here
%   Detailed explanation goes here
range = repmat(range,size(t_features,1),1);
bases = repmat(bases,size(t_features,1),1);
feature = (t_features - bases)./range;
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 partition     selectedKfoldSen=[];selectedKfoldSpe=[];selectedKfoldAcc=[];     indexSen=1;indexSpe=1;indexAcc=1;     if ( kfold == (P+N) )% leave one out         sensitivity = sum(cvtp) /( sum(cvtp) + sum(cvfn) )         specificity = sum(cvtn) /( sum(cvfp) + sum(cvtn) )         acc

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 = &q