domingo, 10 de diciembre de 2023

Creacion de Data Set a partir de Python, para Robotica

 Por: Julia Torrez

Este proyecto se enfoca en crear un conjunto de datos ficticios que simula métricas y eventos relacionados con la operación de robots en un entorno. Utilizaremos Python y las bibliotecas pandas, numpy, y matplotlib para la generación y visualización de datos.

Paso 1: Definición de Variables y Generación de Datos

import pandas as pd
import numpy as np
import random

# Definir el número de robots y el periodo de tiempo
num_robots = 5
num_horas = 24 * 7  # Una semana

# Crear un rango de fechas y horas
fechas_horas = pd.date_range(start='2023-01-01', periods=num_horas, freq='H')

# Crear datos ficticios para cada robot
data = {
    'Fecha_Hora': np.repeat(fechas_horas, num_robots),
    'ID_Robot': np.tile(range(1, num_robots + 1), num_horas),
    'Bateria': np.random.uniform(20, 100, num_robots * num_horas),
    'Temperatura': np.random.uniform(15, 35, num_robots * num_horas),
    'Estado': np.random.choice(['Activo', 'En espera', 'Reparación'], num_robots * num_horas)
}

df_robotica = pd.DataFrame(data)
df_robotica.to_csv('datos_robotica.csv', index=False)

Este código genera datos ficticios que simulan métricas de robots a lo largo del tiempo. Cada robot tiene una ID única, y las métricas incluyen la batería, la temperatura y el estado del robot.

Paso 2: Análisis Exploratorio de Datos (EDA)

# Cargar datos desde el archivo CSV
df_robotica = pd.read_csv('datos_robotica.csv', parse_dates=['Fecha_Hora'])

# Mostrar las primeras filas del DataFrame
print(df_robotica.head())

# Estadísticas descriptivas
print("\nEstadísticas Descriptivas:")
print(df_robotica.describe())

# Visualizar la evolución de la batería para un robot específico
import seaborn as sns
import matplotlib.pyplot as plt

robot_id = 1
plt.figure(figsize=(12, 6))
plt.plot(df_robotica[df_robotica['ID_Robot'] == robot_id]['Fecha_Hora'], df_robotica[df_robotica['ID_Robot'] == robot_id]['Bateria'])
plt.title(f'Evolución de la Batería para el Robot {robot_id}')
plt.xlabel('Fecha y Hora')
plt.ylabel('Nivel de Batería (%)')
plt.show()

RESULTADO:
 Fecha_Hora  ID_Robot    Bateria  Temperatura      Estado
0 2023-01-01         1  91.072294    28.772633      Activo
1 2023-01-01         2  68.235430    20.065448  Reparación
2 2023-01-01         3  86.136589    15.199576      Activo
3 2023-01-01         4  98.721053    29.468873   En espera
4 2023-01-01         5  43.072435    25.713132   En espera

Estadísticas Descriptivas:
         ID_Robot     Bateria  Temperatura
count  840.000000  840.000000   840.000000
mean     3.000000   59.853542    24.936140
std      1.415056   23.122435     5.784154
min      1.000000   20.000931    15.013068
25%      2.000000   40.584729    19.829992
50%      3.000000   59.960337    24.750997
75%      4.000000   79.521778    30.091672
max      5.000000   99.825668    34.991154

Aquí, realizamos un análisis exploratorio básico. Cargamos los datos, mostramos las primeras filas y estadísticas descriptivas. Además, visualizamos la evolución de la batería para un robot específico a lo largo del tiempo.

Paso 3: Visualización Multivariable

# Visualizar la relación entre la temperatura y el nivel de batería
plt.figure(figsize=(10, 6))
plt.scatter(df_robotica['Temperatura'], df_robotica['Bateria'], c=df_robotica['ID_Robot'], cmap='viridis', alpha=0.7)
plt.colorbar(label='ID del Robot')
plt.title('Relación entre Temperatura y Nivel de Batería')
plt.xlabel('Temperatura (°C)')
plt.ylabel('Nivel de Batería (%)')
plt.show()


En este paso, utilizamos un gráfico de dispersión para explorar la relación entre la temperatura y el nivel de batería de todos los robots.

Conclusiones:

  1. Generación de Datos Ficticios: La creación de un conjunto de datos ficticios es esencial para simular escenarios de la vida real y realizar pruebas en entornos controlados.

  2. Análisis Exploratorio de Datos: El EDA nos permite comprender la estructura de los datos, identificar tendencias y patrones, y explorar la variabilidad de las métricas a lo largo del tiempo.

  3. Visualización Multivariable: La representación gráfica de múltiples variables ayuda a entender las relaciones complejas entre diferentes aspectos del conjunto de datos, como la relación entre la temperatura y el nivel de batería.

  4. Aplicación en Robótica: Este proyecto puede aplicarse en situaciones reales para monitorear y analizar el rendimiento de robots, identificar posibles problemas y optimizar su operación.

Este proyecto es un punto de partida básico. Puedes expandirlo incluyendo más métricas, simulando eventos específicos o aplicando técnicas avanzadas de análisis de datos según los requisitos específicos de tu aplicación en robótica. Recuerda que los datos utilizados son ficticios y con fines educativos. En un escenario práctico, se requerirían datos reales y adaptaciones adicionales.


































No hay comentarios:

Publicar un comentario

La importancia de la Evaluación sumativa en Ciberseguridad

 Por: Julia Torrez 1. Definición del Problema En este proyecto, realizaremos un análisis de la evaluación sumativa en el ámbito de la cibers...