コード例 #1
0
ファイル: app.py プロジェクト: pipe980819/SmartBuilding
def predict_frio_2_cop():
    cop_model = cop.COP()
    diccionario = []
    for i in range(0, 10):
        df = dataFrio2_cop.iloc[i]
        # get data to be predicted
        X = [[
            float(df['POTENCIA GRUPO FRÍO 2']),
            float(df['POTENCIA TERMICA GRUPO FRIO 2']),
            float(df['TEMPERATURA EXTERIOR'])
        ]]
        prediction_ = cop_model.predict_grupo_frio_2(X)
        prediction = float(prediction_[0])
        valorReal = float(df['C_O_P MÁQUINA GRUPO FRÍO 2'])
        # COP malo --> diagnostico (clustering)
        kmeans_prediction = ' '
        if (((valorReal <= 3.5) or (valorReal >= 4.5)) and
            ((prediction <= 3.5) or (prediction >= 4.5))
                or (valorReal <= prediction - 0.5)
                or (valorReal >= prediction + 0.5)):
            kmeans_ = clustering.KMeans_()
            kmeans_prediction = kmeans_.predict_frio_2_cop(X)
        # Diccionario con todas las variables de un registro que se va retornar
        df.loc['C_O_P MÁQUINA GRUPO FRÍO 2 PREDICHO'] = prediction
        df.loc['Diagnostico'] = kmeans_prediction
        df2 = df.drop(labels=['Diagnostico', 'Fecha- hora de lectura'])
        df2 = df2.apply(lambda x: round(float(x), 3))
        dfAux = df[['Diagnostico', 'Fecha- hora de lectura']]
        dfR = pd.concat([df2, dfAux], axis=0, sort=False)
        registro_dict = dfR.to_dict()
        diccionario.append(registro_dict)
    dataFrio2_cop.drop(range(0, 10), inplace=True)
    dataFrio2_cop.reset_index(drop=True, inplace=True)
    return jsonify(diccionario)
コード例 #2
0
ファイル: app.py プロジェクト: pipe980819/SmartBuilding
def predict_felipe_potencia():
    potencia_model = potencia.Potencia()
    diccionario = []
    for i in range(0, 10):
        df = dataFelipe_potencia.iloc[i]
        # get data to be predicted
        X = [[
            float(df['TEMPERATURA SALIDA BOMBA CALOR FELIPE']),
            float(df['POTENCIA TERMICA BOMBA CALOR FELIPE']),
            float(df['C_O_P BOMBA CALOR FELIPE']),
            float(df['POTENCIA TRAFO 4']),
            float(df['POTENCIA TRAFO 5']),
            float(df['TEMPERATURA EXTERIOR']),
            float(df['TEMPERATURA AMBIENTE BOMBA CALOR FELIPE'])
        ]]
        prediction_ = potencia_model.predict_felipe(X)
        prediction = float(prediction_[0])
        valorReal = float(df['POTENCIA BOMBA CALOR FELIPE'])
        # Potencia mala --> diagnostico (clustering)
        kmeans_prediction = ' '
        tolerancia = valorReal * valorToleranciaPotencia
        if (prediction < (valorReal - tolerancia) or prediction >
            (valorReal + tolerancia)):
            kmeans_ = clustering.KMeans_()
            kmeans_prediction = kmeans_.predict_felipe_potencia(X)
        # Diccionario con todas las variables de un registro que se va retornar
        resultado = {
            'Diagnostico': kmeans_prediction,
            'POTENCIA BOMBA CALOR FELIPE PREDICHA': round(prediction, 3)
        }
        diccionario.append(resultado)
    dataFelipe_potencia.drop(range(0, 10), inplace=True)
    dataFelipe_potencia.reset_index(drop=True, inplace=True)
    return jsonify(diccionario)
コード例 #3
0
ファイル: app.py プロジェクト: pipe980819/SmartBuilding
def predict_frio_2_potencia():
    potencia_model = potencia.Potencia()
    diccionario = []
    for i in range(0, 10):
        df = dataFrio2_potencia.iloc[i]
        # get data to be predicted
        X = [[
            float(df['POTENCIA TERMICA GRUPO FRIO 2']),
            float(df['ENTRADA AGUA A TORRE 2']),
            float(df['SALIDA AGUA TORRE 2']),
            float(df['POTENCIA TRAFO 4']),
            float(df['POTENCIA TRAFO 5']),
            float(df['POTENCIA MEDIA CONECTADA']),
            float(df['CONTROL FRÍO']),
            float(df['KIGO FRIGORÍAS GENERADAS GRUPO DE FRÍO 2']),
            float(df['TEMPERATURA EXTERIOR'])
        ]]
        prediction_ = potencia_model.predict_grupo_frio_2(X)
        prediction = float(prediction_[0])
        valorReal = float(df['POTENCIA GRUPO FRÍO 2'])
        # Potencia mala --> diagnostico (clustering)
        kmeans_prediction = ' '
        tolerancia = valorReal * valorToleranciaPotencia
        if (prediction < (valorReal - tolerancia) or prediction >
            (valorReal + tolerancia)):
            kmeans_ = clustering.KMeans_()
            kmeans_prediction = kmeans_.predict_frio_2_potencia(X)
        # Diccionario con todas las variables de un registro que se va retornar
        resultado = {
            'Diagnostico': kmeans_prediction,
            'POTENCIA GRUPO FRÍO 2 PREDICHA': round(prediction, 3)
        }
        diccionario.append(resultado)
    dataFrio2_potencia.drop(range(0, 10), inplace=True)
    dataFrio2_potencia.reset_index(drop=True, inplace=True)
    return jsonify(diccionario)
コード例 #4
0
ファイル: app.py プロジェクト: pipe980819/SmartBuilding
def train_kmeans_felipe_potencia():
    kmeans_ = clustering.KMeans_()
    centroides = kmeans_.kmeans_felipe_potencia()
    return jsonify({'centroides': centroides})
コード例 #5
0
ファイル: app.py プロジェクト: pipe980819/SmartBuilding
def train_kmeans_carlos_cop():
    kmeans_ = clustering.KMeans_()
    centroides = kmeans_.kmeans_carlos_cop()
    return jsonify({'centroides': centroides})