Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Campus Guadalajara
Especialidad en Ciencia de Datos
Introducción al aprendizaje de máquina
REPORTE DE PRÁCTICA
IDENTIFICACIÓN DE LA PRÁCTICA
OBJETIVO
El objetivo de esta práctica consiste en implementar el algoritmo k-means multidimensional para clustering.
PROCEDIMIENTO
Realiza la implementación siguiendo estas instrucciones.
Implementa el algoritmo k-means en Matlab/Octave. Para ello, considera los siguientes requerimientos:
● Utiliza el set de datos “dataSet_kmeans2D_iris.txt”
● Utiliza los siguientes valores para los parámetros iniciales:
k=2, k=3 y k=4
Mu_t=valores aleatorios en todos los casos
● Reporta el valor final de los centroides para k=2, k=3 y para k=4. Además, reporta el número de
datos que tiene cada cluster en cada prueba.
● Comprueba tus resultados con los siguientes:
Para k=2:
Centroide 1 = [0.6036, 0.7004]
Centroide 2 = [-1.0132, -1.1758]
C1=94 datos y c2=56 datos
Para k=3
Centroide 1 = [ 0.1826, 0.5013]
Centroide 2 = [1.4684, 1.1294]
Centroide 3 = [ -1.0151, -1.2286]
C1=67 datos, c2=29 datos y c3=54 datos
Para k=4
Centroide 1 = [1.5964, 1.2152]
Centroide 2 = [-1.0146, -1.3049]
Centroide 3 = [0.5281, 0.6846]
Centroide 4 = [-0.3909, 0.1529]
C1=23 datos, c2=50 datos, c3=48 datos y c4=29
1
Universidad Panamericana
Campus Guadalajara
Especialidad en Ciencia de Datos
Introducción al aprendizaje de máquina
● Nota: de ser necesario, ejecuta varias veces el algoritmo para lograr obtener los resultados de la
comprobación. Además, los clusters y centroides no siempre coincidirán con el orden que se
muestra en los resultados de la comprobación.
IMPLEMENTACIÓN
Agrega el código de tu implementación aquí.
close all
clear all
%nomralizar datos
datos = load('C:\Users\juanc\Documents\Juancho\Escuela\8 Octavo\Inteligencia
Artificial\dataSet_kmeans2D_iris.txt');
x = datos
figure(1);
plot(x(:,1),x(:,2),'ob', 'MarkerSize', 15)
[m,n] = size(x);
media = mean(x);
sigma = std(x,1);
for i = 1: n %%Error
X_normal(:,i) = (x(:,i)-media(i))/sigma(i);
end
x=X_normal;
figure(2);
plot(x(:,1),x(:,2),'ob', 'MarkerSize', 15)
hold on
%k = 2;
k = 2;
iter_max = 5;
mini= min(x)
mini = min(mini)
maxi= max(x)
maxi= max(maxi)
while(1)
clusters = cell(1,k);
for i=1:m
for j=1: k
dist(j)=sum( (x(i)-c(j)).^2);
end
[~,ind] = min(dist);
clusters{ind} = [clusters{ind};x(i)];
end
for j=1:k
#plot(clusters{1,j},'o', 'MarkerSize', 15)
2
Universidad Panamericana
Campus Guadalajara
Especialidad en Ciencia de Datos
Introducción al aprendizaje de máquina
plot(clusters{j}(:,1),clusters{j}(:,2),clusters{j}(:,3),'.', 'MarkerSize', 10); %closter para uno u otro
#hold on
#axis([0 31 -0.5 0.5])
c_iterMas1(j)= mean(clusters{j});
end
#plot(c,ones(1,k)*0.1, '*r')
plot(c,ones(1,k), '*r')
plot(c(:,1),c{j}(:,2),c(:,3),'*', 'MarkerSize', 10);
pause(0.5)
#hold off
if sum(sqrt((c_iterMas1-c).^2))<= eps
break
end
c = c_iterMas1;
end
RESULTADOS
Agrega la(s) imagen(es) con los resultados obtenidos en los espacios indicados.
Gráfica de los datos con los centroides iniciales Gráfica de los datos clusterizados con los
para k=2 centroides finales para k=2
3
Universidad Panamericana
Campus Guadalajara
Especialidad en Ciencia de Datos
Introducción al aprendizaje de máquina
Gráfica de los datos con los centroides iniciales Gráfica de los datos clusterizados con los
para k=3 centroides finales para k=3
4
Universidad Panamericana
Campus Guadalajara
Especialidad en Ciencia de Datos
Introducción al aprendizaje de máquina
Gráfica de los datos con los centroides iniciales Gráfica de los datos clusterizados con los
para k=4 centroides finales para k=4
5
Universidad Panamericana
Campus Guadalajara
Especialidad en Ciencia de Datos
Introducción al aprendizaje de máquina
CONCLUSIONES
Escribe tus observaciones y conclusiones.
En esta actividad se aplicaron técnicas desarrolladas en lo largo del semestre, clasificar los datos de manera
multidimensional fue algo más complejo, no se logró terminar de manera eficiente esta actividad, de manera que,
como se ve en las capturas se muestran los centroides en la gráfica de los datos normalizados.