@ -8,7 +8,8 @@ var tsne; var opt; var step_counter; var max_counter; var runner;
// These variables are initialized here in order to store the final dataset, the points, the cost, the cost for each iteration, the beta values, the positions, the 2D points positions,
// In addition, there is an array which keeps the initial information of the points (i.e., initial state), the data features (with the label of the category plus the id of the point), the data features without the category (only numbers).
if(typeof(Object.values(dataFeatures[k])[j])=="number"&&Object.keys(dataFeatures[k])[j]!=Category){// Only numbers and not the classification labels.
if(!isString((Object.values(dataFeatures[k])[j]))&&(Object.keys(dataFeatures[k])[j]!=Category)){// Only numbers and not the classification labels.
object.push(Object.values(dataFeatures[k])[j]);
object2.push(Object.values(dataFeatures[k])[j]);
object3.push(Object.keys(dataFeatures[k])[j]);
}else{
object.push(null);
}
}
ArrayContainsDataFeaturesCleared.push(object.concat(k));// The ArrayContainsDataFeaturesCleared contains only numbers without the categorization parameter even if it is a number.
if(typeof(Object.values(dataFeatures[k])[j])=="number"&&Object.keys(dataFeatures[k])[j]!=Category){// Only numbers and not the classification labels.
if(!isString(Object.values(dataFeatures[k])[j])&&Object.keys(dataFeatures[k])[j]!=Category){// Only numbers and not the classification labels.
object.push(Object.values(dataFeatures[k])[j]);
}else{
object.push(null);
}
}
ArrayContainsDataFeaturesCleared.push(object.concat(k));// The ArrayContainsDataFeaturesCleared contains only numbers without the categorization parameter even if it is a number.
@ -1518,14 +1473,17 @@ function CalculateCorrel(){ // Calculate the correlation is a function which has
if(Object.keys(dataFeatures[selectedPoints[i].id])[m]==Category){// Do not take into consideration the category whhich classifies the data.
}else{
data.push({axis:Object.keys(dataFeatures[selectedPoints[i].id])[m],value:Math.abs((Object.values(dataFeatures[selectedPoints[i].id])[m]-min[m])/(max[m]-min[m]))});// Push the values into the starplot
data.push({axis:ArrayContainsDataFeaturesClearedwithoutNullKeys[selectedPoints[i].id][m],value:Math.abs((ArrayContainsDataFeaturesClearedwithoutNull[selectedPoints[i].id][m]-min[m])/(max[m]-min[m]))});// Push the values into the starplot
}
}
}
wrapData.push(data);// Wrap everything together
IDS.push(selectedPoints[i].id);// Push all the IDs of the selected points
}
}
wrapData.push(data);// Wrap everything together
IDS.push(selectedPoints[i].id);// Push all the IDs of the selected points