Skip to content

FTA #2

@andrew11112222

Description

@andrew11112222

import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow import keras
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt

1. Carga o Simulación de Datos

Simulación de un dataset de fallos en activos industriales

np.random.seed(42)
num_samples = 1000

data = {
"Vibración": np.random.uniform(0, 1, num_samples),
"Temperatura": np.random.uniform(0, 1, num_samples),
"Presión": np.random.uniform(0, 1, num_samples),
"Corriente": np.random.uniform(0, 1, num_samples),
"Falla": np.random.choice([0, 1], num_samples, p=[0.8, 0.2]) # 0: Sin falla, 1: Con falla
}

df = pd.DataFrame(data)

2. Preprocesamiento de Datos

X = df.drop(columns=["Falla"]) # Variables predictoras
y = df["Falla"] # Variable objetivo

Normalización de datos

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

División en datos de entrenamiento y prueba

X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

3. Creación de la Red Neuronal

model = keras.Sequential([
keras.layers.Dense(16, activation='relu', input_shape=(X_train.shape[1],)),
keras.layers.Dense(8, activation='relu'),
keras.layers.Dense(1, activation='sigmoid') # Salida binaria (0 o 1)
])

Compilación del modelo

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

4. Entrenamiento del Modelo

history = model.fit(X_train, y_train, epochs=50, batch_size=16, validation_data=(X_test, y_test))

5. Evaluación del Modelo

test_loss, test_acc = model.evaluate(X_test, y_test)
print(f"Precisión del modelo: {test_acc:.2f}")

6. Visualización de Resultados

plt.plot(history.history['accuracy'], label='Precisión de entrenamiento')
plt.plot(history.history['val_accuracy'], label='Precisión de validación')
plt.xlabel('Épocas')
plt.ylabel('Precisión')
plt.legend()
plt.show()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions