Está en la página 1de 11

Mineradedatos Lamineradedatos(DM,DataMining)consisteenlaextraccinnotrivialdeinformacinque residedemaneraimplcitaenlosdatos.Dichainformacinerapreviamentedesconocidaypodr resultartilparaalgnproceso.Enotraspalabras,lamineradedatosprepara, sondeayexploralosdatosparasacarlainformacinocultaenellos. Bajoelnombredemineradedatosseenglobatodounconjuntodetcnicasencaminadasa laextraccindeconocimientoprocesable,implcitoenlasbasesdedatos.Estfuertemente ligadoconlasupervisindeprocesosindustrialesyaqueresultamuytilparaaprovecharlos datosalmacenadosenlasbasesdedatos.

Proceso
Unprocesotpicodemineradedatosconstadelossiguientespasosgenerales: Seleccindelconjuntodedatos,tantoenloqueserefierealasvariablesobjetivo(aquellasquese quierepredecir,calcularoinferir),comoalasvariablesindependientes(lasquesirvenparahacer elclculooproceso),comoposiblementealmuestreodelosregistrosdisponibles.
Anlisisdelaspropiedadesdelosdatos,enespeciallos histogramas,diagramasde dispersin,presencia de valores atpicos yausenciadedatos(valores nulos). Transformacindelconjuntodedatosdeentrada,serealizardediversasformasenfuncindelanlisis previo,conelobjetivodeprepararloparaaplicarlatcnicademineradedatosquemejorseadaptealos datosyalproblema,aestepasotambinseleconocecomo preprocesamiento delosdatos. Seleccionaryaplicarlatcnicademineradedatos,seconstruyeelmodelopredictivo,declasificacino segmentacin. Extraccindeconocimiento,medianteunatcnicademineradedatos,seobtieneunmodelode conocimiento,querepresentapatronesdecomportamientoobservadosenlosvaloresdelasvariablesdel problemaorelacionesdeasociacinentredichasvariables.Tambinpuedenusarsevariastcnicasalavez paragenerardistintosmodelos,aunquegeneralmentecadatcnicaobligaaunpreprocesadodiferentede losdatos. Interpretacinyevaluacindedatos,unavezobtenidoelmodelo,sedebeprocederasuvalidacin comprobandoquelasconclusionesquearrojasonvlidasysuficientementesatisfactorias.Enelcasode haberobtenidovariosmodelosmedianteelusodedistintastcnicas,sedebencompararlosmodelosen buscadeaquelqueseajustemejoralproblema.Siningunodelosmodelosalcanzalosresultados esperados,debealterarsealgunodelospasosanterioresparagenerarnuevosmodelos.

Tcnicas de minera de datos

AgrupamientooClustering.Esunprocedimientodeagrupacindeunaseriedevectoressegncriterios habitualmentededistancia;setratardedisponerlosvectoresdeentradadeformaqueestnmscercanos aquellosquetengancaractersticascomunes.Ejemplos:

AlgoritmoKmeans.
El algoritmo de k-means clustering es el referente principal entre los diversos mtodos para seleccionar grupos representativos entre los datos. Existen una serie matrices que constituyen el fundamento para la implementacin de este tipo de algoritmo, entre ellas: - Matriz de datos - Matriz de distancias - Matriz de centroides - Matriz de pertenencias Sus diferentes variantes se basan fundamentalmente en la forma de medir distancias entre los datos y los grupos, el criterio para definir la pertenencia de los datos a cada grupo y la forma de actualizar dichos grupos. Se describe a continuacin el fundamento de este algoritmo, as como la funcin equivalente en Matlab.

Matriz de datos En esta matriz se almacena el conjunto de muestras de las que se pretende obtener los puntos significativos que representen grupos a clasificar.

Esta matriz puede representarse por la siguiente estructura:

siendo su orden de nxN, donde N es el nmero de observaciones o muestras de que se dispone y n son los rasgos que caracterizan a cada muestra, adquirida del sistema al que representa. La siguiente figura representa el caso de n=2 y N=7, con dos clusters o centros de grupos representativos.

Por ejemplo, una matriz z definida por:

>> z=[1 1 1 2 3 4 5 5 5; 1.5 2 2.5 2 2 2 1.5 2 2.5] >> plot(z(1,:),z(2,:),'vb')

Se representa en la siguiente figura

