how to normalize statistics for a radar chart

时光总嘲笑我的痴心妄想 提交于 2019-12-01 00:21:24

Transforming your data to logaritmic scale is not an option?

That way a few extreme value would not distort/crowd the other values. Just compute the common/natural logarithm of the values of your array (e.g. see w3school page on it), and feed those to the chart API.

Amro

As suggested by @daroczig, log-transformation of the data is the way to go. I just wanted to add that there are many types of transformation you can perform.

Perhaps an example might help in this. I will be using the Parallel Coordinates visualization to illustrate the example, but the same concepts should apply for Radar Chart. All experiments are performed in MATLAB.

Consider the Fisher Iris dataset, it contains 150 instances where each point has 4 dimensions. If we add an outlier point outside the range of normal values, we get:

As expected, the plot gets scaled to accommodate the new point, but as a result we loose the detailed view we had before.

The answer is to normalize the data by applying some kind of transformation. The following shows a comparison of four different transformations:

  • Min/Max normalization:

    x_new = (x-min)/(max-min), so that x_new in [0,1]

  • z-standarization:

    x_new = (x-mean)/std, where x_new ~ N(0,1)

  • softmax normalization with logistic sigmoid:

    x_new = 1/(1+exp(-(x-mean)/std)), and x_new in [0,1]

  • energy normalization:

    x_new = x / ||x||, such that x_new in [0,1] (make each point a unit vector)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!