Professional Documents
Culture Documents
Francisco Herrera
Grupo de Investigacin SCI2S
Dpto. Ciencias de la Computacin e I.A.
Universidad de Granada
Jos Riquelme, Roberto Ruiz
Grupo de Investigacin MLG
Dpto. Lenguajes y Sistemas Informticos
Universidad de Sevilla
Reunin Red Nacional DM & ML
Madrid, 6-7 Mayo, 2004
Preprocesamiento de Datos
Sumario
9 Introduccin
9 Importancia de la Preparacin de Datos
9 Qu incluye la Preparacin de Datos?
9 Reduccin de Datos
9 Seleccin de Instancias
9 Seleccin de Caractersticas
Preprocesamiento de Datos
Introduccin
D. Pyle, 1999, pp. 90:
Preprocesamiento de Datos
Introduccin
Problem
Specification
Resourcing
Data Mining
Data Preparation
Data Collecting
Data cleaning
Data Transformation
Data Reduction
Preprocesamiento de Datos
Importancia de la Preparacin de Datos
1. Los datos reales pueden ser impuros, pueden conducir
a la extraccin de patrones/reglas poco tiles.
Esto se puede deber a:
Datos Incompletos: falta de valores de atributos,
Datos con Ruido
Datos inconsistentes (incluyendo discrepancias)
Preprocesamiento de Datos
Importancia de la Preparacin de Datos
2. La preparacin de datos puede generar un conjunto de
datos ms pequeo que el original, lo cual puede
mejorar la eficiencia del proceso de Minera de Datos.
Esta actuacin incluye:
Seleccin relevante de datos: eliminando registros
duplicados, eliminando anomalas,
Reduccion de Datos: Seleccin de caractersticas,
muestreo o seleccin de instancias, discretizacin.
Preprocesamiento de Datos
Importancia de la Preparacin de Datos
3. La preparacin de datos genera datos de calidad, los
cuales pueden conducir a patrones/reglas de calidad.
Por ejemplo, se puede:
Recuperar informacin incompleta.
Eliminar outliers
Resolver conflictos,
Preprocesamiento de Datos
Qu incluye la Preparacin de Datos?
El Preprocesamiento de Datos / La Preparacin de
Datos engloba a todas aquellas tcnicas de anlisis de
datos que permite mejorar la calidad de un conjunto de
datos de modo que las tcnicas de extraccin de
conocimiento/minera de datos puedan obtener mayor y
mejor informacin (mejor porcentaje de clasificacin,
reglas con ms completitud, etc.)
Bibliografa:
S. Zhang, C. Zhang, Q. Yang. Data preparation for data mining.
Applied Artificial Intelligence 17:5-6, 375-381, 2003.
Special Issue Data Cleaning and Preprocessing: 13 artculos
Preprocesamiento de Datos
Qu incluye la Preparacin de Datos?
Es difcil dar una lista exacta de tareas o tpicos.
Diferentes autores dan diferentes tareas y clasificacines.
Se pueden incluir las siguientes tareas o tpicos:
-
Data cleaning
Data transformation
Preprocesamiento de Datos
Qu incluye la Preparacin de Datos?
Data collecting and integration
Obtiene los datos de diferentes fuentes de informacin
Resuelve problemas de representacin y codificacin
Integra los datos desde diferentes tablas para crear
informacin homognea, ...
Bibliografa
especfica para
cada aplicacin.
Bibliografa:
V. Detours, J. E. Dumont, H. Bersini and C. Maenhaut. Integration
and cross-validation of high-throughout gene expression data:
Ejemplo en el mbito comparing heterogeneous data sets, FEBS Letters 546:1, 2003,
de la Bioinformtica 98-102.
Preprocesamiento de Datos
Qu incluye la Preparacin de Datos?
Data cleaning
Resuelve conflictos entre datos
Elimina outliers
Chequea y resuelve problemas de ruido, valores
perdidos,
Bibliografa:
W. Kim, B. Choi, E-K. Hong, S-K. Kim. A Taxonomy of Dirty Data.
Data Mining and Knowledge Discovery 7, 81-99, 2003.
Preprocesamiento de Datos
Qu incluye la Preparacin de Datos?
Data transformation
Los datos son transformados o consolidados de forma
apropiada para la extraccin de informacin.
Diferentes vas:
Sumarizacin de datos
Operaciones de agregacin, etc.
Bibliografa:
T. Y. Lin. Attribute Transformation for Data Mining I: Theoretical
Explorations. International Journal of Intelligent Systems 17,
213-222, 2002.
Preprocesamiento de Datos
Qu incluye la Preparacin de Datos?
Data reduction
Selecciona datos relevantes para la tarea de la minera
de datos/extraccin de informacin.
Diferentes vas para la Reduccin de Datos:
Seleccin de Caractersticas
Seleccin de Instancias
Discretizacin
Preprocesamiento de Datos
Reduccin de Datos
Reduccin
de Datos
Seleccin de
Caractersticas
Seleccin de
Instancias
Discretizacin
Apretujamiento de
Instancias
Data Squashing
Preprocesamiento de Datos
Reduccin de Datos
Reduccin
de Datos
Seleccin de
Caractersticas
Seleccin de
Instancias
Discretizacin
Apretujamiento de
Instancias
Data Squashing
Bibliografa:
H. Liu, H. Motoda. Feature Selection for Knowledge Discovery
and Data Mining. Kluwer Academic, 1998.
H. Liu, H. Motoda (Eds.) Feature Extraction, Construction, and
Selection: A Data Mining Perspective, Kluwer Ac., 1998.
Preprocesamiento de Datos
Reduccin de Datos
Reduccin
de Datos
Seleccin de
Caractersticas
Seleccin de
Instancias
Discretizacin
Apretujamiento de
Instancias
Data Squashing
Bibliografa:
H. Liu, F. Hussain, C.L. Tan, M. Dash. Discretization: An Enabling
Technique. Data mining and Knowledge Discovery 6, 393-423,
2002.
Preprocesamiento de Datos
Reduccin de Datos
Reduccin
de Datos
Seleccin de
Caractersticas
Seleccin de
Instancias
Discretizacin
Apretujamiento de
Instancias
Data Squashing
Bibliografa:
A. Owen, Data Squashing by Empirical Likelihood.
Data Mining and Knowledge Discovery 7, 101-113, 2003.
Preprocesamiento de Datos
Reduccin de Datos
Reduccin
de Datos
Seleccin de
Caractersticas
Seleccin de
Instancias
Discretizacin
Apretujamiento de
Instancias
Data Squashing
Bibliografa:
T. Reinartz. A Unifying View on Instance Selection.
Data Mining and Knowledge Discovery 6, 191-210, 2002.
Preprocesamiento de Datos
Seleccin de Instancias
Seleccin de
Instancias
Sampling
Boosting
Seleccin de
Prototipos
Aprendizaje
basado en
Instancias
Aprendizaje
Activo
Preprocesamiento de Datos
Seleccin de Instancias
Seleccin de
Prototipos
Seleccin
Basada en
Reglas NN
Seleccin Basada
en Eliminacin
Ordenada
Sampling
Algoritmos
Evolutivos
Muestreo
Aleatorio
Preprocesamiento de Datos
Seleccin de Instancias
Estrategia de Seleccin de Prototipos
Preprocesamiento de Datos
Seleccin de Instancias
Estrategia de Seleccin de Conjuntos de Entrenamiento
Data Mining
Algorithm
Preprocesamiento de Datos
Seleccin de Instancias
J.R. Cano, F. Herrera, M. Lozano. Using Evolutionary
Algorithms as Instance Selection for Data Reduction in KDD: An
Experimental Study.
IEEE Trans. on Evolutionary Computation 7:6, 561-575, 2003.
Algunos Resultados
Medium size data sets
Preprocesamiento de Datos
Seleccin de Instancias
Classification con
reduction rate >
70%.
Seleccin de
Prototipos
%Reduccin
(%Ac. 1-NN+%Rd.)/2
CHC
Ib2
Drop1
Cnn
Drop3
PBIL
Ib3
CHC
Ennrs
Cnn
CHC
Ennsr
Drop3
Rmhc
Rnn
Rmhc
Drop2
Ib2
Drop3
Rnn
Drop1
Icf
Cnn
Drop1
Ib3
Ib2
PBIL
Icf
Rnn
Rmhc
Icf
Drop2
Ennrs
Ib3
PBIL
Drop2
Preprocesamiento de Datos
Seleccin de Instancias
%Reduction
CHC
PBIL
CHC
Ib2
Rmhc
Rmhc
Classification
con reduction
rate > 70%.
Drop1
CHC
Ennrs
Cnn
Ib3
Drop1
Drop3
Ennrs
Drop3
Seleccin de
Conjuntos de
Entrenamiento
Rnn
Drop2
Icf
Rmhc
Icf
Cnn
Icf
Drop1
Ib3
Drop2
Drop3
PBIL
Ennrs
Cnn
Drop2
Ib3
Rnn
Rnn
PBIL
Ib2
Ib2
Preprocesamiento de Datos
Seleccin de Instancias
El orden de los algoritmos es superior a O(n2) y suele
estar en orden O(n3) .
Cmo realizar la seleccin de instancias con grandes
bases de datos?
Combinamos una estrategia de estratificacin con los
algoritmos de seleccin de instancias.
Preprocesamiento de Datos
Seleccin de Instancias
Data Set
T1
IS
T2
IS
T3
IS
Tt
IS
SS1
SS2
SS3
SSt
TR1
TR2
TR3
TRt
TS1
TS2
TS3
TSt
Estrategia de Estratificacin
Preprocesamiento de Datos
Seleccin de Instancias
Conjuntos de datos:
Name
Adult
30132
14
Kdd Cup99
494022
41
23
Preprocesamiento de Datos
Seleccin de Instancias
Adult. Nmero de estratos: 10
Execution
Time(sec)
Rules
Number
C4.5
327
Cnn Strat
21
Drop1 Strat
44
Drop2 Strat
%
Reduction
C4.5
%Ac. Trn
%Ac. Test
88.72%
85.40%
97.34%
52.17%
36.45%
95.09%
24.92%
26.31%
48
179
70.33%
85.61%
83.09%
Drop3 Strat
41
75
95.57%
82.96%
77.29%
Ib2 Strat
12
99.57%
49.42%
36.37%
Ib3 Strat
162
76.69%
85.17%
82.73%
Icf Strat
33
138
85.62%
79.99%
82.21%
20172
99.38%
83.78%
82.76%
CHC Strat
Preprocesamiento de Datos
Seleccin de Instancias
Kdd Cup99. Nmero de estratos: 100
Execution Rules
Time(sec) Number
%
Reduction
C4.5
%Ac Trn
%Ac Test
99.97%
99.94%
265
252
83
81.61%
98.48%
96.43%
Drop1 Strat
111
99.97%
38.63%
34.97%
Drop2 Strat
105
82
76.66%
81.40%
76.58%
Drop3 Strat
131
49
56.74%
77.02%
75.38%
Ib2 Strat
48
82.01%
95.81%
95.05%
Ib3 Strat
74
78.92%
99.13%
96.77%
Icf Strat
242
68
23.62%
99.98%
99.53%
CHC Strat
1960
99.68%
98.97%
97.53%
C4.5
Cnn Strat
Preprocesamiento de Datos
Seleccin de Instancias
Adult
30132
No.
Variables
No. Reglas
No. Variables/
regla
Confidencia de
las Reglas
N(Cond,Clas)/N
C4.5
IS-CHC/
C4.5
C4.5
IS-CHC/
C4.5
C4.5
IS-CHC/
C4.5
359
14
0.003
0.167
14
Preprocesamiento de Datos
Seleccin de Instancias
Recientemente se han publicado diferentes
aproximaciones al problema de Seleccin de Instancias.
J.C. Riquelme, J.S. Aguilar-Ruiz, M. Toro. Finding representative
patterns with ordered projections. Pattern Recogition 36 (2003)
1009-1018.
Preprocesamiento de Datos
Seleccin de Instancias
S-W. Kim, B.J. Oommen. Enhancing prototype reduction schemes
with LVQ3-type algorithms. Pattern Recognition 36 (2003) 10831093.
Preprocesamiento de Datos
Seleccin de Instancias
S. Papadimitriou, S. Mavroudi, L. Vladutu, A.Bezerianos. Generalized
radial basis function neural networks trained with instance based
learning for data mining of symbolic data. Applied Intelligence 16
(2002) 223-234.
P.C. Pendaharkar, J.A. Rodger. Technical efficiency-based selection of
learning cases to improve forecasting accuracy of neural networks
under monotonicity assumption. Decision Support Systems 36
(2003)117-136.
Preprocesamiento de Datos
Seleccin de Instancias
Conclusiones
La seleccin de instancias puede permitir mejorar la
precisin/interpretabilidad de los mtodos de aprendizaje
automtico.
Existen evidencias de buen comportamiento combinando
seleccin de instancias y los mtodos de aprendizaje.
Para cada mtodo de aprendizaje puede ser necesario
disear un mecanismo de seleccin de instancias que sea
cooperativo con el propio mtodo de aprendizaje.
Preprocesamiento de Datos
Seleccin de Caractersticas
Sumario
9 Introduccin
9Proceso general para la SA
9Esquemas/Framework
9Catalogacin de algoritmos existentes
9Distintas Clasificaciones
9Tendencias
Preprocesamiento de Datos
Seleccin de Caractersticas
Introduccin
La SA pretende elegir atributos que sean relevantes
para una aplicacin y lograr el mximo rendimiento con
el mnimo esfuerzo. El resultado de la SA sera:
Menos datos los algoritmos pueden aprender ms rpidos
Mayor exactitud el clasificador generaliza mejor
Resultados ms simples ms fcil de entender
Menos atributos evitar obtenerlos posteriormente
Preprocesamiento de Datos
Seleccin de Caractersticas
Proceso para la SA
La SA se puede considerar como en problema de bsqueda
{}
Datos
originales
(GS)
Generacin
Subconjuntos
Subconjunto
atributos
(CE)
Criterio
Evaluation
{1,2}
{1}
{2}
{3}
{4}
{1}{3}
{2,3}
{1,4}
{2,4}
{1,2,3}
no
Criterio
Parada
si
Subconjunto
Seleccionado
{3,4}
Preprocesamiento de Datos
Seleccin de Caractersticas
Estudios realizados
P. Langley (1994). Selection of Relevant Features in Machine
Learning. Procs. of the AAAI Fall Symposium on Relevance. AAAI
Press, New Orleans, LA.
Preprocesamiento de Datos
Seleccin de Caractersticas
Estudios realizados
J. Doak (1994). An Evaluation of Search Algorithms for Feature
Selection. Informe tcnico, Safeguards Systems Group. Los
Alamos National Laboratory.
Establece tres categoras para las estrategias de bsqueda: exponencial O(2N),
secuencial O(N2) y aleatoria O(?).
Clasifica las medidas de evaluacin basndose en la naturaleza de estas: filtro,
wrapper y wrapper modificado.
Preprocesamiento de Datos
Seleccin de Caractersticas
Esquemas
L.C. Molina, L. Belanche and A. Nebot (2002). Feature Selection
Algorithms: A Survey and Experimental Evaluation. In Proc. of the
International Conference on Data Mining (ICDM'02), IEEE C.S.
Propone un criterio para evaluar el rendimiento de un algoritmo de SA con respecto
a las particularidades de relevancia, irrelevancia, redundancia y tamao de la
muestra.
Caracterizacin de algoritmos de SA.
Preprocesamiento de Datos
Seleccin de Caractersticas
Medida de Evaluacin
Caracterizacin
Divergencia
Precisin
Consistencia
Informacin
Dependencia
Distancia
Generacin de sucesores
Esquema de Generacin
Exponencial
Secuencial
Aleatoria
Completa
Heurstica
No-determinista
Adelante
Atrs
Aleatoria
Compuesta
Ponderada
Organizacin
de la Bsqueda
Preprocesamiento de Datos
Seleccin de Caractersticas
Creterio de
evaluacin
Distancia
Informacin
Estrategia de Bsqueda
Exponencial / Completa
Secuencial / Heurstica
Ad: BFF
At: B&B , Bobr88
Ad: Segen
P: ReliefF
At: MDLM
Ad: SFG
At: SBG, DTM, Koller
Ad: CFS
Ad: POE+ACC
P: PRESET
C: FCBC
Dependencia
Consistencia
Precisin
Al/Ad: BS
At: AMB&B, OBLIVION
Ad: Ichi-Skla
Aleatoria / No
determinista
P: ReliefF
Cualquiera
Ad: SFG
At: SBG
Inf+Presic
Ad: BBHFS
C: Xing
Preprocesamiento de Datos
Seleccin de Caractersticas
Distintas Clasificaciones
1. Segn la evaluacin:
2. Disponibilidad de la clase:
filter
Supervisados
wrapper
No supervisado
3. Segn la bsqueda:
Completa O(2N)
Heurstica O(N2)
Aleatoria ?
Preprocesamiento de Datos
Seleccin de Caractersticas
Algoritmos Ranking
Devuelven una lista de atributos ordenados segn algn
criterio de evaluacin.
Entrada: x atributos - U criterio evaluacin
Lista = {}
Para cada Atributo xi, i {1,...,N}
vi = calcular(xi,U)
situar xi dentro de Lista conforme vi
Salida: Lista, atts ms relevantes al principio
Preprocesamiento de Datos
Seleccin de Caractersticas
Algoritmos Subconjunto de atributos
Devuelven un subconjunto de atributos optimizado segn
algn criterio de evaluacin.
Entrada: x atributos - U criterio evaluacin
Subconjunto = {}
Repetir
Sk = generarSubconjunto(x)
si existeMejora(S, Sk,U)
Subconjunto = Sk
Hasta CriterioParada()
Salida: Lista, atts ms relevantes al principio
Preprocesamiento de Datos
Seleccin de Caractersticas
Sistemas de SA
Preprocesamiento de Datos
Seleccin de Caractersticas
Comparison table of the discussed method.
Generation
Evaluation
B&B
MDLM
Focus
complete
complete
complete
distance
information
consistency
y
y
n
y
y
y
n
n
y
Relief
DTM
POE+ACC
heuristic
heuristic
heuristic
distance
information
dependency
y
y
y
y
y
y
y
y
y
y
y
-
n
y
y
y
-
n
n
n
LVF
random
consistency
y*
y**
y++
y*
Method
*note : "classifier error rate" not included (ie. Depend on specify classifier).
Preprocesamiento de Datos
Seleccin de Caractersticas
Sistemas de SA
Preprocesamiento de Datos
Seleccin de Caractersticas
Incremento de los datos
Algoritmos hbridos: Combinan las ventajas de los algoritmos tipo
filtro (rapidez) y wrapper (precisin)
S. Das (2001). Filters, Wrappers and a Boosting-Based Hybrid for
Feature Selection, ICML, p. 74-81. Morgan Kaufmann Publishers.
Utiliza el concepto de Boosting.
E.P. Xing, M.I. Jordan and R.M. Karp (2001). Feature Selection for
High-Dimensional Genomic Microarray Data, ICML, p. 601-608.
Morgan Kaufmann Publishers.
Selecciona atts con IG alta y se reducen mediante Markov.
Preprocesamiento de Datos
Seleccin de Caractersticas
Incremento de los datos
H. Liu, H. Lu and L. Yu (2003). Active Sampling: An Effective
Approach to Feature Selection. SIAM ICDM.
Selecciona las instancias con mayor probabilidad de tener informacin determinante
de la relevancia de los atributos.
Preprocesamiento de Datos
Seleccin de Caractersticas
Validaciones
10 fcv
Test File
(10%)
10 Runs
Classifier
% Acc.
Size
N Atts
BDs
Training File
(E 90%)
Selectors
Reduced
Training
File (E)
Reduce
Classifier
% Acc.
Size
N Atts
Preprocesamiento de Datos
Seleccin de Caractersticas
Validaciones
Selectors
BDs
Reduced
BDs
Classifier
Classifier
% Acc.
Size
N Atts
% Acc.
Size
N Atts
Seleccin de Caractersticas
Validacin algoritmos ranking
Atributos
A1
A2
A3
A4
A5
A6
A7
A8
A9
Ranking
A5
A7
A4
A3
A1
A8
A6
A2
A9
80
82
81
83
83
85
84
83
84
A5
A7
A4
A3
A1
A8
(6 atributos)
Mejor
Subconjunto
Preprocesamiento de Datos
Validacin algoritmos ranking
Glass2-C4.5
Segment-NB
Sonar-C4.5
Preprocesamiento de Datos
Seleccin de Caractersticas
Conclusiones
La seleccin de atributos puede permitir mejorar la
precisin e interpretabilidad de los mtodos de aprendizaje
automtico, adems de reducir el tamao de la BD y el
tiempo de los algoritmos de aprendizaje.
Para diferentes aplicaciones puede convenir distintos
algoritmos de seleccin de caracterstica.
Preprocesamiento de Datos
Conclusiones
El preprocesamiento de datos suele ser una necesidad cuando
se trabaja con una aplicacin real, con datos obtenidos
directamente del problema.
Una ventaja: El preprocesamiento de datos permite aplicar los
modelos de Aprendizaje/Minera de Datos de forma ms rpida
y sencilla, obteniendo modelos/patrones de ms calidad:
precisin e/o interpretabilidad.
Un inconveniente: El preprocesamiento de datos no es un
rea totalmente estructura con una metodologa concreta de
actuacin para todos los problemas.
Cada problema puede requerir una actuacin diferente,
utilizando diferentes herramientas de preprocesamiento.