You are on page 1of 8

Actividad Evaluable 1

Descripción

Gobierno y gestión de las tecnologías de la


MÓDULO
información

ASIGNATURA Monitorización y Data Mining - 6 ECTS

Fecha Límite de Entrega 15 de Enero de 2023, a las 23:59

10% de la Nota Total. Mínimo se requiere un 5


Puntos
para poder ir al examen final.

Carácter Individual

Nombre del Estudiante DARWIN MAURICIO MATUTE MENDOZA

DNI - NIE - Identificación Oficial 0105406094

Enunciado:

En esta actividad se planteará una serie de preguntas relacionadas con los temas 1 y 2. El
estudiante debe responder a tales preguntas en este mismo documento, de forma clara
y concisa. Este documento debe ser exportado a PDF, y entregado a través de la página
de la asignatura, antes de la fecha límite de entrega, incluyendo nombre y
DNI/NIE/Pasaporte en este documento. Se considerará tanto la corrección de las
soluciones como su presentación.

Parte de esta actividad implica ejecutar código R. Tal código debe ser entregado en un
fichero de código R (extensión .R), éste debe poderse ejecutar directamente sobre un
terminal nuevo en R o en RStudio. El código es imprescindible para la corrección del
ejercicio.

Las entregas tardías serán marcadas como “tarde”, y pueden NO ser evaluadas. Por
favor, entregad a tiempo.

Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
1
1. Data Science
Pregunta 1:
De las siguientes preguntas, clasifica cada una como descriptiva, exploratoria,
inferencia, predictiva o causal, y razona brevemente (una frase) el porqué:
1. Dado un registro de vehículos que circulan por una autopista, disponemos de
su marca y modelo, país de matriculación, y tipo de vehículo (por número de
ruedas). Con tal de ajustar precios de los peajes, ¿Cuántos vehículos tenemos
por tipo? ¿Cuál es el tipo más frecuente? ¿De qué países tenemos más
vehículos?

DESCRIPTIVA: Porque se obtiene datos exactos, nos permite conocer a detalle y


con ellos podemos presentar a través de gráficos, infografías etc.

2. Dado un registro de visualizaciones de un servicio de video-on-demand, donde


disponemos de los datos del usuario, de la película seleccionada, fecha de
visualización y categoría de la película, queremos saber ¿Hay alguna
preferencia en cuanto a género literario según los usuarios y su rango de edad?

EXPLORATORIA: Co este análisis lograremos detectar características relevantes,


así como también identificaremos la tendencia de las películas y su
visualización dependiendo de la edad del usuario.

3. Dado un registro de peticiones a un sitio web, vemos que las peticiones que
provienen de una red de telefonía concreta acostumbran a ser incorrectas y
provocarnos errores de servicio. ¿Podemos determinar si en el futuro, los
próximos mensajes de esa red seguirán dando problemas? ¿Hemos notado el
mismo efecto en otras redes de telefonía?

INFERENCIAL: según este análisis en base a lo que ya venía sucediendo con la


red telefónica suponemos o predecimos que los próximos datos enviados
desde la red seguirán con el mismo problema.

Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
2
4. Dado los registros de usuarios de un servicio de compras por internet, los
usuarios pueden agruparse por preferencias de productos comprados.
Queremos saber si ¿Es posible que, dado un usuario al azar y según su historial,
pueda ser directamente asignado a un o diversos grupos?

PREDICTIVO: según este análisis se puede organizar los datos para que nos
muestre un patrón en base a su historial de compras para determinar alguna
preferencia o poder predecir que comprara a futuro.

Pregunta 2:
Considera el siguiente escenario:
Sabemos que un usuario de nuestra red empresarial ha estado usando esta para fines
no relacionados con el trabajo, como por ejemplo tener un servicio web no autorizado
abierto a la red (otros usuarios tienen servicios web activados y autorizados). No
queremos tener que rastrear los puertos de cada PC, y sabemos que la actividad puede
haber cesado. Pero podemos acceder a los registros de conexiones TCP de cada
máquina de cada trabajador (hacia donde abre conexión un PC concreto). Sabemos
que nuestros clientes se conectan desde lugares remotos de forma legítima, como
parte de nuestro negocio, y que un trabajador puede haber habilitado temporalmente
servicios de prueba. Nuestro objetivo es reducir lo posible la lista de posibles
culpables, con tal de explicarles que por favor no expongan nuestros sistemas sin
permiso de los operadores o la dirección.
Explica con detalle cómo se podría proceder al análisis y resolución del problema
mediante Data Science, indicando de donde se obtendrían los datos, qué tratamiento
deberían recibir, qué preguntas hacerse para resolver el problema, qué datos y
gráficos se obtendrían, y cómo se comunicarían estos.

