Feat TestModels

This commit is contained in:
2025-11-18 13:11:33 -03:00
parent 615cf282a1
commit 1020555db6
6 changed files with 7 additions and 12 deletions

View File

@@ -11,17 +11,16 @@ DB_SERVER = 'TECNICA3'
DB_DATABASE = 'SistemaGestion'
CONNECTION_STRING = f'DRIVER={{ODBC Driver 18 for SQL Server}};SERVER={DB_SERVER};DATABASE={DB_DATABASE};Trusted_Connection=yes;TrustServerCertificate=yes;'
MODEL_FILE = 'modelo_anomalias_dist.joblib' # <-- Nuevo nombre de archivo para el modelo
CONTAMINATION_RATE = 0.01 # Un 1% de contaminación es un buen punto de partida
MODEL_FILE = 'modelo_anomalias_dist.joblib'
CONTAMINATION_RATE = 0.01 # Un 1% de contaminación
# --- 2. Carga de Datos desde SQL Server ---
try:
print(f"Conectando a la base de datos '{DB_DATABASE}' en '{DB_SERVER}'...")
cnxn = pyodbc.connect(CONNECTION_STRING)
fecha_limite = datetime.now() - timedelta(days=365)
fecha_limite = datetime.now() - timedelta(days=730)
# << CAMBIO IMPORTANTE: Nueva consulta para agrupar Salidas y Entradas por distribuidor y día >>
query = f"""
SELECT
Id_Distribuidor AS id_distribuidor,
@@ -57,7 +56,7 @@ df.fillna(0, inplace=True)
df['porcentaje_devolucion'] = df['porcentaje_devolucion'].clip(0, 100)
df['dia_semana'] = pd.to_datetime(df['fecha']).dt.dayofweek
features = ['id_distribuidor', 'porcentaje_devolucion', 'dia_semana'] # <-- Característica clave: id_distribuidor
features = ['id_distribuidor', 'porcentaje_devolucion', 'dia_semana']
X = df[features]
# --- 4. Entrenamiento y Guardado ---