diff --git a/src/MATLAB/ncdVSvfmd/getStats.m b/src/MATLAB/ncdVSvfmd/getStats.m index 56b12eb542b7ecab65d31adc089757bd54c9397e..3e73f24b0747aeffad4cbfbc5885a0a951884db6 100644 --- a/src/MATLAB/ncdVSvfmd/getStats.m +++ b/src/MATLAB/ncdVSvfmd/getStats.m @@ -1,5 +1,5 @@ -function tblVelo = getStats(dxx, pData, idxDel, tblMD) +function tblVelo = getStats(dxx, pData, tblMD) if ~exist('idxDel','var') idxDel = []; end @@ -9,10 +9,11 @@ for i = 1:length(dxx) for j = 1:size(dxx{i},1) m = dxx{i}(j,2); n = dxx{i}(j,3); - if ~isempty(intersect(m,idxDel)) || ~isempty(intersect(n,idxDel)) - continue + % m and n are indices into pData + % check first if either is disqualified + if pData.disqualified(m) || pData.disqualified(n) + continue end - if m~=n && pData.dx(m) == pData.dx(n) % same date pairs continue diff --git a/src/MATLAB/ncdVSvfmd/goQualify.m b/src/MATLAB/ncdVSvfmd/goQualify.m new file mode 100644 index 0000000000000000000000000000000000000000..f2bad0bc1acfa8c0c086ac4c909cd08e96d26d03 --- /dev/null +++ b/src/MATLAB/ncdVSvfmd/goQualify.m @@ -0,0 +1,16 @@ +load('onh_kernel_corr_pt5_5_15.mat') +tblQualify = readtable('nyu onh matched.xlsx'); +mx = regexp(tblQualify.file_name,'P(\d+)_(.+?)_(\d+-\d+-\d+)_(\d+-\d+-\d+)_(\w\w)_(.+?)_.*.img','tokens'); +tblQualify.scanID = cellfun(@(x) x{1}{6},mx,'UniformOutput',false); + +for i = 1:height(pData) + + idxScan = find(strcmp(tblQualify.scanID,pData.scanID{i})); + qq = lower(vertcat(tblQualify.qualification_status(idxScan))); + if length(idxScan) > 1 + 4; + end + pData.disqualified(i) = any(strcmp(qq,'no')); +end + + diff --git a/src/MATLAB/ncdVSvfmd/kernelCorr.m b/src/MATLAB/ncdVSvfmd/kernelCorr.m index 8320c86c516c154329814d3781f560a91e0f8978..82dbcc267f5ba413d06db147a47e39bda9fa7a8e 100644 --- a/src/MATLAB/ncdVSvfmd/kernelCorr.m +++ b/src/MATLAB/ncdVSvfmd/kernelCorr.m @@ -84,9 +84,7 @@ parfor wx = 1:length(workList) end end -idxDel = []; - -tblVelo = getStats(dxx,pData,idxDel,tblVFMD); +tblVelo = getStats(dxx,pData,tblVFMD); [rho,pCorr] = corr((tblVelo.velocity),(tblVelo.dmd)); rho2 = rho^2 toc(kernelCorrStart) diff --git a/src/MATLAB/ncdVSvfmd/regnetCorr.m b/src/MATLAB/ncdVSvfmd/regnetCorr.m index cbcc894a9766bacd4c4c9eb7c89df7f9639736c9..d7eba0c32bcd7aa2b2a07af95a6c43d27d78b2a3 100644 --- a/src/MATLAB/ncdVSvfmd/regnetCorr.m +++ b/src/MATLAB/ncdVSvfmd/regnetCorr.m @@ -7,10 +7,22 @@ X1 = [t2.velocity]; X2 = [t2.velocity,t2.md]; T = t2.dmd; -mdl1 = fitrnet(X1,T,'Activations','sigmoid','LayerSizes',[1]); -cv1 = mdl1.crossval; rmse1 = cv1.kfoldLoss^0.5; -mdl2 = fitrnet(X2,T,'Activations','sigmoid','LayerSizes',[10]); -cv2 = mdl2.crossval; rmse2 = cv2.kfoldLoss^0.5; -4; +% mdl1 = fitrnet(X1,T,'Activations','relu','LayerSizes',[44]); +% cv1 = mdl1.crossval; rmse1 = cv1.kfoldLoss^0.5; +% mdl2 = fitrnet(X2,T,'Activations','sigmoid','LayerSizes',[10]); +% cv2 = mdl2.crossval; rmse2 = cv2.kfoldLoss^0.5; +% 4; % mdl = fitrnet(X,T,"OptimizeHyperparameters","auto", "HyperparameterOptimizationOptions",struct("AcquisitionFunctionName","expected-improvement-plus")) +err = []; +for i = 1:length(X1) + trainX2 = X1; + trainX2(i) = []; + trainY2 = T; + trainY2(i) = []; + mdl = fitrnet(trainX2,trainY2,'Activations','sigmoid','LayerSizes',[10]); + pred = mdl.predict(X2(i)); + err(i) = abs(T(i) - pred); +end +4; +