"Data Mining (also called Knowledge Discovery in Databases) is the efficient discovery of previously unknown patterns in large databases"
Rakesh Agrawal & John C. Shafer: "Parallel Mining of Association Rules"
IEEE Transactions on Knowledge and Data Engineering, December 1996
Data Mining es un término genérico que engloba resultados de investigación, técnicas y herramientas usadas para extraer información útil de grandes bases de datos. Los algoritmos de Data Mining se enmarcan en el proceso completo de extracción de información conocido como KDD [Knowledge Discovery in Databases], que se encarga además de preparación de los datos y de la interpretación de los resultados obtenidos. No debemos olvidar que de la simple aplicación de técnicas de Data Mining sólo se obtienen patrones que no sirven de gran cosa mientras no se les encuentre significado [data dredging].
KDD se ha definido como la extracción no trivial de información potencialmente útil a partir de un gran volumen de datos en el cual la información está implícita (aunque no se conoce previamente). Se trata de interpretar grandes cantidades de datos y encontrar relaciones o patrones. Para conseguirlo harán falta técnicas de aprendizaje [Machine Learning], estadística y bases de datos.
Las investigaciones en estos temas incluyen análisis estadístico de datos, técnicas de representación del conocimiento, razonamiento basado en casos [CBR: Case Based Reasoning], razonamiento aproximado, adquisición de conocimiento, redes neuronales y visualización de datos. Tareas comunes en KDD son la inducción de reglas, los problemas de clasificación y clustering, el reconocimiento de patrones, el modelado predictivo, la detección de dependencias, etc..
KDD: "The nontrivial process of identifying valid, novel, potentially useful, and ultimately understandable patterns in data"
Fayyad, Piatetsky-Shapiro & Smyth:
"From data mining to knowledge discovery: An overview"
Advances in Knowledge Discovery and Data Mining (AAAI / MIT Press, 1996)
Los datos recogen un conjunto de hechos (una base de datos) y los patrones son expresiones que describen un subconjunto de los datos (un modelo aplicable a ese subconjunto). KDD involucra un proceso iterativo e interactivo de búsqueda de modelos, patrones o parámetros. Los patrones descubiertos han de ser válidos, novedosos para el sistema (para el usuario siempre que sea posible) y potencialmente útiles.
Se han de definir medidas cuantitativas para los patrones obtenidos (precisión, utilidad, beneficio obtenido...). Se debe establecer alguna medida de interés [interestingness] que considere la validez, utilidad y simplicidad de los patrones obtenidos mediante alguna de las técnica de Data Mining. El objetivo final de todo esto es incorporar el conocimiento obtenido en algún sistema real, tomar decisiones a partir de los resultados alcanzados o, simplemente, registrar la información conseguida y suministrársela a quien esté interesado.
En muchos lugares se han preocupado de recopilar gran cantidad de información de todo tipo. Es fácil digitalizar información, ya no es excesivamente caro almacenarla y, en principio, los datos recogidos creemos que pueden llegar a sernos útiles.
Ha llegado un momento en el que disponemos de tanta información que nos vemos incapaces de sacarle provecho. Los datos tal cual se almacenan [raw data] no suelen proporcionar beneficios directos. Su valor real reside en la información que podamos extraer de ellos: información que nos ayude a tomar decisiones o a mejorar nuestra comprensión de los fenómenos que nos rodean.
El análisis de la información recopilada (por ejemplo, en un experimento científico) es habitual que sea un proceso completamente manual (basado por lo general en técnicas estadísticas). Sin embargo, cuando la cantidad de datos de los que disponemos aumenta la resolución manual del problema se hace intratable. Aquí es donde entra en juego el conjunto de técnicas de análisis automático al que nos referimos al hablar de Data Mining o KDD.
Hasta ahora, los mayores éxitos en Data Mining se pueden atribuir directa o indirectamente a avances en bases de datos (un campo en el que los ordenadores superan a los humanos). No obstante, muchos problemas de representación del conocimiento y de reducción de la complejidad de la búsqueda necesaria (usando conocimiento a priori) están aún por resolver. Ahí reside el interés que ha despertado el tema entre investigadores de todo el mundo.
Como ya se ha comentado, las técnicas de Data Mining (una etapa dentro del proceso completo de KDD) intentan obtener patrones o modelos a partir de los datos recopilados. Decidir si los modelos obtenidos son útiles o no suele requerir una valoración subjetiva por parte del usuario. Los algoritmos de Data Mining suelen tener tres componentes:
El criterio de preferencia suele ser algún tipo de heurística y los algoritmos de búsqueda empleados suelen ser los mismos que en otros programas de IA. Las principales diferencias entre los algoritmos de Data Mining se hallan en el modelo de representación escogido y la función del mismo (el objetivo perseguido).
Por ejemplo, un modelo de clasificación basado en árboles de decisión suele utilizar un algoritmo greedy (una búsqueda sin vuelta atrás) y una heurística que favorezca la construcción de árboles de decisión con pocos nodos.
Las herramientas de Data Mining empleados en el proceso de KDD se pueden clasificar en dos grandes grupos: técnicas de verificación (en las que el sistema se limita a comprobar hipótesis suministradas por el usuario) y métodos de descubrimiento (en los que se han de encontrar patrones potencialmente interesantes de forma automática, incluyendo en este grupo todas las técnicas de predicción).
El resultado obtenido con la aplicación de algoritmos de Data Mining (pertenecientes al segundo grupo, el de técnicas de descubrimiento) puede ser de carácter descriptivo o predictivo. Las predicciones nos sirven para prever el comportamiento futuro de algún tipo de entidad mientras que una descripción nos puede ayudar a su comprensión. De hecho, los modelos predictivos pueden ser descriptivos (hasta donde sean comprensibles por personas) y los modelos descriptivos pueden emplearse para realizar predicciones.
Algunos de los objetivos perseguidos al aplicar técnicas de Data Mining en grandes bases de datos son los siguientes: