sábado, 13 de enero de 2024

Telecomunicaciones VS Informática

 Por: Julia Torrez

Proyecto de Análisis de Evaluación Sumativa para Estudiantes de Teleinformática con Pensamiento Computacional

1. Definición del Problema

Vamos a realizar un análisis de la evaluación sumativa para estudiantes de Teleinformática. El objetivo es evaluar el desempeño de los estudiantes en diferentes áreas del curso y proporcionar recomendaciones basadas en los resultados.

2. Generación de Datos Ficticios

Generaremos datos ficticios de evaluación sumativa para los estudiantes del curso de Teleinformática.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

# Generar datos ficticios de evaluación sumativa
np.random.seed(42)

# Datos de estudiantes
estudiantes = ['Estudiante'+str(i) for i in range(1, 101)]

# Calificaciones de módulos específicos del curso
modulos = ['Redes de Datos', 'Protocolos de Comunicación', 'Seguridad Informática', 'Telefonía IP', 'Proyecto_Final']
calificaciones = np.random.randint(60, 100, size=(100, 5))

# Crear DataFrame
df_evaluacion_teleinformatica = pd.DataFrame(calificaciones, columns=modulos, index=estudiantes)

3. Análisis de Datos

Realicemos un análisis exploratorio de los datos para obtener información sobre las calificaciones.

# Estadísticas descriptivas
estadisticas_calificaciones = df_evaluacion_teleinformatica.describe()

# Visualización de la distribución de calificaciones por módulo
plt.figure(figsize=(12, 6))
sns.boxplot(data=df_evaluacion_teleinformatica, palette='Set3')
plt.title('Distribución de Calificaciones por Módulo')
plt.ylabel('Calificaciones')
plt.show()

# Visualización de la correlación entre módulos
plt.figure(figsize=(10, 8))
sns.heatmap(df_evaluacion_teleinformatica.corr(), annot=True, cmap='coolwarm', fmt=".2f")
plt.title('Correlación entre Calificaciones de Módulos')
plt.show()

4. Interpretación de Resultados

Examinemos las estadísticas descriptivas y las visualizaciones para entender el rendimiento general de los estudiantes y las posibles correlaciones entre los módulos.

# Imprimir estadísticas descriptivas
print("Estadísticas Descriptivas de Calificaciones:")
print(estadisticas_calificaciones)

# Identificar estudiantes con desempeño inferior en algún módulo
estudiantes_bajo_rendimiento = df_evaluacion_teleinformatica[df_evaluacion_teleinformatica < 70].dropna(how='all')
print("\nEstudiantes con Desempeño Inferior en Alguno de los Módulos:")
print(estudiantes_bajo_rendimiento)

RESULTADOS:
Redes de Datos Protocolos de Comunicación Seguridad Informática \ count 100.000000 100.000000 100.000000 mean 80.940000 80.930000 79.240000 std 11.977943 10.657434 12.841001 min 60.000000 60.000000 60.000000 25% 70.000000 73.000000 67.000000 50% 82.000000 82.500000 79.500000 75% 91.250000 90.250000 92.000000 max 98.000000 99.000000 99.000000 Telefonía IP Proyecto_Final count 100.000000 100.000000 mean 81.330000 79.740000 std 11.290521 11.495823 min 60.000000 60.000000 25% 72.750000 70.000000 50% 84.000000 81.000000 75% 90.250000 91.000000 max 99.000000 99.000000 Estudiantes con Desempeño Inferior en Alguno de los Módulos: Redes de Datos Protocolos de Comunicación \ Estudiante1 NaN NaN Estudiante3 NaN NaN Estudiante4 NaN 61.0 Estudiante5 61.0 NaN Estudiante7 62.0 NaN ... ... ... Estudiante90 NaN NaN Estudiante91 NaN NaN Estudiante92 69.0 NaN Estudiante94 NaN 69.0 Estudiante100 NaN 68.0 Seguridad Informática Telefonía IP Proyecto_Final Estudiante1 NaN 67.0 NaN Estudiante3 NaN NaN 62.0 Estudiante4 NaN NaN NaN Estudiante5 NaN NaN NaN Estudiante7 66.0 NaN 68.0 ... ... ... ... Estudiante90 61.0 NaN NaN Estudiante91 67.0 NaN NaN Estudiante92 NaN 66.0 63.0 Estudiante94 NaN 68.0 NaN Estudiante100 66.0 NaN NaN

5. Recomendaciones y Mejoras

Basándonos en los resultados del análisis, podríamos formular recomendaciones para mejorar el curso, como reforzar ciertos módulos, proporcionar recursos adicionales o ajustar la evaluación.

6. Conclusiones

Las conclusiones deben basarse en los resultados obtenidos durante el análisis. Pueden incluir:

  • Identificación de módulos que presentan desafíos para los estudiantes.
  • Reconocimiento de posibles correlaciones entre los módulos.
  • Identificación de estudiantes con bajo rendimiento.
  • Sugerencias para mejorar la calidad de la enseñanza.

7. Documentación

Documenta cada paso del proyecto, desde la generación de datos hasta las conclusiones obtenidas. Esto facilitará la comprensión y replicación del análisis.

8. Presentación de Resultados

Crea informes o presentaciones que resuman los resultados del análisis, incluyendo estadísticas, visualizaciones, recomendaciones y conclusiones.

Este proyecto es un ejemplo básico y puede ser personalizado según las características específicas del curso de Teleinformática y los objetivos del análisis de evaluación sumativa.

















































































































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.









Python en Servidores de Datos

 Por: Julia Torrez

En este proyecto, realizaremos un análisis exploratorio de datos aplicado a un conjunto de datos simulado que representa métricas de servidores. Utilizaremos Python con las bibliotecas pandas, matplotlib, y seaborn para realizar el análisis y visualización de los datos.

Paso 1: Generación de Datos Ficticios

import pandas as pd
import numpy as np
import random

# Generar datos ficticios de métricas de servidores
np.random.seed(42)

num_servidores = 50
fechas = pd.date_range(start='2023-01-01', end='2023-02-28', freq='D')

data = {
    'Fecha': np.random.choice(fechas, num_servidores),
    'Uso_CPU': np.random.uniform(10, 90, num_servidores),
    'Memoria_RAM': np.random.uniform(20, 80, num_servidores),
    'Espacio_Disco': np.random.uniform(30, 100, num_servidores)
}

df_servidores = pd.DataFrame(data)
df_servidores.to_csv('metricas_servidores.csv', index=False)

Este código genera un conjunto de datos ficticios con métricas de servidores, incluyendo el uso de la CPU, la memoria RAM y el espacio en disco, para 50 servidores en un periodo de dos meses.

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

# Cargar datos desde el archivo CSV
df_servidores = pd.read_csv('metricas_servidores.csv')

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

# Información general del DataFrame
print("\nInformación del DataFrame:")
print(df_servidores.info())

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

# Visualizar la evolución del uso de CPU a lo largo del tiempo
import seaborn as sns
import matplotlib.pyplot as plt

plt.figure(figsize=(12, 6))
sns.lineplot(x='Fecha', y='Uso_CPU', data=df_servidores)
plt.title('Evolución del Uso de CPU a lo largo del tiempo')
plt.xlabel('Fecha')
plt.ylabel('Uso de CPU (%)')
plt.xticks(rotation=45)
plt.show()

RESULTADOS:

    Fecha    Uso_CPU  Memoria_RAM  Espacio_Disco
0  2023-02-08  64.424603    71.002315      63.938098
1  2023-02-21  46.039940    46.967040      78.470522
2  2023-01-29  11.061197    25.724607      48.858863
3  2023-01-15  85.376140    42.249095      47.088787
4  2023-02-12  55.063057    60.130475      41.780373

Información del DataFrame:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 50 entries, 0 to 49
Data columns (total 4 columns):
 #   Column         Non-Null Count  Dtype  
---  ------         --------------  -----  
 0   Fecha          50 non-null     object 
 1   Uso_CPU        50 non-null     float64
 2   Memoria_RAM    50 non-null     float64
 3   Espacio_Disco  50 non-null     float64
dtypes: float64(3), object(1)
memory usage: 1.7+ KB
None

Estadísticas Descriptivas:
         Uso_CPU  Memoria_RAM  Espacio_Disco
count  50.000000    50.000000      50.000000
mean   50.114936    48.401499      64.564548
std    22.816523    16.145332      18.922632
min    11.061197    20.031223      32.313551
25%    32.429714    35.605058      47.999227
50%    52.421056    47.179557      63.429571
75%    67.863159    60.086692      78.732698
max    87.220425    78.302726      99.841834


En esta etapa, realizamos un análisis exploratorio de datos. Cargamos los datos, mostramos las primeras filas, información general y estadísticas descriptivas. Además, visualizamos la evolución del uso de CPU a lo largo del tiempo mediante un gráfico de líneas.

Paso 3: Visualización Multivariable

# Visualizar la relación entre Memoria RAM, Espacio en Disco y Uso de CPU
sns.pairplot(df_servidores[['Memoria_RAM', 'Espacio_Disco', 'Uso_CPU']])
plt.suptitle('Relación entre Memoria RAM, Espacio en Disco y Uso de CPU', y=1.02)
plt.show()


CONCLUSIONES

Aquí, utilizamos un gráfico de pares para explorar la relación entre las diferentes métricas (Memoria RAM, Espacio en Disco, Uso de CPU) en un solo gráfico.

Este es un ejemplo básico de análisis exploratorio de datos aplicado a métricas de servidores. Puedes personalizar y extender este proyecto según tus necesidades específicas y la complejidad de tus datos. Recuerda que los datos utilizados son ficticios y con fines educativos. En situaciones reales, trabajarías con datos reales y ajustarías tu análisis en consecuencia.


















Aplicaciones con Matplotlib

 Por: Julia Torrez

Vamos a desarrollar un proyecto que utiliza las bibliotecas matplotlib, numpy y pandas aplicadas a una base de datos ficticia. Este proyecto se centrará en la visualización de datos y análisis básico utilizando estas poderosas bibliotecas de Python.

Paso 1: Generación de Datos Ficticios

import pandas as pd
import numpy as np
import random

# Generar datos ficticios
np.random.seed(42)
num_personas = 100

data = {
    'ID': range(1, num_personas + 1),
    'Edad': np.random.randint(18, 60, num_personas),
    'Ingresos': np.random.normal(50000, 15000, num_personas)
}

df = pd.DataFrame(data)
df.to_csv('datos.csv', index=False)

Generamos un conjunto de datos ficticios que incluye un identificador (ID), la edad y los ingresos de 100 personas. Los datos se guardan en un archivo CSV llamado datos.csv.

Paso 2: Análisis Básico con Pandas

# Cargar datos desde el archivo CSV
df = pd.read_csv('datos.csv')

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

# Estadísticas descriptivas
print(df.describe())

# Filtrar personas mayores de 30 años
personas_mayores_30 = df[df['Edad'] > 30]
print("\nPersonas mayores de 30 años:")
print(personas_mayores_30)

Resultado :

ID Edad Ingresos 0 1 56 47476.923679 1 2 46 67471.529683 2 3 32 46313.784689 3 4 25 38454.983395 4 5 38 68182.585132 ID Edad Ingresos count 100.000000 100.000000 100.000000 mean 50.500000 37.910000 50125.408702 std 29.011492 12.219454 14684.490603 min 1.000000 18.000000 12518.612875 25% 25.750000 26.750000 40689.408589 50% 50.500000 38.000000 49719.768392 75% 75.250000 46.250000 60624.020802 max 100.000000 59.000000 82380.927850 Personas mayores de 30 años: ID Edad Ingresos 0 1 56 47476.923679 1 2 46 67471.529683 2 3 32 46313.784689 4 5 38 68182.585132 5 6 56 68502.452068 .. .. ... ... 93 94 50 55945.609101 95 96 59 42163.077807 96 97 56 50195.508496 97 98 58 55666.543880
98 99 45 50942.368996

En esta parte, cargamos los datos y realizamos un análisis básico utilizando funciones de pandas para mostrar las primeras filas, estadísticas descriptivas y filtrar personas mayores de 30 años.

Paso 3: Visualización con Matplotlib

import matplotlib.pyplot as plt

# Histograma de edades
plt.hist(df['Edad'], bins=20, edgecolor='black')
plt.title('Distribución de Edades')
plt.xlabel('Edad')
plt.ylabel('Frecuencia')
plt.show()

# Diagrama de dispersión entre edad e ingresos
plt.scatter(df['Edad'], df['Ingresos'], alpha=0.5)
plt.title('Relación entre Edad e Ingresos')
plt.xlabel('Edad')
plt.ylabel('Ingresos')
plt.show()


Utilizamos matplotlib para crear un histograma de las edades y un diagrama de dispersión entre la edad y los ingresos.

Paso 4: Análisis Numérico con Numpy

# Calcular la media y la desviación estándar de los ingresos
media_ingresos = np.mean(df['Ingresos'])
std_ingresos = np.std(df['Ingresos'])

print(f"\nMedia de Ingresos: {media_ingresos:.2f}")
print(f"Desviación Estándar de Ingresos: {std_ingresos:.2f}")

RESULTADO:
Media de Ingresos: 50125.41 Desviación Estándar de Ingresos: 14610.88

Aplicamos numpy para realizar un análisis numérico, calculando la media y la desviación estándar de los ingresos.

Este es un ejemplo básico que puedes expandir según tus necesidades y conocimientos. Puedes explorar técnicas más avanzadas de visualización y análisis de datos, y aplicar estas bibliotecas en conjuntos de datos más grandes y reales. Recuerda ajustar y personalizar el proyecto según tus objetivos específicos.






















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...