a. ¿Qué estamos buscando?


De la información encontrada estamos buscando el equipo o usuario que
habilitó servicios sin autorización.
a. ¿Dónde obtener los datos?

Se procede a obtener los logs o registros tcp en el servidor que fue donde
registro cada conexión.

b. Una vez que estemos con los registros logs, procedemos hacer una análisis
utilizando la herramienta R, la misma que nos permitirá organizar, clasificar y
interpretar de mejor manera la información

Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
3
c. Lo siguiente que haríamos es filtrar la información en base a las siguientes
preguntas. ¿cuáles son los servicios más utilizados? ¿Qué servicio reciente fue
iniciado? ¿Cuáles son las pc que utilizaron el servicio menos utilizado?

d. Una vez que tengamos los servicios nuevos, o menos usados la probabilidad de
encontrar al usuario que buscamos aumentaría.

e. Para presentar esa información se debe elaborar un documento formal en el


que explique y responda todas las preguntas planteadas, además de mostrar un
gráfico en el que se note claramente los posibles equipos implicados en en
incidente mediante mostrar patrones, hechos destacados, relaciones.

2. Introducción a R
Pregunta 3:
Para esta pregunta se requiere usar R. Indica aquí tu código de solución, justificando
cada decisión y detalle, con el retorno de consola R si hace falta. Asegúrate de entregar
también el código en un fichero aparte, para poder ejecutarse directamente en un
terminal limpio de R.
Disponemos de una tabla de personas en un Data.Frame definido como:
df <- data.frame(Nombre = c("Pepe","Juan","Maria","Antonia"), Edad = c(15, 35, 25,
41), Ciudad = c("Barcelona","Castello","Girona","Alacant") ); #Añade esta definición a
tu código
Indica cómo obtener y qué retorna la consola

Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
4
1. Ver la clase de cada columna de nuestra tabla de personas

sapply(df, class)

2. Ver las personas con edad mayor a 27 años

df[df$Edad > 27, "Nombre"]

3. Calcular la media de edad de las personas que son de Castelló y Alacant, sobre
este data.frame u otro data.frame con la misma estructura y diferentes
registros. Aplicar sobre este data.frame como ejemplo.

mean(c(df[df$Ciudad == "Castello", "Edad"],df[df$Ciudad == "Alacant" ,


"Edad"]))

Pregunta 4:
Para esta pregunta se requiere usar R. Indica aquí tu código de solución, justificando
cada decisión y detalle, con el retorno de consola R si hace falta. Asegúrate de entregar
también el código en un fichero aparte, para poder ejecutarse directamente en un
terminal limpio de R.
Disponemos de una lista definida como:
l1 <- list(A = seq(from = 10, to = 122, by = 4), B = letters[3:13], C = c("Juanito"), D =
(1:30 %% 5 == 0 | 1:30 %% 3 == 0)); #Añade esta definición a tu código
Indica cómo obtener y qué retorna la consola

Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
5
1. Encontrar de qué clase es cada elemento de la lista

sapply(l1, class)

2. Para aquellos elementos que sean de tipo carácter, convertirlos en variables de


factor, y devolver una lista con estos cambios

l1$B <- as.factor(l1$B)


l1$C <- as.factor(l1$C)

3. Seleccionar aquellos valores del elemento “A”, según lo que se nos indique el
elemento “D” (seleccionar aquellos tal que “D” nos diga que CIERTO)

l1$A[l1$D == TRUE]

Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
6
Pregunta 5:
Para esta pregunta se requiere usar R. Indica aquí tu código de solución, justificando
cada decisión y detalle, con el retorno de consola R si hace falta. Asegúrate de entregar
también el código en un fichero aparte, para poder ejecutarse directamente en un
terminal limpio de R.
Disponemos de un vector definido como:
v1 <- seq(from = 5, to = 15, by = 2);
Indica cómo obtener y qué retorna la consola
1. Crear una función que, teniendo un vector numérico como parámetro, retorne
la suma de los elementos en posición par del vector. Usa vectorización (en vez
de bucles que recorran todo el vector) allá donde puedas. Aplicar sobre nuestro
vector v1 como ejemplo.

funcion <- function(x)


{print(x)
return(sum(x[seq(2,length(x),2)]))}
suma <- funcion(v1)
suma

2. Crear una función que, teniendo un vector numérico como parámetro, retorne
una lista con el máximo valor, el mínimo valor, y la longitud del vector (sin
tener que recorrer el vector, usando las funciones nativas de R). Aplicar sobre
nuestro vector v1 como ejemplo.
funcion2 <- function(x){
return(list(max = max(x),min = min(x),long = length(x)))
}
valores <- funcion2(v1)
valores

Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
7
Actividad Evaluable 1
Monitorización y Data Mining 2022-2023
8

You might also like