Este blog analiza los 10 mejores algoritmos de minería de datos.
Para comprender mejor estos algoritmos de minería de datos, es necesario que primero revise algunas terminologías importantes. Estos son algunos de los principales:
Terminología
- Clasificador: un programa que clasifica las entradas de datos en diferentes clases. Por ejemplo, un algoritmo de clasificación podría clasificar los automóviles en clases como sedanes, SUV, hatchbacks, etc.
- Aprendizaje supervisado: algoritmos que necesitan un conjunto de datos de «entrenamiento» para aprender. Por ejemplo, un conjunto de pacientes y síntomas que ya han sido marcados como «enfermos» o «bien» por un médico.
- Aprendizaje no supervisado: algoritmos que no necesitan ningún conjunto de datos de entrenamiento marcado o etiquetado para funcionar correctamente.
- Valores atípicos: puntos de datos que están fuera del rango habitual. Por ejemplo, en una prueba con la mayoría de las puntuaciones entre 40 y 45, una puntuación de 100 sería un valor atípico.
- Datos ruidosos: datos con muchos valores atípicos
Los 10 mejores algoritmos de minería de datos
1. C4.5
El primero en esta lista es C4.5. Es un clasificador, lo que significa que toma datos e intenta adivinar a qué clase pertenece.
C4.5 también es un algoritmo de aprendizaje supervisado y necesita datos de entrenamiento. Los científicos de datos ejecutan C4.5 en los datos de entrenamiento para crear un árbol de decisiones. Esto se puede utilizar para clasificar nueva información.
Echemos un vistazo a un ejemplo. Digamos que tenemos una muestra de datos que muestran quién sobrevivió al hundimiento del Titanic. También conocemos su sexo, edad y el número de hermanos que tenían a bordo. Ejecutar C4.5 podría generar un árbol de decisiones como el siguiente.
Ahora podemos usar este árbol de decisión con nuevos datos para predecir si un pasajero sobrevivió o no.
El principal problema con C4.5 es el sobreajuste cuando se usan datos ruidosos. Esto significa que el árbol de decisiones que genera presta demasiada atención a los valores atípicos y cometerá errores si hay demasiados en el conjunto de datos.
2. K-medias
K-means es un tipo de algoritmo de minería de datos muy diferente a C4.5. Es un algoritmo de aprendizaje no supervisado, lo que significa que no necesita datos de entrenamiento etiquetados y funciona incluso si sus datos aún no están marcados o clasificados.
En lugar de clasificar datos, el objetivo de k-means es agrupar puntos de datos en función de su similitud. Estos grupos se denominan «Clusters». Un ejemplo muy simple podría ser agrupar un conjunto de personas por edad y presión arterial. La ‘K’ simplemente nos dice que puede haber cualquier número de grupos.
Es un algoritmo de minería de datos popular porque es simple de implementar y funciona bastante bien para el análisis de datos. Este es un ejemplo de un conjunto de datos que se ha agrupado utilizando esta técnica.
K-means funciona al encontrar puntos llamados «centroides», luego asigna cada punto en los datos a un grupo en función de su centroide más cercano. Como puede adivinar, el truco aquí es encontrar el número y la posición óptimos de los centroides para agrupar los datos correctamente.
Esto se hace de una manera muy inteligente, aquí hay una versión básica del algoritmo:
Una vez que los centroides dejan de moverse, el algoritmo ha terminado y los datos se han agrupado. Para obtener los mejores resultados, k-means generalmente se ejecuta varias veces con diferentes puntos de inicio aleatorios. El que tiene los grupos más apretados es probablemente el mejor resultado.
K-medoides es una versión similar de este algoritmo pero es más resistente a los valores atípicos.
3. Máquinas de vectores de soporte (SVM)
SVM es otro algoritmo clasificador supervisado como C4.5. La diferencia es que solo clasifica los datos en dos grupos. Esto se puede considerar como una línea que separa puntos de datos en un gráfico.
Lo que hace que el algoritmo Support Vector Machine sea realmente genial es que puede encontrar líneas curvas complejas que separan puntos con mayor precisión que una línea recta. Lo hace con un ingenioso truco usando dimensiones.
SVM toma un conjunto de datos y proyecta los puntos en una dimensión superior. Al hacer esto, puede separar más fácilmente los puntos en dos grupos. Aquí hay un gran ejemplo.
Los datos bidimensionales de la izquierda no se pueden separar con una línea recta. Para solucionar esto, SVM proyecta puntos en el espacio tridimensional que se muestra a la derecha. Ahora, los datos se pueden dividir fácilmente en dos clases con un plano que SVM puede encontrar automáticamente.
Por supuesto, esto no siempre funcionará, por lo que deberá experimentar con diferentes algoritmos de clasificación para ver cuál es el mejor para un problema en particular.
4. A priori
A priori es un algoritmo que aprende qué elementos de los datos se asocian comúnmente entre sí. Esto puede ser muy útil para agrupar elementos similares en tablas.
Por ejemplo, su empresa puede tener una base de datos de clientes y transacciones. Al ejecutar el algoritmo Apriori en estos datos, es posible que encuentre que los granos de café se compran comúnmente junto con las máquinas de café.
Puede usar esta información para mostrar recomendaciones de productos en el momento adecuado para aumentar las ventas.
El algoritmo en sí es bastante complicado. Por lo general, se considera aprendizaje no supervisado, ya que se puede utilizar para explorar conjuntos de datos no etiquetados. Pero también se puede modificar para dar clasificaciones.
5. Expectativa-Maximización (EM)
EM es un algoritmo de agrupación que utiliza modelos estadísticos para agrupar datos.
Es posible que sepa que los resultados de los puntajes de las pruebas generalmente siguen una curva de campana. Es decir, la mayoría de los resultados de las pruebas caerán en algún lugar en el medio, pocos obtendrán puntajes muy altos y pocos obtendrán puntajes muy bajos.
Las curvas de campana se usan todo el tiempo en estadísticas y aparecen en todo tipo de datos. En el papel se ve algo como esto:
EM intenta adivinar la curva que representa un determinado conjunto de datos. Por ejemplo, dado un conjunto de muestra de puntajes de prueba, adivine la curva de campana que representa el conjunto completo. Una vez que tiene esta curva, se puede usar para agrupar nuevos datos en ‘grados’.
Esto funciona bastante bien en la práctica y tiene muchas aplicaciones diferentes para k-means.
6. PageRank
PageRank es uno de mis algoritmos favoritos. De hecho, afecta tu vida todos los días y la mía. Probablemente lo conozca mejor como el algoritmo principal que impulsa las búsquedas de Google.
Antes de que los muchachos de Google inventaran PageRank, las búsquedas en Internet eran terribles. Básicamente, contaron la cantidad de veces que apareció una palabra clave en una página web para determinar qué tan relevante era para esa palabra clave. Esto genera mucho spam y malos resultados. Entonces, ¿cómo arreglas eso?
Puedes pensar en PageRank como una especie de algoritmo de votación. Cuenta el número de veces que una página web está vinculada a otras páginas. Cuantos más enlaces apuntan a una página, más importante se considera esa página web. Además, si se determina que una página web es importante, sus enlaces también serán más importantes y tendrán más peso.
PageRank se puede utilizar para algo más que clasificar páginas web. Se puede extender a cualquier tipo de gráfico donde las cosas estén vinculadas entre sí.
Aquí hay un ejemplo de un gráfico vinculado que se ha ejecutado a través del rango de página. Los tamaños y porcentajes muestran cuán ‘importantes’ se encontraron los nodos en función de los enlaces a ellos.
7. AdaBoost
AdaBoost es un algoritmo de minería de datos que construye un buen clasificador a partir de muchos clasificadores malos.
En el aprendizaje automático, un mal aprendiz es un clasificador que no funciona muy bien, apenas mejor que el azar. Sin embargo, si tiene algunos de ellos, ¡podría combinarlos de una manera que termine siendo bastante buena!
AdaBoost hace esto mediante el uso de un conjunto de datos de entrenamiento, por lo que es un aprendizaje supervisado. Itera a través de los datos de entrenamiento de cada mal alumno, determinando cuál es el mejor en cada paso.
Cada nueva ronda, los puntos mal clasificados son más importantes. Eventualmente, se construye un árbol de decisiones más complejo a partir de las partes más simples. Este nuevo árbol debería ser mejor para clasificar nuevos datos que cualquiera de los algoritmos de aprendizaje originales.
Lo bueno de AdaBoost es que se puede usar con otros algoritmos. Los bloques de construcción de ‘mal aprendiz’ pueden ser los árboles de decisión simples construidos por otros algoritmos.
8. K-vecinos más cercanos (KNN)
K-nearest-neighbors es uno de los algoritmos de minería de datos más simples. Como la mayoría de la lista, también es un clasificador (sí, los algoritmos de clasificación son muy importantes en la minería de datos). Sin embargo, hace las cosas un poco diferente a las que ya he descrito.
K-means, AdaBoost y SVM son todos estudiantes entusiastas. Toman datos de entrenamiento y construyen un clasificador que luego se puede usar en los datos más recientes.
KNN es un estudiante perezoso. En realidad, no hace nada hasta que recibe datos nuevos y sin etiquetar. Cuando esto sucede, encuentra los ‘k’ vecinos más cercanos al nuevo punto de datos (es decir, los que son más similares) y les asigna una clase similar. Aquí hay un ejemplo:
El nuevo punto X se da como nueva entrada. De sus cinco vecinos más cercanos, cuatro de ellos pertenecen a la clase roja y uno es verde. En base a esto, X se clasifica como rojo, ya que la mayoría de sus vecinos son rojos. ¡Bastante simple!
9. Bayes ingenuo
Esto en realidad se refiere a un grupo de algoritmos que comparten una suposición común e ingenua.
Esa suposición es que cada característica en un conjunto de datos no tiene ninguna correlación con todas las demás características del conjunto.
Por ejemplo, supongamos que tenemos datos sobre pacientes del hospital. Las características de los datos incluyen código postal, altura y edad. Esas tres cosas probablemente no estén correlacionadas: su código postal no determina mucho su altura o edad.
Aquí la suposición de Naive Bayes está bien.
Usando esta suposición, algunas matemáticas muy simples pueden darnos un clasificador que puede predecir la clase de nuevos datos.
Pero, esta suposición no siempre es cierta. Digamos que ampliamos nuestro conjunto de datos de pacientes del hospital para incluir cosas como la presión arterial, el colesterol y el peso. Estos probablemente están correlacionados, entonces, ¿seguirá funcionando el algoritmo?
La respuesta suele ser sí. Los clasificadores Naive Bayes funcionan sorprendentemente bien, incluso en datos con características correlacionadas.
10. CARRITO
El último algoritmo de minería de datos de la lista es CART, o árboles de clasificación y regresión. Es un algoritmo que se usa para construir árboles de decisión, al igual que muchos de los otros algoritmos que hemos discutido.
CART se puede considerar como una versión más estadística de C4.5 y puede conducir a árboles de decisión más sólidos. Una de sus características definitorias es que construye árboles binarios, lo que significa que cada nodo interno tiene exactamente dos bordes.
La razón para usar este algoritmo sobre C4.5 es que es menos susceptible a valores atípicos. Eso significa que funcionará mejor en un conjunto de datos ruidoso donde no todos los puntos de datos están clasificados correctamente.
¿Pensando en Adoptar Métodos de Minería de Datos en su Negocio?
El análisis de datos de los datos comerciales disponibles ayuda a las partes interesadas y a los gerentes de productos a tomar decisiones comerciales informadas. Los algoritmos de minería de datos son una parte importante de este proceso de análisis estadístico. En su mayoría, la implementación del proceso de minería de datos en el proceso comercial requiere un conocimiento de dominio excepcional, habilidades de ciencia de datos y experiencia en el uso de una minería de datos también.
Por esta razón, es mejor si se asocia con científicos de datos calificados para su proyecto de minería de datos. DevTeam.Space puede ayudarlo aquí. Contamos con una comunidad de desarrolladores de software expertos en el campo que tienen experiencia en el desarrollo de productos competitivos en el mercado utilizando tecnologías de vanguardia como inteligencia artificial, aprendizaje automático, etc.
Puede ponerse en contacto describiendo sus requisitos iniciales de minería de datos a través de este formulario rápido. Uno de nuestros gerentes técnicos se comunicará con usted para responder sus preguntas y vincularlo con ingenieros de software con el conjunto de habilidades relevante.
Preguntas frecuentes
Un ejemplo de extracción de datos se puede ver en la plataforma de redes sociales Facebook, que extrae los datos privados de las personas y vende la información a los anunciantes.
La minería de datos se puede aplicar a cualquier forma de datos. Los ejemplos incluyen minería de datos pictóricos, minería de mensajes, minería de comportamiento en línea y minería de hábitos de visualización.
Todas las grandes empresas, sitios web y aplicaciones utilizan algoritmos de minería de datos influyentes, como algoritmos de análisis de enlaces, algoritmos genéticos, etc., para ayudar a que sus servicios sean más precisos y, al mismo tiempo, aumentar los ingresos por publicidad, etc.
Related Posts:
- Ciencia de datos frente a minería de datos: diferencias…
- Los 10 mejores ejemplos de algoritmos de aprendizaje…
- Principales casos de uso de blockchain en el cuidado de la…
- ¿Cuáles son los principales problemas de seguridad de la…
- Bases de datos SQL vs NoSQL - DevTeam.Space
- La base de datos de incidentes de IA tiene como objetivo…