Example #1
0
    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
Example #2
0
    def getMeasuresCluster(self):

        #procesamos el set de datos para obtener los atributos y las clases...
        columnas=self.dataFrame.columns.tolist()
        x=columnas[len(columnas)-1]
        targetResponse=self.dataFrame[x]#clases
        y=columnas[0:len(columnas)-1]
        dataValues=self.dataFrame[y]#atributos

        encoding = encodingFeatures.encodingFeatures(dataValues, 20)
        encoding.evaluEncoderKind()
        dataSetNewFreq = encoding.dataSet

        #ahora aplicamos el procesamiento segun lo expuesto
        applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq)
        data = applyNormal.dataTransform

        self.resultEvaluation = evaluationClustering.evaluationClustering(data, targetResponse)#evaluamos...
Example #3
0
    def processDataSet(self):

        self.dataResponse = self.dataOriginal[
            self.featureClass]  #obtenemos la variable respuesta

        dictData = {}

        for key in self.dataOriginal:
            if key != self.featureClass:
                arrayFeature = []
                for i in self.dataOriginal[key]:
                    arrayFeature.append(i)
                dictData.update({key: arrayFeature})

        #formamos el nuevo set de datos...
        self.dataSet = pd.DataFrame(dictData)

        #codificacion de variables categoricas
        encoding = encodingFeatures.encodingFeatures(self.dataSet, 20)
        encoding.evaluEncoderKind()
        dataSetNewFreq = encoding.dataSet

        #ahora aplicamos el procesamiento segun lo expuesto
        if self.optionNormalize == 1:  #normal scale
            applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq)
            self.dataSet = applyNormal.dataTransform

        if self.optionNormalize == 2:  #min max scaler
            applyMinMax = ScaleMinMax.applyMinMaxScaler(dataSetNewFreq)
            self.dataSet = applyMinMax.dataTransform

        if self.optionNormalize == 3:  #log scale
            applyLog = ScaleDataSetLog.applyLogScale(dataSetNewFreq)
            self.dataSet = applyLog.dataTransform

        if self.optionNormalize == 4:  #log normal scale
            applyLogNormal = ScaleLogNormalScore.applyLogNormalScale(
                dataSetNewFreq)
            self.dataSet = applyLogNormal.dataTransform
Example #4
0
    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
Example #5
0
    def prepareDataSet(self):

        self.dataResponse = self.dataSet[
            self.featureClass]  #obtenemos la variable respuesta

        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
    def processDataSet(self, dataSetInput):

        #ahora transformamos el set de datos por si existen elementos discretos...
        encoding = encodingFeatures.encodingFeatures(dataSetInput, 20)
        encoding.evaluEncoderKind()
        dataSetNewFreq = encoding.dataSet

        #ahora aplicamos el procesamiento segun lo expuesto
        if self.optionNormalize == 1:  #normal scale
            applyNormal = ScaleNormalScore.applyNormalScale(dataSetNewFreq)
            self.dataSet = applyNormal.dataTransform

        elif self.optionNormalize == 2:  #min max scaler
            applyMinMax = ScaleMinMax.applyMinMaxScaler(dataSetNewFreq)
            self.dataSet = applyMinMax.dataTransform

        elif self.optionNormalize == 3:  #log scale
            applyLog = ScaleDataSetLog.applyLogScale(dataSetNewFreq)
            self.dataSet = applyLog.dataTransform

        else:  #log normal scale
            applyLogNormal = ScaleLogNormalScore.applyLogNormalScale(
                dataSetNewFreq)
            self.dataSet = applyLogNormal.dataTransform
Example #7
0
        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
        classTraining = getDataProcess.classTraining

        dataSetTesting = getDataProcess.dataSetTesting
        classTesting = getDataProcess.classTesting

        #generamos una lista con los valores obtenidos...
        header = [
            "Algorithm", "Params", "R_Score", "Pearson", "Spearman",
            "Kendalltau"
        ]
Example #8
0
from modulesNLM.supervised_learning_predicction import performanceData
from sklearn.metrics import accuracy_score, cohen_kappa_score, f1_score, precision_score, recall_score, fbeta_score, make_scorer

parser = argparse.ArgumentParser()
parser.add_argument("-m", "--modelPartition", help="Model created for to classify in a partition (*.joblib file)", required=True)
parser.add_argument("-d", "--dataset", help="Data set validation", required=True)
parser.add_argument("-p", "--pathModels", help="Path models of partitions", required=True)
parser.add_argument("-t", "--type", type=int, help="Type of model: 1. Class, 2. Regression", choices=[1,2], required=True)

args = parser.parse_args()

#primero, se hace la lectura del conjunto de datos recibido
dataset = pd.read_csv(args.dataset)

#estandarizar
applyNormal = ScaleNormalScore.applyNormalScale(dataset)
dataScaler = applyNormal.dataTransform

#cargamos el modelo de la clasificacion de grupos y lo usamos para predecir que usar
clfGroup = load(args.modelPartition)
classResponses = clfGroup.predict(dataScaler)#obtenemos las predicciones del grupo al que le corresponde

responsePredictedModel = []

for i in range(len(classResponses)):

    #obtenemos el ejemplo
    matrixExample = []#la cosa queda en una matriz para que sea correcta la clasificacion
    example = []
    for element in dataScaler:
        example.append(dataScaler[element][i])