Matriz de distancias La matriz de distancias es donde se almacena la distancia de cada punto de la matriz de datos a cada centro de grupo o centroide, cuyo tamao es cxN, siendo c el nmero de clusters.

donde cada componente dij representa la distancia de la muestra j ( j=1:N) al centroide i (i=1:c). El significado de cada componente de la matriz (2) se representa en la siguiente figura

Uno de los elementos que caracterizan a este algoritmo de clustering es que se debe definir el nmero de clusters que se desean obtener. Supngase que se desea obtener dos clusters de la matriz de dato:

>> z=[1 1 1 2 3 4 5 5 5; 1.5 2 2.5 2 2 2 1.5 2 2.5]

Las condiciones iniciales de los clusters se considera que son el primer y ltimo valor, ello es:

>> v=[1 5; 1.5 2.5]

Si se utiliza la distancia eucldea como medida de distancias entre cada elemento de la muestra y los centroides, entonces se cumple

Seejecutaelsiguienteprogramaquecalculalamatrizdedistancias >>z=[111234555;1.522.52221.522.5] >>v=[15;1.52.5] %Calculadistanciasutilizandolanormaeuclidiana [n,N]=size(z);%Matrizdedatos [n,c]=size(v);%Matrizdecentroides fori=1:c forj=1:N tempp=0; fork=1:n temp(k)=(z(k,j)v(k,i))^2; tempp=tempp+temp(k); end d(i,j)=sqrt(tempp); end end

devolviendo la matriz de distancias

>> d d= 0 0.5000 1.0000 1.1180 2.0616 3.0414 4.0000 4.0311 4.1231 4.1231 4.0311 4.0000 3.0414 2.0616 1.1180 1.0000 0.5000 0

Adems de la norma euclidiana, existen otras formas de medir distancias entre la matriz de datos y la matriz de centroides Matriz de clusters o centroides Los centroides que se generen durante la evolucin del algoritmo de clustering van siendo almacenados en la matriz v(nxc), siendo n el nmero de rasgos que caracterizan a cada cluster y c el nmero de grupos que deben definirse antes de aplicar el algoritmo. La matriz de centroides se representa por

Esta matriz se actualiza continuamente durante la evolucin del algoritmo, para ello debe previamente definirse a que grupo pertenece cada muestra. Si se utiliza como criterio la mnima distancia para actualizar el valor de los centroides, entonces se debe definir la siguiente matriz

Matriz de pertenencias En la matriz de pertenencias se define la pertenencia a uno u otro grupo (normalmente normalizado en el intervalo [0, 1]). Esta matriz define la eficiencia del algoritmo de clustering, pues ser la base para actualizar los valores de los centroides. Si se define la matriz de pertenencias por

continuando con el algoritmo ejemplo de Matlab, si se considera como criterio la mnima distancia para dos centroides y se aplica el mismo en la matriz de distancias d previamente calculada, se puede implementar el siguiente programa

% Se actualiza la matriz de pertenencias % Ejemplo slo para dos grupos for j=1:N % Nmero de muestras % Se aplica el criterio de mnima distancia if d(1,j)>d(2,j) u(1,j)=0; u(2,j)=1; else u(1,j)=1; u(2,j)=0; end end

Lo cual devuelve, para una matriz de distancias

>> d d= 0 0.5000 1.0000 1.1180 2.0616 3.0414 4.0000 4.0311 4.1231 4.1231 4.0311 4.0000 3.0414 2.0616 1.1180 1.0000 0.5000 0

Una matriz de pertenencias >> u u= 1 1 1 1 1 0 0 0 0 Grupo 1 0 0 0 0 0 1 1 1 1 Grupo 2

El prximo paso del algoritmo es recalcular el valor de la matriz que representa los centros de grupo v(11). Para ello se calcula la media del valor de las muestras que pertenecen a cada grupo y esta media genera la nueva matriz de centroides, como realiza la siguiente seccin de programa

%Se calcula la media de los valores de las muestras suma=zeros(n,c); cantidad=zeros(c,1); % Cantidad de valores for c=1:2 for j=1:N if u(c,j) == 1 cantidad(c,1)=cantidad(c,1)+1; suma(:,c)=suma(:,c)+z(:,j); end end media(:,c)=suma(:,c)/cantidad(c,1); end % Se actualiza el vector de centroides v=media;

de lo cual resulta el nuevo valor de la matriz de los centroides, que aplicado sobre las condiciones iniciales es >> v v= 1.6000 4.7500 2.0000 2.0000

