sábado, 13 de enero de 2024

La Importancia de DataSet en la Robótica Educativa

 Por: Julia Torrez

En este proyecto, crearemos 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 y matplotlib para la creació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)

En este código, hemos creado un conjunto de datos que simula 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 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 78.817290 29.620473 Reparación 1 2023-01-01 2 36.725730 18.851981 Reparación 2 2023-01-01 3 63.315838 17.305640 En espera 3 2023-01-01 4 75.662752 23.435253 En espera 4 2023-01-01 5 38.284002 30.906837 Reparación Estadísticas Descriptivas: ID_Robot Bateria Temperatura count 840.000000 840.000000 840.000000 mean 3.000000 60.940483 24.922455 std 1.415056 22.667106 5.721634 min 1.000000 20.187151 15.004750 25% 2.000000 41.655683 19.917473 50% 3.000000 62.007230 25.109524 75% 4.000000 79.712847 29.871688 max 5.000000 99.948280 34.926716

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 temperatura y 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()

CONCLUSIONES:

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.

Este es un ejemplo básico de creación y análisis de un conjunto de datos aplicado a la robótica. Puedes personalizar y expandir este proyecto según las métricas específicas que sean relevantes para tus necesidades. Recuerda que los datos utilizados son ficticios y con fines educativos. En aplicaciones prácticas, utilizarías datos reales y ajustarías el análisis en consecuencia.









No hay comentarios:

Publicar un comentario

Telecomunicaciones VS Informática

  Por: Julia Torrez Proyecto de Análisis de Evaluación Sumativa para Estudiantes de Teleinformática con Pensamiento Computacional 1. Definic...