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)
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)
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)
def train_kmeans_felipe_potencia(): kmeans_ = clustering.KMeans_() centroides = kmeans_.kmeans_felipe_potencia() return jsonify({'centroides': centroides})
def train_kmeans_carlos_cop(): kmeans_ = clustering.KMeans_() centroides = kmeans_.kmeans_carlos_cop() return jsonify({'centroides': centroides})