Advertisement
Guest User

Untitled

a guest
Jan 20th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.14 KB | None | 0 0
  1.     def normalizarAtributos(self):
  2.         self.matrizNormalizada = np.array([])
  3.         actions_data_size = np.array([])
  4.         for usuario in self.datosUser.keys():
  5.             for agrupacion in self.datosUser[usuario].keys():
  6.                 #Para obtener datos sin segmentar (resultados terribles)
  7.                 '''data = self.obtenerAtributosDeAccion(self.datosUser[usuario][agrupacion], 3) #x
  8.                data = data + self.obtenerAtributosDeAccion(self.datosUser[usuario][agrupacion], 4) #y
  9.                data = data + self.obtenerAtributosDeAccion(self.datosUser[usuario][agrupacion], 5) #z
  10.                data = data + list(self.datosUser[usuario][agrupacion][0,6:]) #Atributos relevantes
  11.                if self.matrizNormalizada.size == 0:
  12.                    self.matrizNormalizada = np.array(data)
  13.                else:
  14.                    self.matrizNormalizada = np.vstack((self.matrizNormalizada, data))
  15.                '''
  16.                 if self.datosUser[usuario][agrupacion].shape[0] == 1:
  17.                     continue
  18.                 actions_data_size = np.append(actions_data_size, [self.datosUser[usuario][agrupacion].shape[0]])
  19.                 diffs = np.diff(self.datosUser[usuario][agrupacion][:,1])
  20.                 indexes = np.where(diffs > 10000)
  21.                 finalIndexes = np.append(indexes[0], self.datosUser[usuario][agrupacion].shape[0])
  22.                
  23.                 loopIndex = 0
  24.                 for i in finalIndexes:
  25.                     if i == loopIndex and i == 0:
  26.                         continue
  27.                     segment = self.datosUser[usuario][agrupacion][loopIndex:i]
  28.                     data = self.obtenerAtributosDeAccion(segment, 3) #x
  29.                     data = data + self.obtenerAtributosDeAccion(segment, 4) #y
  30.                     data = data + self.obtenerAtributosDeAccion(segment, 5) #z
  31.                    
  32.                     #Delta de tiempo, numero registros
  33.                     data = data + [(segment[-1][1] - segment[0][1])]
  34.                     data = data + [float(segment.shape[0])]
  35.  
  36.                     data = data + list(segment[0,6:]) #Atributos relevantes
  37.                    
  38.                     '''self.nombreAtributos = self.nombreAtributos[0:12] + ["delta_time"] + self.nombreAtributos[12:]
  39.                    self.tipoAtributos = self.tipoAtributos[0:12] + ["Continuo"] + self.tipoAtributos[12:]
  40.                    self.nominalAtributos = self.nominalAtributos[0:12] + [False] + self.nominalAtributos[12:]
  41.                    self.diccionarios = self.diccionarios[0:12] + [{}] + self.diccionarios[12:]
  42.                                        
  43.                    
  44.                    self.nombreAtributos = self.nombreAtributos[] + ["mean_x", "desv_x", "max_x", "min_x","mean_y", "desv_y", "max_y", "min_y","mean_z", "desv_z", "max_z", "min_z","User","Model","Device","gt"]
  45.                    self.tipoAtributos = ["Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Nominal","Nominal","Nominal","Nominal"]
  46.                    self.nominalAtributos = map(lambda x: True if x == 'Nominal' else False, self.tipoAtributos)
  47.                    self.diccionarios = [{},{},{},{},{},{},{},{},{},{},{},{},self.diccionarios[-4],self.diccionarios[-3],self.diccionarios[-2],self.diccionarios[-1]]
  48.                    '''
  49.                     #data = data + [(segment[0,1] - segment[-1,1])]
  50.                     if self.matrizNormalizada.size == 0:
  51.                         self.matrizNormalizada = np.array(data)
  52.                     else:
  53.                         self.matrizNormalizada = np.vstack((self.matrizNormalizada, data))
  54.                     loopIndex = i
  55.        
  56.         print self.matrizNormalizada.shape
  57.         print "Tam size: {}".format(actions_data_size.astype(int))
  58.         print "Important data: {} {} {} {}".format(np.mean(actions_data_size), np.std(actions_data_size), np.amax(actions_data_size), np.amin(actions_data_size))
  59.  
  60.  
  61.     def newData(self, dataset):
  62.         self.datos = dataset
  63.         self.nombreAtributos = ["mean_x", "desv_x", "max_x", "min_x","mean_y", "desv_y", "max_y", "min_y","mean_z", "desv_z", "max_z", "min_z","User","Model","Device","gt"]
  64.         self.tipoAtributos = ["Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Continuo","Nominal","Nominal","Nominal","Nominal"]
  65.         self.nominalAtributos = map(lambda x: True if x == 'Nominal' else False, self.tipoAtributos)
  66.         #Diccionarios al gusto
  67.         #print self.diccionarios
  68.         self.diccionarios = [{},{},{},{},{},{},{},{},{},{},{},{},self.diccionarios[-4],self.diccionarios[-3],self.diccionarios[-2],self.diccionarios[-1]]
  69.  
  70.         self.nombreAtributos = self.nombreAtributos[0:12] + ["delta_time", "registros"] + self.nombreAtributos[12:]
  71.         self.tipoAtributos = self.tipoAtributos[0:12] + ["Continuo", "Continuo"] + self.tipoAtributos[12:]
  72.         self.nominalAtributos = self.nominalAtributos[0:12] + [False, False] + self.nominalAtributos[12:]
  73.         self.diccionarios = self.diccionarios[0:12] + [{},{}    ] + self.diccionarios[12:]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement