Material Metodos Mineria Datos Aplicaciones Tiempo Real
Material Metodos Mineria Datos Aplicaciones Tiempo Real
Material Metodos Mineria Datos Aplicaciones Tiempo Real
RESUMEN
En este artculo se presenta una visin general de algunos mtodos usados en minera de datos para ambientes de tiempo real. Se identifica una clasificacin a priori de los mtodos de minera, enfocados en el tema para narrar de una forma ordenada este estado del arte.
4.2.1.3. de datos
Palabras Clave
Minera de Datos, aplicaciones, tiempo real, en lnea, algoritmos, flujos de Datos (Data Streams).
4.2.3
Mtodos Agrupadores
CONTENIDO
1. 2. INTRODUCCIN EL CONCEPTO DE TIEMPO REAL 2.1. 2.2. 3. CONTEXTO TERMINOLOGA
GENERALIDADES 3.1. ORGENES 3.2. CUADRO SINPTICO SOBRE LA MINERA DE DATOS EN TIEMPO REAL 3.3. LO QUE NO EST CUBIERTO
4.2.3.1. Un marco de trabajo para agrupamiento en flujos de datos 4.2.3.2. Agrupamiento Proyectado sobre Flujos de Datos Altamente Dimensionales 4.2.3.3. Un marco de trabajo para agrupamiento proyectado sobre flujos de datos altamente dimensionales 4.2.3.4. Agrupamiento en lnea de flujos de datos paralelos 4.2.3.5. Un marco de trabajo para diagnosticar cambios en flujos de datos que evolucionan 4.2.3.6. Agrupamiento binario: Flujos de datos con K-means 4.2.3.7. Algoritmos de flujos de datos para un agrupamiento refinado
4.2.4
4.
MINERA EN TIEMPO REAL 4.1. 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.2. 4.2.1 INVESTIGADORES CHARU AGGARWAL JIAWEI HAN PEDRO DOMINGOS PHILIP S. YU JOO GAMA OTROS AUTORES DESTACADOS MTODOS INVESTIGADOS Mtodos Clasificadores
4.2.4.1. Algoritmos de tiempo real para correspondencia de cadenas y reconocimiento de palndromos 4.2.4.2. Un marco de trabajo intuitivo para entender cambios en flujos de datos
4.2.5
4.2.5.1. Deteccin de cambio en flujos de datos 4.2.5.2. Clasificacin en lnea de flujos de datos no estacionarios 4.2.5.3. Algoritmos incrementales Info-Difusos para minera de datos en tiempo real de flujos de datos no estacionarios
5. 6. 7.
4.2.1.1. Un modelo de clasificacin bayesiano para la deteccin de intrusos en tiempo real 4.2.1.2. rboles de decisin de flujos de datos espaciales usando Peano Count Trees
1. INTRODUCCIN
El concepto de tiempo real, en lo que tiene que ver con minera de datos, es un tema relativamente reciente. Sin embargo, es una nocin transversal para la gran mayora de mtodos de minera que existen; es decir, se pueden tener aplicaciones que respondan en cualquier momento, y que basen su arquitectura en algoritmos de clasificacin o agrupamiento, indistintamente. En este estado del arte se mostrarn varios trabajos realizados hasta el momento sobre minera de datos en ambientes de tiempo real, con el nico objeto de saber que hay hasta el momento en cuanto a investigaciones sobre el tema, cual es la tendencia, grupos e investigadores especialistas, y sobre todo, llegar a plantear una idea esquemtica de qu, cmo y por qu el concepto de tiempo real en la metodologa de minera de datos. El artculo se compone inicialmente por la definicin del tema a tratar, para luego pasar a mencionar y discutir los trabajos de investigacin alrededor del rea, y por ltimo, terminar con lo que se podra seguir investigando sobre este tema.
Dentro de una bsqueda normal, sobre minera de datos en tiempo real, es normal que aparezcan trminos como en lnea, tiempo real, aprendizaje de mquina o su trmino tal vez ms familiar en ingls machine learning, flujos de datos o su equivalencia anglosajona data streams, entre otros, que en su momento, sern mencionados de acuerdo a su contexto. De manera concreta se puede decir que el trmino tiempo real se emplea para definir mtodos o aplicaciones que requieren una respuesta casi inmediata durante su procesamiento. Se puede pensar en la ejecucin continua de algn proceso que se alimenta de datos externos que afectan su comportamiento. Este proceso se podra bautizar, como uno, de tiempo-real. Tambin se ha empleado el trmino en lnea en este artculo. Este trae consigo todo el contexto web, pues la mayor parte de procesos o aplicaciones montadas en Internet, tiene la caracterstica de ser altamente transaccionales e implcitamente se relacionan al concepto de tiempo-real; por ello, aunque no son la misma idea, para este caso, se tomarn de manera indistinta. Por otra parte, los flujos de datos o data streams que son el concepto concreto del trmino en lnea; porque son los datos que usados para recibir y transmitir informacin en la web. Sern referidos al mismo contexto. Obsrvese que los tres trminos mencionados, tienen inherente a as mismos, el concepto de tiempo. Por ltimo, se menciona el trmino aprendizaje de mquina o machine learning que es como el padre de la minera de datos; y que por ello, tambin se tuvo en cuenta.
2.1. Contexto
Cuando se toca el tema de aplicaciones en tiempo real (y ello no significa que sea absoluto) hay dos posibles puntos de vista: 1) minera sobre modelos preconstruidos y 2) minera sobre modelos en construccin. Ahora, lo ms lgico es explicar en que consiste cada uno de ellos. Un modelo en construccin cumple las siguientes condiciones: a) Aplicaciones en lnea que se estn alimentando constantemente de diferentes modalidades: por mltiples usuarios que acceden de una u otra forma a la aplicacin porque reciben datos de la red de otros medios; b) realizan predicciones o reconocen ciertos patrones en los datos a travs de un modelo que se va construyendo a medida que los datos van llegando y c) con los nuevos datos se espera que el modelo se actualice y que los valores de error vayan disminuyendo. Un modelo preconstruido, difiere del anterior, en que se basa de un modelo que ya est construido con anterioridad; el cual tom como conjunto de datos informacin histrica, pasando por todo el proceso de minera para la construccin de dicho modelo. En este artculo se tomarn los mtodos de minera que cubren el primer grupo: modelos en construccin.
3. GENERALIDADES
A continuacin se expone una serie de ideas que son bsicas para continuar con la definicin del tema en cuestin.
3.1. Orgenes
El tema de inters se ubica a mediados de los aos noventa [1], despus del nacimiento de la minera de datos, y con ella conceptos como: Adaptive software agents, teora de refinamiento, programacin de lgica inductiva, aprendizaje de redes bayesianas, bagging, boosting, stacking y voting. Con el nacimiento de la minera de datos y el boom de Internet, se abre paso a nuevas investigaciones enfocadas a explotar la riqueza de la minera de datos, en mbitos donde una respuesta inmediata se vuelve mucho ms valiosa, que un modelo construido con datos de antao e inamovibles, que pierden su inters al transcurrir del tiempo. Vlgase aclarar que existen muchos temas alrededor de la minera de datos, como los que se mencionaron en el prrafo anterior, pero se sealan para ubicar un contexto comn, pues ningn tema de investigacin nace y se desarrolla de manera nica y exclusiva; pero no se entra en detalle para no descuidar el tema central de este artculo, ya que con un tema tan amplio como este, es muy fcil irse por las ramas.
En ningn artculo dentro de esta bibliografa seleccionada, bautizan estos tipos de aplicaciones, pero se ha hecho, con el nico objeto de dar claridad dentro del curso de la lectura.
En algunos casos no fueron traducidos los trminos en ingls con el nimo de no caer en barbarismos innecesarios.
Algoritmos de Minera de Datos para Aplicaciones en Tiempo Real 3.2. Cuadro Sinptico sobre la Minera de Datos en Tiempo Real
El siguiente esquema (ver Ilustracin 1) no es una conclusin propia, pero si es una posible compilacin del trabajo de muchas personas alrededor de este tema [2][3]. A continuacin se muestra una clasificacin compacta de la minera de datos, en la que se ha trabajado el tema de mtodos en tiempo real.
Modelos para DS Resultado Patrones para DS
4.1. Investigadores
El objetivo de identificar diferentes investigadores, es sin duda, conocer las tendencias en este medio acadmico y llegar directamente a las fuentes de conocimiento. A continuacin se relacionan algunos autores representativos y una descripcin de su trabajo; para otros solo se menciona el nombre del investigador :
Minera de Datos
Mtodos
Objetivo
Prediccin para DS Clasificacin de DS Agrupamiento de DS Asociacin de DS Deteccin de Anomalas en DS Bsqueda y Recuperacin de DS Descubrimiento de Patrones en DS
Ilustracin 1. Se define el marco de trabajo de la Minera de Datos en tiempo real. Ntese que es tansversal a las diferentes tcnicas empleadas en la Minera de Datos convencional. Se abrevi el trmino Data Streams como DS para facilitar el despliegue.
4.1.4 Philip S. Yu
El Doctor Philip es el director del grupo de Herramientas y Tcnicas de Software del Centro de Investigacin del IBM Thomas J. Watson. El enfoque actual del proyecto incluye el desarrollo de algoritmos avanzados y optimizacin de tcnicas para Minera de Datos, deteccin de anomalas y personalizacin. Es editor asociado de la ACM Transactions de Tecnologa en Internet y es editor de la IEEE Transactions on knowledge and Data Engineering desde enero de 2001
4.2.1.2. rboles de decisin de flujos de datos espaciales usando Peano Count Trees
Cuando se lee la palabra Peano, se podra pensar, que es el autor de un mtodo especfico, as como el caso anterior, que era Bayes; pero realmente, Peano Count Trees es una estructura que organiza datos espaciales y que los representa de una forma comprimida y sin prdida de datos, de tal forma que facilita una clasificacin del conjunto de datos ms eficiente, al igual que otras tcnicas de minera. Para probar la efectividad del modelo realizan pruebas contra el mtodo clsico de induccin de rboles de decisin; y muestran que la construccin del modelo es significativamente ms rpida con la nueva estructura [10]. Es un artculo muy ilustrativo, y las frmulas y dems grficos empleados por los investigadores, ayuda en la comprensin de todo el proceso.
4.2.1
Mtodos Clasificadores
Previamente se consultaron algunos artculos para identificar este tema en particular [4], [5], [6], [7], [8].
4.2.2.2. Un simple algoritmo para encontrar elementos frecuentes en flujos de datos y bolsas
Los autores presentan un algoritmo para hallar tems frecuentes en flujos de datos y grupos de elementos que pueden repetirse, en el que definen un parmetro que identifica el espacio en el que trabajar el algoritmo. La idea es que usando el algoritmo para encontrar el mayor elemento, se pueda identificar un conjunto de al menos 1/ tems que incluyen todos los elementos con una frecuencia mayor a . Finalmente, hacen una demostracin formal para probar la correctitud del algoritmo; sin embargo, no hacen pruebas de desempeo ni escalabilidad, ni comparaciones con otros algoritmos de la misma clase [16].
solucin: El algoritmo HPStream. Y antes de comenzar con su explicacin definen varios conceptos alrededor de esto como son: flujos de datos proyectados, la estructura atenuante y tiempo de vida media de los datos. As, para cada registro X de un conjunto de datos, existe un tiempo T relacionado con el registro X, ya que los flujos de datos estn cambiando rpidamente en el tiempo y es necesario asociarles una prioridad de permanencia que consiste en asignarle un peso a cada registro e ir conservando los ms jvenes (de menor peso) y desechar los ms antiguos. Por ello los autores asocian el trmino tiempo de vida media como f(t0) = f(0), de tal forma que se reduce el peso de cada registro a la mitad por cada procesamiento. Despus usan el trmino proyectado para asumir el nmero de grupos y conjunto de dimensiones que sern calculadas por el algoritmo. Con esto, se cierra el algoritmo completo HPStream que agrupa flujos de datos va distancia ecludiana. Finalmente, se compara dicho algoritmo con CluStream (su predecesor) y comentan el incremento significativo en cuanto a desempeo y calidad [21]. Este artculo fue de gran utilidad acadmica. Pude identificar la problemtica existente alrededor de los flujos de datos. Sin embargo, algunos conceptos se tienden a tornar complejos debido a su fuerte contexto matemtico.
4.2.3.3. Un marco de trabajo para agrupamiento proyectado sobre flujos de datos altamente dimensionales
Este fue un trabajo previo al artculo presentado anteriormente, realizado por el mismo equipo. Aqu se definen la mayor parte de conceptos empleados en la siguiente etapa de esta investigacin [22]. La principal razn para adicionarlo al conjunto de artculos seleccionados, fue el hecho de incluir las motivaciones para realizar la investigacin y una introduccin mucho ms amplia del nacimiento del algoritmo HPStream.
4.2.3.5. Un marco de trabajo para diagnosticar cambios en flujos de datos que evolucionan
Al inicio del artculo se definen conceptos como: kernel y estimacin de densidad, que proporcionan una visin general del tema a tratar. Luego, enfatizan en la tcnica de estimacin de la velocidad de densidad y muestran como se calcula. De all, los autores definen como la velocidad temporal puede ser usada para generar perfiles de velocidad espacial, usados para proporcionar entendimiento visual de reorganizacin de datos. Finalmente se habla de datos altamente dimensionales y problemas temporales y espaciales para presentar resultados empricos, los cuales muestran un comportamiento de evolucin para diferentes conjuntos de datos [24].
No se tuvo la versin final y completa de este artculo, pero lo que se ley someramente de este, gust tanto, que se opt por adicionarlo con los dems.
4.2.5.3. Algoritmos incrementales Info-Difusos para minera de datos en tiempo real de flujos de datos no estacionarios
Este artculo es la continuacin del anterior. Como caracterstica principal, este nuevo y renovado sistema adiciona lgica difusa para contrarrestar el esfuerzo computacional en el procesamiento de los datos. Para ello, se incorpora un algoritmo que lo bautizan como el algoritmo IFN, que se basa en una estructura de redes neuronales. Prueban el algoritmo con dos conjuntos de datos; uno, con datos del tipo trfico en Internet; y otro, con datos sobre el abastecimiento de un producto. Y hacen pruebas comparativas entre el viejo OLIN y el mejorado [31].
5. TEMAS DE INVESTIGACIN
Dada la importancia de este tema han surgido varias investigaciones y actualmente se estudian varios casos que aqu se mencionan de manera general: [32] Uno, manejo de datos: Bases de datos tradicionales con la variante de ser alimentadas con datos altamente cambiantes en el tiempo. [33] Dos, requerimientos de memoria: Se refiere al manejo de memoria que debe hacerse al utilizar diferentes algoritmos que residen sus datos y procesos en ella, y que dadas las limitaciones se hace un problema evidente. Resultados con alta precisin: Hace referencia
implemented on system SO-NN (Symbolic Objects Nearest Neighbor). It's useful for my job. But the author often comments the SO-NN, because that is like the application research, but for my case is irrelevant. Principal keys: K-means, symbolic objects, lazzy-learning. [7] Murthy, S. K. (1998), Automatic Construction of Decision Trees from Data: A Multi-Disciplinary Survey, Data Mining and Knowledge Discovery 2, 345. This article review three ways for data exploration. One, description: To reduce a volume of data. Two, classification: Discovering whether the data contains wellseparated classes of objects. Three, generalization: To make a mapping from independent to dependent variables for predicting the value of the dependent variable in the future (It's part is not so clear). After, they mention several advantages of decision tree-based classification: Knowatledge acquisition, Hierarchical decomposition, trees can be used with the same ease in deterministic as well as incomplete problems, and their use in data streams probles (maybe the most important for me). with those ideas they show the entire process to begin trees. In the last sections, they talk about real-world data (authors commentairs: it's complex and imperfect). [8] Fu, B. L. L. S. R. S. W. E. (2006), Diversification for better classification trees, Computers & Operations Research 33(11), 3185-3202. The principal idea of this article is decision trees. They use a different mechanism for building trees with genetic algorithms and changing the mean value by various percetiles. They shows the wholy process to develop this proposal. The author is clear to explain the advantages of this new way to make decision trees. However, some procedures are no obvious and have short explanations. [9] Puttini, Z.M.L. (2003), A Bayesian Classification Model for Real-Time Intrusion Detection, in C. J. Williams, ed.,'AIP Conf. Proc. 659: Bayesian Inference and Maximum Entropy Methods in Science and Engineering', pp. 150-162. [10] Ding, Q. and Perrizo, W. (2002), Decision tree classification of spatial data streams using Peano Count Trees, in 'SAC '02: Proceedings of the 2002 ACM symposium on Applied computing', ACM Press, New York, NY, USA, pp. 413-417. [11] Gama, R.R.R. (2006), Decision trees for mining data streams, Intelligent Data Analysis 10(1), 23-45.
6. OPININ Y CONCLUSIONES
El rea de minera de datos es relativamente nueva, y no por ello, carece de informacin o de inters en su investigacin. Pero es an ms motivante, no dejar de encontrar informacin con una de sus ramas: La minera de datos en aplicaciones de tiempo real. En esta exhaustiva consulta, he encontrado diferentes trabajos relacionados con el tema, y de todos ellos he aprendido bastante; por eso espero que a los lectores les resulte muy til.
7. REFERENCIAS
[1] Domingos, P. & Hulten, G. (2001), Catching Up with the Data: Research Issues in Mining Data Streams. [2] Srivatsan Laxman And P S Sastry. A survey of temporal data mining. Department of Electrical Engineering, Indian Institute of Science, Bangalore 560 012, India. Sadhana Vol. 31, Part 2, pp. 173198. April 2006. [3] Agrawal, R., Mannila, H., Srikant, H. et al. (1996), Fast discovery of association rules, in Fayyad, U.M., PiatetskyShapiro, G., Smy, P. et al. (eds), Advances in Knowledge Discovery and Data Mining, AAAI Press/The MIT Press, Menlo Park, CA, pp. 307 328. [4] Demsar, J. (2006), Statistical Comparisons of Classifiers over Multiple Data Sets, Journal of Machine Learning Research 7, 1-30.
[5] ZHANG, H. (2005), Exploring Conditions For The Optimality Of Nive Bayes, International Journal of Pattern Recognition & Artificial Intelligence 19(2), 183-198. [6] Appice, A. and Appice, C.E.F.M.D. (2006), Classification of symbolic objects: A lazy learning approach, Intelligent Data Analysis 10, 301-324. The author proposal is to use a general method to classify data set, specially symbolic objects (SOs). It's is based on k-means algorithm: A lazzy-learning one. And It was
[12] (2006), Association Mining, ACM Computing Surveys 38(2), 1-42. [13] Bodon, I. N. M. C. H. T. A. K. (2005), Automatic discovery of locally frequent itemsets in the presence of highly frequent itemsets, Intelligent Data Analysis 9(1), 83-104.
[14] Cormode, S. (2005), What's Hot and What's Not: Tracking Most Frequent Items Dynamically, ACM Transactions on Database Systems 30(1), 249-278. I think topics more important are: - Onepass algorithms with limited storage, has reopened interest in this problem (Author recomendation. Surveys such as those by Muthukrishnan and Garofalakis). - Insert-Only Algorithms with Item Counts. The earliest work on finding frequent items considered the problem of finding an item which occurred more than half of the time. - All the methods discussed thus far have certain features in common: in particular, they all hold some number of counters, each of which counts the number of times a single item is seen in the sequence. -Insert-Only Algorithms with Filters. An alternative approach to finding frequent items is based on constructing a data structure which can be used as a filter. This has been suggested several times to construct such filters being suggested. - Insert and Delete Algorithms. Previous work that studied hot items in the presence of both of inserts and deletes is sparse. These articles have proposed methods to maintain a sample of items and count of the number of times each item occurs in the data set, and focused on the harder problem of monitoring the k most frequent items. - They propose some new approaches to this problem, based on ideas from group testing and error-correcting codes. Our algorithms depend on ideas drawn from group testing. The idea of group testing is to arrange a number of tests, each of which groups together a number of themitems in order to find up to k items which test positive. [15] Chang, W.S. (2006), Finding frequent itemsets over online data streams, Information & Software Technology 48(7), 606-618.
Clustering; Density-Based Partitioning; Grid-Based Methods; Co-Occurrence of Categorical; ConstraintBased Clustering; Relation to Supervised Learning; Gradient Descent and Artificial Neural Networks; Evolutionary Methods; Scalability and VLDB Extensions; Clustering High Dimensional Data; and General Algorithmic Issues. [19] Aggarwal, R.; Gehrke, J.; Gunopulos, D. & Raghavan, P. (1998), Automatic subspace clustering of high dimensional data for data mining applications, in 'SIGMOD '98: Proceedings of the 1998 ACM SIGMOD international conference on Management of data', ACM Press, New York, NY, USA, pp. 94--105. [20] C. Aggarwal, J.W.P.S.Y. (2003), A Framework for Clustering Evolving Data Streams, Proc. 2003 Int. Conf. on Very Large Data Bases (VLDB'03), Berlin, Germany [21] Aggarwal, C., Han, J., Wang, J. & Yu, P.S. (2005), On High Dimensional Projected Clustering of Data Streams, Data Mining and Knowledge Discovery, 251 273. [22] Aggarwal, C.; Han, J.; Wang, J. & Yu, P.S. (2004), A Framework for Projected Clustering of High Dimensional Data Streams, Proceedings, 852-863. [23] Beringer, J. & Hllermeier, E. (2006), Online clustering of parallel data streams, Data Knowl. Eng. 58(2), 180-204. [24] Aggarwal, C. (2003), A Framework for Diagnosing Changes in Evolving Data Streams, Proceedings of the ACM SIGMOD [25] Ordonez, C. (2003), Clustering binary data streams with K-means, in 'DMKD '03: Proceedings of the 8th ACM SIGMOD workshop on Research issues in data mining and knowledge discovery', ACM Press, New York, NY, USA, pp. 12-19. [26] Oapos Callaghan, N. M. A. G. S. M. R. (2002), Streamingdata algorithms for high-quality clustering, Data Engineering, 2002. Proceedings. 18th International Conference on', 685-694. [27] Galil, Z. (1976), Real-time algorithms for stringmatching and palindrome recognition, in 'STOC '76: Proceedings of the eighth annual ACM symposium on Theory of computing', ACM Press, New York, NY, USA, pp. 161-173.
[16] Karp, R. M., Shenker, S. and Papadimitriou, C. H. (2003), A simple algorithm for finding frequent elements in streams and bags, ACM Trans. Database Syst. 28(1), 5155. [17] Jiang, N. & Gruenwald, L. (2006), Research issues in data stream association rule mining, SIGMOD Rec. 35(1), 1419. [18] Berkhin, P. (2002),'Survey Of Clustering Data Mining Techniques', Technical report, Accrue Software, San Jose, CA. Author defines the following "Clustering is a division of data into groups of similar objects. Representing the data by fewer clusters necessarily loses certain fine details, but achieves simplification. It models data by its clusters. Data modeling puts clustering in a historical perspective rooted in mathematics, statistics, and numerical analysis. From a machine learning perspective clusters correspond to hidden patterns, the search for clusters is unsupervised learning, and the resulting system represents a data concept". For covering the entire theme he talk about: Clustering and Classification of Clustering Algorithms; Hierarchical Clustering; Partitioning Relocation
[28] Aggarwal, C. (2002), An Intuitive Framework for Understanding Changes in Evolving Data Streams, Proceedings of the ICDE Conference [29] Kifer, D.; Ben-David, S. & Gehrke, J., Detecting Change in Data Streams. [30] Last, M. (2002), Online Classification of Nonstationary Data Streams, Intelligent Data Analysis 6(2), 129-147.
[31] L. Cohen, G.A. & Last, M. (2004), Incremental Info-Fuzzy Algorithm for Real Time Data Mining of NonStationary Data Streams, Proceedings of TDM 2004 ICDM 2004 Workshop on Temporal Data Mining: Algorithms, Theory and Applications. [32] Gaber, M. M.; Zaslavsky, A., and Krishnaswamy, S. (2005), Mining data streams: A review, SIGMOD Rec. 34(2), 18-26. [33] Cannataro, A. P. A. T. D. T. P. (2004), Distributed Data Mining on Grids: Services, Tools, and Applications, IEEE Transactions on Systems, Man & Cybernetics: Part B 34(6), 2451-2465. [34] Guozhu Dong, L.V.L.J.P.H.W. & Yu., P.S. (2003), Online mining of changes from data streams: Research problems and preliminary results, In ACM SIGMOD MPDS. [35] Berberidis, I. (2005), Mining for weak periodic signals in time series databases, Intelligent Data Analysis 9(1), 2942. [36] Bull, B. (2005), Exemplar Sampling: Nonrandom Methods of Selecting a Sample Which Characterizes a Finite Multivariate Population, American Statistician 59(2), 166-172. [37] Connolly, B. (2004), SQL, Data Mining & Genetic Programming, Dr. Dobb's Journal: Software Tools for the Professional Programmer 29(4), 34-39. [38] Babcock, S. B. M. D. R. M. J. W. (2002), Models and Issues in Data Stream Systems, Madison, Wisconsin.