def normalizeDataSet(self, dataSetOri): #ahora transformamos el set de datos por si existen elementos discretos... transformDataSet = transformFrequence.frequenceData(dataSetOri) dataSetNewFreq = transformDataSet.dataTransform dataSetNorm = "" #ahora aplicamos el procesamiento segun lo expuesto if self.optionNormalize == 1: #normal scale applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq) dataSetNorm = applyNormal.dataTransform if self.optionNormalize == 2: #min max scaler applyMinMax = ScaleMinMax.applyMinMaxScaler(dataSetNewFreq) dataSetNorm = applyMinMax.dataTransform if self.optionNormalize == 3: #log scale applyLog = ScaleDataSetLog.applyLogScale(dataSetNewFreq) dataSetNorm = applyLog.dataTransform if self.optionNormalize == 4: #log normal scale applyLogNormal = ScaleLogNormalScore.applyLogNormalScale( dataSetNewFreq) dataSetNorm = applyLogNormal.dataTransform return dataSetNorm
def scaleDataSet(self): #ahora transformamos el set de datos por si existen elementos discretos... transformDataSet = transformFrequence.frequenceData(self.dataSet) dataSetNewFreq = transformDataSet.dataTransform applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq) self.data = applyNormal.dataTransform
def createDataSet(self): self.dataSet.dropna(how='any', axis=0) #remove row with dummy values 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.response = transformData.transformData self.dictTransform = transformData.dictTransform #ahora transformamos el set de datos por si existen elementos discretos... transformDataSet = transformFrequence.frequenceData(dataSetNew) dataSetNewFreq = transformDataSet.dataTransform #ahora aplicamos el procesamiento segun lo expuesto if self.optionNormalize == 1: #normal scale applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq) self.data = applyNormal.dataTransform if self.optionNormalize == 2: #min max scaler applyMinMax = ScaleMinMax.applyMinMaxScaler(dataSetNewFreq) self.data = applyMinMax.dataTransform if self.optionNormalize == 3: #log scale applyLog = ScaleDataSetLog.applyLogScale(dataSetNewFreq) self.data = applyLog.dataTransform if self.optionNormalize == 4: #log normal scale applyLogNormal = ScaleLogNormalScore.applyLogNormalScale( dataSetNewFreq) self.data = applyLogNormal.dataTransform if self.optionNormalize == 0: #no normalizar self.data = dataSetNewFreq
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] target = dataSet[x] #clases y = columnas[0:len(columnas) - 1] data = dataSet[y] #atributos #transformamos la clase si presenta atributos discretos transformData = transformDataClass.transformClass(targetResponse) target = transformData.transformData #ahora transformamos el set de datos por si existen elementos discretos... transformDataSet = transformFrequence.frequenceData(dataValues) dataSetNewFreq = transformDataSet.dataTransform #ahora aplicamos el procesamiento segun lo expuesto applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq) data = applyNormal.dataTransform #generamos una lista con los valores obtenidos... header = [ "Algorithm", "Params", "R_Score", "Pearson", "Spearman", "Kendalltau" ] matrixResponse = [] #comenzamos con las ejecuciones... #AdaBoost
dataSet = sys.argv[3] #test with testingFeature.csv pathResponse = sys.argv[4] #donde se almacenara el nuevo set de datos optionProcess = int(sys.argv[5]) # opciones de cambios posibles kindDataSet = sys.argv[ 6] #tipo de set de datos, si es con clases o sin clases... if optionProcess == 1: #escalar en logaritmica #generamos el set de datos transformado... nameFile = pathResponse + user + "/" + job + "/" + "transformLogScale_" + job + ".csv" scaleLog = ScaleDataSetLog.applyLogScale(dataSet, nameFile, kindDataSet) if optionProcess == 2: #escalar en min max scaler nameFile = pathResponse + user + "/" + job + "/" + "transformMinMaxScale_" + job + ".csv" scaleNormal = ScaleMinMax.applyMinMaxScaler(dataSet, nameFile, kindDataSet) if optionProcess == 3: #escalar en z score nameFile = pathResponse + user + "/" + job + "/" + "transformNormalScale_" + job + ".csv" scaleNormal = ScaleNormalScore.applyNormalScale(dataSet, nameFile, kindDataSet) if optionProcess == 4: #escalar en log z score nameFile = pathResponse + user + "/" + job + "/" + "transformLogNormalScale_" + job + ".csv" scaleNormal = ScaleLogNormalScore.applyLogNormalScale( dataSet, nameFile, kindDataSet) if optionProcess == 5: #transformar a frecuencias nameFile = pathResponse + user + "/" + job + "/" + "transformFrequenceData_" + job + ".csv" scaleNormal = transformFrequence.frequenceData(dataSet, nameFile, kindDataSet)