/normalizations.py (a959a8cc528f486a80a84e2ab233457870d255a1) (1665 bytes) (mode 100644) (type blob)

#normalizations.py
def min_max(self,metric_name):
  #perform min max normalization of specified metric for all nodes
  #min_max normalization
  #get min and max from redis
  x_min = self.redis.zrange(self.metric_prefix+metric_name, 0, 0, withscores=True, score_cast_func=float)[0][1]
  x_max = self.redis.zrange(self.metric_prefix+metric_name, -1, -1, withscores=True, score_cast_func=float)[0][1]
  
  #print x_min
  #print x_max
  
  for node in self.nodes:
    if x_min == x_max:
      x_normalized = 1.0
    else:
      x = float(self.redis.hget(self.node_prefix+str(node), metric_name))
      x_normalized = (x - x_min) / (x_max - x_min)     
  
    #store value for node and metric
    self.redis.zadd(self.metric_prefix+metric_name+self.normalization_suffix, x_normalized, str(node))
    self.redis.hset(self.node_prefix+str(node),metric_name+self.normalization_suffix, x_normalized)

#max min normalization
def max_min(self,metric_name):
  x_min = self.redis.zrange(self.metric_prefix+metric_name, 0, 0, withscores=True, score_cast_func=float)[0][1]
  x_max = self.redis.zrange(self.metric_prefix+metric_name, -1, -1, withscores=True, score_cast_func=float)[0][1]
  
  for node in self.nodes:
    if x_min == x_max:
      x_normalized = 1.0
    else:
      x = float(self.redis.hget(self.node_prefix+str(node), metric_name))
      x_normalized = (x_max - x) / (x_max - x_min)     

    #store value for node and metric
    self.redis.zadd(self.metric_prefix+metric_name+self.normalization_suffix, x_normalized, str(node))
    self.redis.hset(self.node_prefix+str(node),metric_name+self.normalization_suffix, x_normalized)

Mode Type Size Ref File
100644 blob 103 924a1df9f7338af770d3cf3d4b0ce2673f10d1b0 README.md
100644 blob 0 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 __init__.py
100644 blob 1256 489636a0073e3dfe2bfd04ee893d609d304a8490 advancedscores.py
100644 blob 4651 1cf7629bb456add85695a86c717c43602a881464 config.py
040000 tree - 1eae5e19b1eff05e464e361e3f50f3df23f1b754 data
100644 blob 662 36006180d2297800e02a403802ba4c69244ef217 file_importer.py
100644 blob 716 359eb7179fa58d67044228556f7d9c38b5caec85 indexing.py
100644 blob 5769 bc83a4ec4d54c25f212ab365a25bd6143b6ff180 metric_calculator.py
100644 blob 4982 d0b9c8eb7fcb8180748a37f1759e4e08b3b180fa metrics.py
100644 blob 1665 a959a8cc528f486a80a84e2ab233457870d255a1 normalizations.py
100644 blob 1076 682fdba07b56eac554064508b5b82ca6e4a5a031 start.py
100644 blob 2144 fb03eaa1cd8eb0d6c17b2019fe4c877a32bb7059 statistics.py
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/coria/coria-backend

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/coria/coria-backend

Clone this repository using git:
git clone git://git.rocketgit.com/user/coria/coria-backend

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main