Francogv commited on
Commit
c52d8d5
verified
1 Parent(s): cb7aba2

Upload 5 files

Browse files
app_defecto.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI, Query
2
+ import joblib
3
+ import pandas as pd
4
+
5
+ # Cargar modelo y datos
6
+ modelo_defecto = joblib.load("modelo_causa_paro.pkl")
7
+ encoder_defecto = joblib.load("encoder_paro_codigo.pkl")
8
+ df_defecto = joblib.load("df_codificado_causa_paro.pkl")
9
+
10
+ app = FastAPI()
11
+
12
+ @app.get("/")
13
+ def root():
14
+ return {"mensaje": "API de predicci贸n de defecto"}
15
+
16
+ @app.get("/defecto")
17
+ def defecto(maquina: str = Query(..., description="Nombre de la m谩quina")):
18
+ if maquina not in df_defecto["Maquina"].unique():
19
+ return {"error": f"M谩quina '{maquina}' no encontrada en datos de defecto."}
20
+ try:
21
+ maquina_encoded = df_defecto[df_defecto["Maquina"] == maquina]["Maquina_encoded"].iloc[0]
22
+ df_maquina = df_defecto[df_defecto["Maquina"] == maquina]
23
+
24
+ exclude_cols_defecto = ["ParoCodigo", "ParoCodigo_encoded", "ParoDescripcion", "Maquina", "FechaHoraEvento"]
25
+ features_defecto = [col for col in df_defecto.columns if col not in exclude_cols_defecto]
26
+
27
+ fila_test = df_maquina[features_defecto].mean().to_frame().T
28
+ fila_test["Maquina_encoded"] = maquina_encoded
29
+
30
+ pred = modelo_defecto.predict(fila_test)[0]
31
+ prob = modelo_defecto.predict_proba(fila_test)[0][pred]
32
+
33
+ causa_paro = encoder_defecto.inverse_transform([pred])[0]
34
+
35
+ return {
36
+ "tipo": "defecto",
37
+ "maquina": maquina,
38
+ "causa_paro_predicha": causa_paro,
39
+ "probabilidad": round(prob * 100, 2)
40
+ }
41
+ except Exception as e:
42
+ return {"error": f"Error en predicci贸n de defecto: {str(e)}"}
df_codificado_causa_paro.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a28930f193d49b6146e6fb38f05f0eb493dfb235aa6ff795e3b65b1011bd9108
3
+ size 64660363
encoder_paro_codigo.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5994d83cff54649f4f445c5f501249bccefa5e837adedb2d487d88bd2543bd3
3
+ size 2396
modelo_causa_paro.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d31a4e9129d98690d73a2e619c119e4554a7ed8892a6b93f5d621df4b41e3efe
3
+ size 631866937
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ fastapi
2
+ uvicorn[standard]
3
+ joblib
4
+ pandas
5
+ numpy
6
+ scikit-learn