From 4df08effc0b5bb3b0a49a53ebe52c59ee442987d Mon Sep 17 00:00:00 2001 From: Angelos Chatzimparmpas Date: Wed, 29 May 2019 11:35:12 +0200 Subject: [PATCH] fixed PCA Former-commit-id: 379a966365e513ec5d282f345c96b91c9a65d318 --- data/breast-cancer-wisconsin.csv | 2 +- data/diabetes.csv | 2 +- index.html | 2 +- js/tsne_vis.js | 48 +++++++++++++++++--------------- 4 files changed, 29 insertions(+), 25 deletions(-) diff --git a/data/breast-cancer-wisconsin.csv b/data/breast-cancer-wisconsin.csv index 685837a..73cdb56 100644 --- a/data/breast-cancer-wisconsin.csv +++ b/data/breast-cancer-wisconsin.csv @@ -1,4 +1,4 @@ -id;clump_thic.;size_unif.;shape_unif.;marg._adh.;epith._size;bare_nuc.;bland_chr.;normal_nuc.;mitoses;class* +id;clump_thic;size_un;shape_un;marg_adh;epith_size;bare_nuc;bland_chr;nor_nuc;mitoses;class* 1000025;5;1;1;1;2;1;3;1;1;Benign 1002945;5;4;4;5;7;10;3;2;1;Benign 1015425;3;1;1;1;2;2;3;1;1;Benign diff --git a/data/diabetes.csv b/data/diabetes.csv index d9062e7..a705831 100755 --- a/data/diabetes.csv +++ b/data/diabetes.csv @@ -1,4 +1,4 @@ -Pregnancies,Glucose,BloodPress.,SkinThick.,Insulin,BMI,DPF,Age,Outcome* +Pregnan,Glucose,BloodPress,SkinThick,Insulin,BMI,DPF,Age,Outcome* 6,148,72,35,0,33.6,0.627,50,1 1,85,66,29,0,26.6,0.351,31,0 8,183,64,0,0,23.3,0.672,32,1 diff --git a/index.html b/index.html index 0e0e93a..bf2fa03 100755 --- a/index.html +++ b/index.html @@ -26,7 +26,7 @@ - + diff --git a/js/tsne_vis.js b/js/tsne_vis.js index 3ca3609..f9258b8 100755 --- a/js/tsne_vis.js +++ b/js/tsne_vis.js @@ -2539,18 +2539,23 @@ if (points.length) { // If points exist (at least 1 point) FeaturesSelectedPoints.push(ArrayContainsDataFeaturesClearedwithoutNull[selectedPoints[i].id]); } - console.log(FeaturesSelectedPoints); - var vectors = PCA.getEigenVectors(FeaturesSelectedPoints); // Run a local PCA! - var PCAResults = PCA.computeAdjustedData(FeaturesSelectedPoints,vectors[0]); // Get the results for individual dimension. - var PCASelVec = []; + var PCAResults = PCA.computeAdjustedData(FeaturesSelectedPoints,vectors[0]); // Get the results with the first most variation. + + var PCASelVec = []; var PCASelVecAbs = []; PCASelVec = PCAResults.selectedVectors[0]; + PCASelVec.forEach(element => { + element = Math.abs(element); + PCASelVecAbs.push(element); + }); - var len = PCASelVec.length; + var len = PCASelVecAbs.length; var indices = new Array(len); + for (var i = 0; i < len; ++i) indices[i] = i; - indices = indices.sort(function (a, b) { return PCASelVec[a] < PCASelVec[b] ? -1 : PCASelVec[a] > PCASelVec[b] ? 1 : 0; }); // Get the most important features first! Clockwise ordering - if (len > 8){ + indices = indices.sort(function (a, b) { return PCASelVecAbs[a] > PCASelVecAbs[b] ? -1 : PCASelVecAbs[a] < PCASelVecAbs[b] ? 1 : 0; }); // Get the most important features first! + + if (len > 8){ // Get only the 8 best dimensions. indices = indices.slice(0,8); } @@ -2560,21 +2565,21 @@ if (points.length) { // If points exist (at least 1 point) var wrapData2 = []; for (var i=0; i b[CategoryReplaced]) { return 1; } @@ -2611,21 +2615,21 @@ if (points.length) { // If points exist (at least 1 point) var AllPointsWrapData2 = []; for (var i=0; i