Considerando lo anterior, el algoritmo de k-means clustering puede resumirse por los siguientes pasos: 1.- Condiciones iniciales: Definir el nmero de centroides c y los centroides iniciales (v), basado en la matriz de datos (z). Desde i=1 hasta criterio de parada 2.- Calcular la matriz de distancias (d) 3.- Calcular la matriz de pertenencia (u) 4.- Actualizar la matriz de centroides (v) } {

Como se puede apreciar en este algoritmo, existen tres factores de primordial importancia, algunos de ellos con criterios de seleccin heurstica: 1.- Definir cual es el nmero de clusters. 2.- Seleccionar el criterio para medir distancias. 3.- Definir el criterio para determinar el grado de pertenencia a cada grupo.

Funcin kmeans de Matlab Matlab posee, en el toolbox de estadstica, una funcin que realiza el algoritmo de kmeans clustering. La sintaxis es (ejecutar; >>help kmeans): [...] = kmeans(...,'param1',val1,'param2',val2,...)

donde, entre otras variables, devuelve: a) La matriz de pertenencia b) La matriz de centroides c) La matriz de distancias. Con respecto a los parmetros de entrada, se puede definir: a) El criterio para medir la distancia entre la matriz de datos y los centroides (la medida implcita es la norma eucldea). b) La forma en que se establecen las condiciones iniciales de los centroides (de forma predeterminada escoge como valores iniciales a muestras pertenecientes a la matriz de datos). c) Nmero de iteraciones en la bsqueda de los centroides (el valor implcito es 100).

% Como ejemplo, supngase la siguiente matriz de datos >>x=[0 0 0 1 1 1 2 3 4 5 5 5 6 6 6 7 7 7 8 9 10 11 11 11 12 12 12]; >>y=[1 2 3 1.5 2 2.5 2 2 2 1.5 2 2.5 2 4 6 3 4 5 4 4 4 3 4 5 2 4 6]; >>z=[x; y]';

%Para obtener 5 centroides se aplica: >> [U, v, sumd, D]=kmeans(z,5);

%Lo cual devuelve una matriz de pertenencias >> U=U' U= 111111144444422332335555555

%basado en una matriz de distancias >>D=D' D= Columns 1 through 11 1.5102 0.5102 1.5102 0.3316 0.0816 0.3316 1.6531 5.2245 10.7959 18.6173 18.3673 56.1111 49.1111 44.1111 40.6944 37.4444 34.6944 27.7778 20.1111 14.4444 14.0278 10.7778 67.6250 63.1250 60.6250 50.6250 48.6250 47.1250 36.1250 25.6250 17.1250 12.6250 10.6250 22.7778 21.7778 22.7778 13.6944 13.4444 13.6944 7.1111 2.7778 0.4444 0.3611 0.1111 136.3673 131.3673 128.3673 112.0459 109.7959 108.0459 90.2245 72.6531 57.0816 45.7602 43.5102 Columns 12 through 22 18.6173 27.9388 31.9388 43.9388 40.5102 43.5102 48.5102 57.0816 72.6531 90.2245 106.7959 8.0278 9.1111 1.1111 1.1111 4.4444 1.4444 0.4444 3.7778 8.1111 14.4444 25.7778 9.1250 6.1250 3.1250 8.1250 1.1250 0.6250 2.1250 0.1250 1.6250 5.1250 11.1250 0.3611 1.7778 5.7778 17.7778 6.4444 9.4444 14.4444 15.1111 22.7778 32.4444 41.1111 41.7602 31.9388 27.9388 31.9388 19.3673 18.3673 19.3673 10.7959 5.2245 1.6531 1.0816 Columns 23 through 27 109.7959 114.7959 127.3673 131.3673 143.3673

22.7778 21.7778 41.1111 33.1111 33.1111 10.6250 12.1250 21.1250 18.1250 23.1250 44.1111 49.1111 53.7778 57.7778 69.7778 0.0816 1.0816 4.5102 0.5102 4.5102

%Siendo la matriz de centroides: >> v v= 0.7143 6.3333 7.7500 4.6667 11.2857

2.0000 5.0000 3.7500 2.0000 4.0000

%Lo cual puede visualizarse en la siguiente figura >> plot(z(:,1),z(:,2),'v'); >> hold on >> plot(v(:,1),v(:,2),'sr');

También podría gustarte