def createDataSet(self): targetResponse = self.dataSet[self.featureClass] dictData = {} for key in self.dataSet: if key != self.featureClass: arrayFeature = [] for i in self.dataSet[key]: arrayFeature.append(i) dictData.update({key: arrayFeature}) #formamos el nuevo set de datos... dataSetNew = pd.DataFrame(dictData) #ahora evaluamos si la clase tiene valores discretos o continuos y los modificamos en caso de que sean discretos transformData = transformDataClass.transformClass(targetResponse) self.target = transformData.transformData self.dictTransform = transformData.dictTransform #formamos el class array... self.classArray = list(set(self.target)) #ahora transformamos el set de datos por si existen elementos discretos... #transformDataSet = transformFrequence.frequenceData(dataSetNew) encoding = encodingFeatures.encodingFeatures(dataSetNew, self.treshold) encoding.evaluEncoderKind() dataSetNewFreq = encoding.dataSet #ahora aplicamos el procesamiento segun lo expuesto if self.optionNormalize == 1: #normal scale applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq) self.data = applyNormal.dataTransform elif self.optionNormalize == 2: #min max scaler applyMinMax = ScaleMinMax.applyMinMaxScaler(dataSetNewFreq) self.data = applyMinMax.dataTransform elif self.optionNormalize == 3: #log scale applyLog = ScaleDataSetLog.applyLogScale(dataSetNewFreq) self.data = applyLog.dataTransform else: #log normal scale applyLogNormal = ScaleLogNormalScore.applyLogNormalScale( dataSetNewFreq) self.data = applyLogNormal.dataTransform
def prepareDataSet(self): self.dataResponse = self.dataSet[self.featureClass] classArray = list(set( self.dataResponse)) #evaluamos si es arreglo binario o no self.kindDataSet = 1 if len(classArray) == 2: self.kindDataSet = 1 else: self.kindDataSet = 2 #hacemos la transformacion de la clase #transformamos la clase si presenta atributos discretos transformData = transformDataClass.transformClass(self.dataResponse) self.target = transformData.transformData dictData = {} for key in self.dataSet: if key != self.featureClass: arrayFeature = [] for i in self.dataSet[key]: arrayFeature.append(i) dictData.update({key: arrayFeature}) #formamos el nuevo set de datos... dataSetParser = pd.DataFrame(dictData) #codificacion del conjunto de datos encoding = encodingFeatures.encodingFeatures(dataSetParser, 20) encoding.evaluEncoderKind() dataSetNewFreq = encoding.dataSet #ahora aplicamos el procesamiento segun lo expuesto applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq) self.data = applyNormal.dataTransform
pathResponse = args.pathResult response = args.response #valores iniciales start_time = time.time() inicio = datetime.datetime.now() iteracionesCorrectas = 0 iteracionesIncorrectas = 0 #procesamos el set de datos para obtener la columna respuesta y la matriz de datos a entrenar target = dataSet[response] del dataSet[response] #procesamos la data de interes, asociada a la codificacion de las variables categoricas y la normalizacion del conjunto de datos #transformamos la clase si presenta atributos discretos transformData = transformDataClass.transformClass(target) target = transformData.transformData #ahora transformamos el set de datos por si existen elementos categoricos... #transformDataSet = transformFrequence.frequenceData(data) #dataSetNewFreq = transformDataSet.dataTransform encoding = encodingFeatures.encodingFeatures(dataSet, 20) encoding.evaluEncoderKind() dataSetNewFreq = encoding.dataSet #ahora aplicamos el procesamiento segun lo expuesto applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq) data = applyNormal.dataTransform #obtenemos el dataset de entrenamiento y validacion, junto con los arreglos correspondientes de respuestas getDataProcess = createDataSetForTraining.createDataSet(data, target) dataSetTraining = getDataProcess.dataSetTraining
#valores iniciales start_time = time.time() inicio = datetime.datetime.now() iteracionesCorrectas = 0 iteracionesIncorrectas = 0 #procesamos el set de datos para obtener los atributos y las clases... columnas=dataSet.columns.tolist() x=columnas[len(columnas)-1] targetResponse=dataSet[x]#clases y=columnas[0:len(columnas)-1] dataValues=dataSet[y]#atributos #transformamos la clase si presenta atributos discretos transformData = transformDataClass.transformClass(targetResponse) target = transformData.transformData dictTransform = transformData.dictTransform classArray = list(set(target))#evaluamos si es arreglo binario o no kindDataSet = 1 if len(classArray) ==2: kindDataSet =1 else: kindDataSet =2 #ahora transformamos el set de datos por si existen elementos discretos... #transformDataSet = transformFrequence.frequenceData(dataValues) #dataSetNewFreq = transformDataSet.dataTransform encoding = encodingFeatures.encodingFeatures(dataValues, 20)