Feat TestModels
This commit is contained in:
Binary file not shown.
BIN
ProyectoIA_Gestion/modelo_danadas.joblib
Normal file
BIN
ProyectoIA_Gestion/modelo_danadas.joblib
Normal file
Binary file not shown.
BIN
ProyectoIA_Gestion/modelo_montos.joblib
Normal file
BIN
ProyectoIA_Gestion/modelo_montos.joblib
Normal file
Binary file not shown.
@@ -19,10 +19,7 @@ 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)
|
||||
|
||||
# << CAMBIO IMPORTANTE: Nueva consulta para contar bobinas marcadas como "Dañada" por día y planta >>
|
||||
# Asumimos que el estado "Dañada" tiene Id_EstadoBobina = 3 y el historial lo registra
|
||||
fecha_limite = datetime.now() - timedelta(days=730)
|
||||
query = f"""
|
||||
SELECT
|
||||
CAST(h.FechaMod AS DATE) as fecha,
|
||||
@@ -32,8 +29,7 @@ try:
|
||||
FROM
|
||||
bob_StockBobinas_H h
|
||||
WHERE
|
||||
h.Id_EstadoBobina = 3 -- Asumiendo que 3 es el ID del estado 'Dañada'
|
||||
AND h.TipoMod = 'Estado: Dañada' -- Filtra por el evento específico del cambio de estado
|
||||
h.Id_EstadoBobina = 3 -- 3 es el ID del estado 'Dañada'
|
||||
AND h.FechaMod >= '{fecha_limite.strftime('%Y-%m-%d')}'
|
||||
GROUP BY
|
||||
CAST(h.FechaMod AS DATE),
|
||||
|
||||
@@ -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 ---
|
||||
|
||||
@@ -12,7 +12,7 @@ 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_montos.joblib'
|
||||
CONTAMINATION_RATE = 0.01 # Asumimos que el 1% de las transacciones podrían ser anómalas (ajustable)
|
||||
CONTAMINATION_RATE = 0.002
|
||||
|
||||
# --- 2. Carga de Datos de Múltiples Tablas ---
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user