Algoritmos de minería de datos en su contexto

El otro día apareció publicada en esta bitácora la noticia de un artículo en el que se enumeraban los top 10 de entre los algortimos de minería de datos. Nuestro compañero Andrés Gutiérrez se hizo eco de la noticia y, además, extrajo la lista.

He leído el artículo, he revisado la lista de los algoritmos elegidos, he leído los comentarios y tengo algunas objeciones que realizar.  No tanto por dejar constancia de ellas sino para evitar que los oropeles despisten a quienes se introducen en este mundo de la minería de datos.

Ni aun leyendo el artículo muy despacio he podido averiguar con respecto a qué criterio los 10 algoritmos son top (porque podría ser el alfabético, ¿no?). No consta que fuesen elegidos por ser lo más usados (puede que lo sean, pero ésa es otra historia). Puede que se refiera a influyentes:

These top 10 algorithms are among the most in?uential data mining algorithms in the research community.

Otra escala por la que se midieron fue su popularidad (de conocimiento, no necesariamente de uso):

As the ?rst step in the identi?cation process, in September 2006 we invited the ACM KDD Innovation Award and IEEE ICDM Research Contributions Award winners to each nominate up to 10 best-known algorithms in data mining.

También se exigió que tuviesen muchas citas (más de cincuenta) pero la selección final se hizo sin ningún criterio aparente:

In the third step of the identi?cation process, we had a wider involvement of the research community. We invited the […] to each vote for up to 10 well-known algorithms from the 18-algorithm candidate list.

Así que no se sabe muy bien si se votaron los más usados, los más elegantes, los más influyentes (¡un algoritmo puede haber sido muy influyente pero estar ya totalmente obsoleto!), los más eficientes, los más eficaces,…

Además, existe un sesgo importante en la selección de la muestra de electores. Quien haya acudido a alguna de las conferencias en los que se seleccionaron sabrá a qué me refiero. Al que no, se lo resumiré en una palabra: ingenieros.

No habría dicho gran cosa si estuviese mínimamente de acuerdo con la selección de algoritmos. Pero:

  • C4.5 (1) y CART (10) vienen a ser la misma cosa. Las diferencias entre ellos son mínimas. Además, CART es únicamente el nombre de la implementación comercial de un algoritmo que tiene otras. Sobre ello escribí hace un año.
  • ¡No uséis k-medias (2)! Está obsoleto. Es un algoritmo viejísimo que depende de la distancia euclídea y es muy sensible a la selección del punto de partida y a los outliers. Deberían arrancarse las páginas de los libros que lo recomiendan.
  • PageRank (6) es un algoritmo que por muy influyente que sea, sirve para resolver una serie de problemas muy concretos. Es un algoritmo nicho. Algo parecido puede decirse del algoritmo a priori (4).

Por otra parte, echo mucho de menos en la lista a los métodos lineales y la regresión logística.

Y quiero acabar con una perogrullada: el problema, el contexto determina el algoritmo. En ese sentido, es mucho más valioso un cuadro sinóptico de los algoritmos de minería de datos como el que nos presentaron nuestros compañeros de GMK en el que se relaciona el tipo de problema con posibles algoritmos candidatos para resolverlo.

8 comentarios sobre “Algoritmos de minería de datos en su contexto

  1. ffernandez 14 enero, 2011 10:49

    Estoy de acuerdo en casi todo. Desde que he empezado a trabajar probablemente el 80% de lo que he utilizado son modelos lineales, y lo que veo a mi alrededor tiene la misma pinta. Tirón de orejas por el argumento de «Es un algoritmo viejísimo» antes de decir que echamos de menos los métodos lineales y la regresión logística… ;). Desde mi punto de vista K-medias tiene su utilidad si se usa con cuidado (Paradójicamente, y como SAS recomienda y Raúl nos ha demostrado en AyD, su «capacidad para detectar outliers» creo que es una de sus mayores virtudes…), pero es cierto que no probablemente para lo que se viene usando en donde se viene usando… Apostaría más por algunas variantes que «hay por ahí» con recortes (diluyendo el problema de los outliers) y otras mejoras. Los únicos argumentos por los que se sigue utilizando k-medias en (casi) todas partes es por su rápidez y relativa facilidad de implementación en diversos lenguajes, y la también relativa facilidad para «contarle al jefe/cliente lo que hace» (El problema de casi siempre…).

  2. ffernandez 14 enero, 2011 10:51

    Los únicos argumentos «son», y no «es»…

  3. datanalytics 14 enero, 2011 11:35

    @ffernandez
    Cierto: igual no debí escribir «es viejísimo» sino «ha envejecido muchísimo». O tal vez decir que es el pionero de una serie de modelos posteriores que lo superaron.

    Lo que quiero subrayar en todo caso es que en los últimos 50 años ha habido avances en el campo. Si en entradas como ésta no lo denunciamos y divulgamos la noticia de que hay vida más allá de las k-medias, los proverbiales tontos del martillo van a sentirse cohonestados.

    Mis experiencias reales con k-medias no han sido particularmente satisfactorias. Y soy bastante crítico con (el uso indiscriminado de) las técnicas de arracimamiento en general. Pero de eso hablaré en otra ocasión.

  4. sergiojsj 14 enero, 2011 12:51

    Carlos, que algoritmos de clusterización sencillos y computacionalmente eficaces recomiendas?
    k-medoids debería ser menos sensible a outliers pero sigue basandose en métricas euclideas, siempre que no definas otra distancia. Una variante orientada a grandes conjuntos de datos es CLARA. Luego están la versión fuzzy de k-means y k-medoids.
    Esperaramos impacientes ese post crítico sobre el uso indiscriminado de las técnicas de arracimamiento.

  5. rvaquerizo 14 enero, 2011 17:57

    Al final emplearemos el que podamos. Por eso la importancia de R porque tendremos más variedad y mayores posibilidades. Particularmente empleo k means para analisis no dirigidos (toma con un par). Al ser muy rápido me permite realizar muchas clasificaciones y buscar un sentido de negocio. Para las microsegmentaciones empleo modelos MLG. Sé que soy el hombre desactualizado pero tengo que bregar con algunos usuarios que no pueden ver más allá.

  6. pasoporaqui 21 enero, 2011 8:21

    Una pequeña matización: ni los métodos lineales (categoría amplia y, por tanto, ambigua) ni la regresión logística son algoritmos, que yo sepa.

    Muchas veces, y es mi experiencia en el mundillo empresarial, la técnica de análisis se elige no por su eficiencia sino por su facilidad de aplicación y de asimilación por parte del nivel gerencial. Y la técnica no es tan importante como un profundo conocimiento del dominio de los datos que muchas veces las consultoras contratadas ignoran, incluso, con orgullo.

    Por eso la regresión logística tiene cuerda para rato. Y el algoritmo k-medias. Lo siento, pero no hay un dios que pueda explciar SVM en lenguaje de la calle. O redes neuronales.

  7. datanalytics 21 enero, 2011 9:33

    @pasoporaqui
    Convengo en casi todo. Lo de que sean o no algoritmos es una deformación del lenguaje que uno tiene que asumir cuando habla con los del gremio que redactaron el artículo (esencialmente ingenieros informáticos). En puridad ninguno de los expuestos son propiamente algoritmos. Tal vez técnicas sería más propio.

    En todo caso, existe una diferencia grande entre regresiones logísticas y k-medias (y casi por extensión los métodos de arracimamiento) sobre la que pienso opinar polémicamente pronto. Al menos, acá, en mi bitácora, puedo.

Los comentarios están desabilitados.