Tarea de Multivariado Caso Iris

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

UNIVERSIDAD PRIVADA DEL VALLE

CIENCIAS EMPRESARIALES Y SOCIALES

TAREA DE MULTIVARIADO
“CASO IRIS”

INTEGRANTE
Marilen Zenteno Garcia

DOCENTE
Virginia Fernandez Daza

FECHA
28/02/2024

BOLIVIA-COCHABAMBA
UNIVERSIDAD PRIVADA DEL VALLE

CIENCIAS EMPRESARIALES Y SOCIALES

# Cargar el conjunto de datos 'iris' (ya incluido en R)


data(iris)

# Cargar el conjunto de datos 'iris' (ya incluido en R)


> data(iris)

# Seleccionar las columnas relevantes para el análisis (en este caso, las primeras cuatro)
datos <- iris[, 1:4]

Que muestre cualquier fila del 1 al 4 para aplicar un corte y seleccionar las columnas
relevantes en el estudio

> # Seleccionar las columnas relevantes para el análisis (en este caso,
las primeras cuatro)
> datos <- iris[, 1:4]

# Aplicar el análisis de conglomerados (k-medias)


set.seed(123) # Establecer semilla para reproducibilidad
k <- 3 # Número de conglomerados
kmeans_model <- kmeans(datos, centers = k, nstart = 20)

Genera la semilla para los conglomerados , técnica de conglomerados significa que se


aplica un algoritmo a datos y busca agu}rupar los datos el ultimo el numero de veces que se
inica centroides , asignaciones
se establece la semilla de números seudos consecutivos
Este código en R se utiliza para aplicar el análisis de conglomerados (k-medias) a un
conjunto de datos. Aquí está una breve descripción de lo que hace:

set.seed(123): Esta línea establece una semilla para la generación de números


aleatorios en R. Esto garantiza que los resultados sean reproducibles, es
decir, si ejecutas el mismo código varias veces, obtendrás los mismos
resultados aleatorios.
k <- 3: Se establece el número de conglomerados que se desean obtener. En
este caso, se han especificado tres conglomerados.
kmeans_model <- kmeans(datos, centers = k, nstart = 20): Esta línea
realiza el análisis de conglomerados utilizando el algoritmo k-medias. Toma
como entrada el conjunto de datos datos, especifica el número de
conglomerados (centers = k), y nstart = 20 indica que se realizarán 20
intentos diferentes de iniciar los centroides de forma aleatoria para mejorar la
UNIVERSIDAD PRIVADA DEL VALLE

CIENCIAS EMPRESARIALES Y SOCIALES

estabilidad del modelo. El resultado se guarda en kmeans_model, que


contendrá información sobre los conglomerados encontrados y cómo se
agrupan los datos en ellos.

En resumen, este código utiliza el algoritmo k-medias para agrupar los datos en un
número predefinido de conglomerados, utilizando una semilla establecida para
reproducibilidad y múltiples intentos para iniciar los centroides de manera más
robusta.

> # Aplicar el análisis de conglomerados (k-medias)


> set.seed(123) # Establecer semilla para reproducibilidad
> k <- 3 # Número de conglomerados
> kmeans_model <- kmeans(datos, centers = k, nstart = 20)

# Mostrar los resultados del análisis de conglomerados


print(kmeans_model)

K-means clustering with 3 clusters of sizes 50, 62, 38: Indica que se encontraron tres
conglomerados, con 50, 62 y 38 observaciones respectivamente.
Cluster means: Muestra las medias de las variables para cada uno de los tres
conglomerados encontrados. Por ejemplo, para el conglomerado 1, las medias de
Sepal.Length, Sepal.Width, Petal.Length y Petal.Width son 5.006, 3.428, 1.462 y
0.246 respectivamente.
Clustering vector: Presenta la asignación de cada observación a un conglomerado. Por
ejemplo, la primera observación está asignada al conglomerado 1, la segunda
también al conglomerado 1, y así sucesivamente.
Within cluster sum of squares by cluster: Proporciona la suma de los cuadrados de las
distancias de cada punto dentro de su respectivo conglomerado. Esta métrica se
utiliza para evaluar la cohesión de los conglomerados, donde valores más bajos
indican que los puntos dentro de un conglomerado están más cercanos entre sí.

> # Mostrar los resultados del análisis de conglomerados


> print(kmeans_model)
K-means clustering with 3 clusters of sizes 50, 62, 38

Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.006000 3.428000 1.462000 0.246000
2 5.901613 2.748387 4.393548 1.433871
3 6.850000 3.073684 5.742105 2.071053

Clustering vector:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[30] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 2 2 2 2 2
[59] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2
[88] 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 3 3 3 3 2 3 3 3 3 3 3 2 2 3
[117] 3 3 3 2 3 2 3 2 3 3 2 2 3 3 3 3 3 2 3 3 3 3 2 3 3 3 2 3 3
UNIVERSIDAD PRIVADA DEL VALLE

CIENCIAS EMPRESARIALES Y SOCIALES

[146] 3 2 3 3 2

Within cluster sum of squares by cluster:

# Asignar los grupos a las observaciones en el conjunto de datos


grupos <- kmeans_model$cluster
iris_con_grupos <- cbind(iris, Grupo = grupos)

Este código en R asigna los grupos obtenidos del análisis de conglomerados (k-
medias) a cada observación en el conjunto de datos "iris" y crea un nuevo conjunto
de datos llamado "iris_con_grupos" que incluye una nueva columna llamada "Grupo"
que indica a qué grupo pertenece cada observación.

En resumen:

grupos <- kmeans_model$cluster: Extrae los números de los grupos asignados


a cada observación del modelo de k-medias (kmeans_model) y los almacena
en un vector llamado grupos.
iris_con_grupos <- cbind(iris, Grupo = grupos): Combina el conjunto de
datos original "iris" con el vector de grupos grupos usando la función cbind(),
creando así un nuevo conjunto de datos llamado "iris_con_grupos". Este
nuevo conjunto de datos incluye todas las columnas de "iris" más una nueva
columna llamada "Grupo", que contiene la asignación de grupo para cada
observación.

> # Asignar los grupos a las observaciones en el conjunto de datos


> grupos <- kmeans_model$cluster
> iris_con_grupos <- cbind(iris, Grupo = grupos)

grupos <- kmeans_model$cluster: Extrae los números de los grupos asignados a


cada observación del modelo de k-medias (kmeans_model) y los almacena en un
vector llamado grupos.
iris_con_grupos <- cbind(iris, Grupo = grupos): Combina el conjunto de
datos original "iris" con el vector de grupos grupos usando la función cbind(),
creando así un nuevo conjunto de datos llamado "iris_con_grupos". Este nuevo
conjunto de datos incluye todas las columnas de "iris" más una nueva columna
llamada "Grupo", que contiene la asignación de grupo para cada observación.
head(iris_con_grupos): Muestra las primeras filas del conjunto de datos
"iris_con_grupos" con los grupos asignados, permitiendo ver cómo se asignaron los
grupos a las observaciones de "iris".
UNIVERSIDAD PRIVADA DEL VALLE

CIENCIAS EMPRESARIALES Y SOCIALES

# Mostrar las primeras filas del conjunto de datos con los grupos asignados
head(iris_con_grupos)

head(iris_con_grupos): Esta función en R se utiliza para mostrar las primeras filas de


un conjunto de datos. Por lo tanto, head(iris_con_grupos) mostrará las primeras
observaciones del conjunto de datos "iris_con_grupos".
Resultado:
● Las columnas Sepal.Length, Sepal.Width, Petal.Length y Petal.Width
contienen las medidas de las características de las flores del conjunto de
datos Iris.
● La columna Species indica la especie de cada flor.
● La columna Grupo indica a qué grupo pertenece cada observación, según el
análisis de conglomerados (k-medias) realizado anteriormente. Cada número
en la columna Grupo representa un grupo diferente.

> # Mostrar las primeras filas del conjunto de datos con los grupos
asignados
> head(iris_con_grupos)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species Grupo
1 5.1 3.5 1.4 0.2 setosa 1
2 4.9 3.0 1.4 0.2 setosa 1
3 4.7 3.2 1.3 0.2 setosa 1
4 4.6 3.1 1.5 0.2 setosa 1
5 5.0 3.6 1.4 0.2 setosa 1
6 5.4 3.9 1.7 0.4 setosa 1

# Visualizar los resultados (usando dos variables para el gráfico, por


ejemplo, Sepal.Length y Sepal.Width)
plot(iris_con_grupos$Sepal.Length, iris_con_grupos$Sepal.Width, col =
grupos, pch = 16, main = "K-medias - Análisis de Conglomerados", xlab =
"Sepal.Length", ylab = "Sepal.Width")
points(kmeans_model$centers[, c("Sepal.Length", "Sepal.Width")], col =
1:k, pch = 8, cex = 2)
legend("topright", legend = paste("Grupo", 1:k), col = 1:k, pch = 16)

plot(iris_con_grupos$Sepal.Length, iris_con_grupos$Sepal.Width, col =


grupos, pch = 16, main = "K-medias - Análisis de Conglomerados", xlab =
"Sepal.Length", ylab = "Sepal.Width"): Esta línea crea un gráfico de dispersión
utilizando las variables Sepal.Length y Sepal.Width del conjunto de datos iris. Cada punto
en el gráfico representa una observación. El color de cada punto está determinado por el
grupo al que pertenece (indicado por la variable grupos). La forma de los puntos es un
círculo sólido (pch = 16). El título del gráfico es "K-medias - Análisis de Conglomerados", y
UNIVERSIDAD PRIVADA DEL VALLE

CIENCIAS EMPRESARIALES Y SOCIALES

los ejes están etiquetados con los nombres de las variables.


points(kmeans_model$centers[, c("Sepal.Length", "Sepal.Width")], col =
1:k, pch = 8, cex = 2): Agrega los centroides de los grupos al gráfico. Cada
centroide se representa como un punto sólido (pch = 8) y se colorea de acuerdo con el
número de grupo. El tamaño de los puntos se ajusta mediante el argumento cex.
legend("topright", legend = paste("Grupo", 1:k), col = 1:k, pch = 16):
Agrega una leyenda al gráfico que muestra el color y la forma de los puntos para cada
grupo. Cada grupo se etiqueta como "Grupo" seguido de su número correspondiente.

En resumen, este código proporciona una visualización de cómo las observaciones se agrupan en

función de las variables Sepal.Length y Sepal.Width, mostrando tanto los puntos de datos como los

centroides de los grupos en un solo gráfico.

> # Visualizar los resultados (usando dos variables para el gráfico,


por ejemplo, Sepal.Length y Sepal.Width)
> plot(iris_con_grupos$Sepal.Length, iris_con_grupos$Sepal.Width, col =
grupos, pch = 16, main = "K-medias - Análisis de Conglomerados", xlab =
"Sepal.Length", ylab = "Sepal.Width")
> points(kmeans_model$centers[, c("Sepal.Length", "Sepal.Width")], col
= 1:k, pch = 8, cex = 2)
> legend("topright", legend = paste("Grupo", 1:k), col = 1:k, pch = 16)
UNIVERSIDAD PRIVADA DEL VALLE

CIENCIAS EMPRESARIALES Y SOCIALES

También podría gustarte