¿Cuándo utilizar el algoritmo de aprendizaje automático - clasificador Naive Bayes?
(1) Si tienes un conjunto de datos de entrenamiento mediano o grande.
(2) Si la instancia tiene varios atributos.
(3) Dados los parámetros de clasificación, los atributos que describen las instancias deben ser condicionalmente independientes.
A. Aplicación del clasificador Naive Bayes
(1) Análisis de sentimiento: se utiliza en Facebook para analizar actualizaciones de estado que indican un sentimiento positivo o negativo.
(2) Clasificación de documentos: Google utiliza la clasificación de documentos para indexar documentos y encontrar la puntuación de relevancia, que es PageRank. El mecanismo PageRank analiza y clasifica las páginas marcadas como importantes en la base de datos mediante tecnología de clasificación de documentos.
(3) El algoritmo Naive Bayes también se utiliza para clasificar artículos de noticias sobre tecnología, entretenimiento, deportes y política.
(4) Filtrado de spam de correo electrónico: ¿Qué utiliza Google Mail? El algoritmo veBayes clasifica sus correos electrónicos como spam o no spam.
B. Ventajas del algoritmo de aprendizaje automático del clasificador Naive Bayes
(1) Cuando la variable de entrada es la clasificación, el algoritmo del clasificador Naive Bayes funciona bien.
(2) Cuando se cumple el supuesto de independencia condicional de Naive Bayes, el clasificador de Naive Bayes converge más rápido y requiere relativamente menos datos de entrenamiento, lo que es diferente de otros modelos discriminantes, como el retorno logístico.
(3) El uso del algoritmo clasificador Naive Bayes facilita la predicción de la categoría del conjunto de datos de prueba. Una buena apuesta para la previsión multinivel.
(4) A pesar del requisito del supuesto de independencia condicional, el clasificador Naive Bayes muestra un buen rendimiento en varios campos de aplicación.
¿Qué es la implementación de la biblioteca de ciencia de datos en Python? Aprendizaje del kit de herramientas de ciencia bayesiana
La biblioteca de ciencia de datos implementa Naive Bayes en R - e1071.
3.2 Algoritmo de agrupamiento de K-means
K-means es un algoritmo de aprendizaje automático no supervisado ampliamente utilizado en el análisis de clusters. K-Means es un método iterativo no determinista. El algoritmo opera en un conjunto de datos determinado a través de un número predeterminado de K grupos. La salida del algoritmo K-medias son K grupos y los datos de entrada se dividen entre los grupos.
Por ejemplo, consideremos la agrupación de K-medias de los resultados de búsqueda de Wikipedia. Una búsqueda del término "Jaguar" en Wikipedia arrojará todas las páginas que contengan la palabra Jaguar. Se puede llamar automóvil Jaguar, versión Jaguar Mac OS, animal Jaguar. El algoritmo de agrupamiento en clústeres K-means se puede utilizar para agrupar páginas web que describen conceptos similares. Por lo tanto, el algoritmo agrupará todas las páginas que hablen de jaguares en un grupo como animales, otro grupo como jaguares como automóviles, y así sucesivamente.
A. Ventajas del algoritmo de aprendizaje automático de clustering K-Means
(1) En el caso del clustering esférico, K-Means produce clusters más compactos que el clustering jerárquico.
(2) Dado un valor K pequeño, el cálculo de agrupamiento de K-Medias es más rápido que el agrupamiento jerárquico de una gran cantidad de variables.
B. Aplicación de agrupación de K-means
k significa que la mayoría de los motores de búsqueda (como Yahoo, Google) utilizan el algoritmo de agrupación para identificar las páginas web por similitud. "tasa de relevancia" de los resultados de búsqueda. Esto ayuda a los motores de búsqueda a reducir el tiempo de cálculo del usuario.
La biblioteca de ciencia de datos en Python implementa agrupación en clústeres K-means: SciPy, aprendizaje Sci-Kit y empaquetado de Python.
R en la biblioteca de ciencia de datos implementa K-means clustering-statistics
3.3 Algoritmo de aprendizaje automático de vectores de soporte
La máquina de vectores de soporte (SVM) es una A supervisada Algoritmo de aprendizaje automático para problemas de clasificación o regresión donde el conjunto de datos le enseña a la SVM sobre las clases para que la SVM pueda clasificar cualquier dato nuevo. Funciona encontrando las líneas (hiperplanos) que separan el conjunto de datos de entrenamiento en diferentes clases. Debido a que existen muchos hiperplanos lineales de este tipo, el algoritmo SVM intenta maximizar la distancia entre las distintas clases involucradas, lo que se denomina maximización de márgenes. Si se determina la línea que maximiza la distancia entre clases, aumenta la probabilidad de una buena síntesis de datos invisibles.
A.SVM se divide en dos categorías:
SVM lineal: en SVM lineal, los datos de entrenamiento, es decir, el clasificador, están separados del hiperplano.
SVM no lineal En SVM no lineal, es imposible utilizar hiperplanos para separar datos de entrenamiento. Por ejemplo, los datos de entrenamiento para la detección de rostros constan de un conjunto de imágenes que son rostros y otro conjunto de imágenes que no son rostros (en otras palabras, todas las demás imágenes excepto los rostros). En este caso, los datos de entrenamiento son demasiado complejos para encontrar una representación para cada vector de características. Separar linealmente una colección de caras de una colección de no caras es una tarea compleja.
B. Ventajas de usar SVM
(1) SVM proporciona el mejor rendimiento de clasificación (precisión) para los datos de entrenamiento.
(2) SVM proporciona mayor eficiencia para la correcta clasificación de datos futuros.
Lo mejor de SVM es que no hace suposiciones sólidas sobre los datos.
(4) No sobreajustará los datos.
C. Aplicación de la máquina de vectores de soporte
(1) SVM se utiliza generalmente para predecir el mercado de valores de varias instituciones financieras. Por ejemplo, se puede utilizar para comparar el rendimiento relativo de una acción con otras acciones de la misma industria. Según la clasificación realizada por el algoritmo de aprendizaje SVM, la comparación relativa de acciones ayuda a gestionar las decisiones de inversión.
(2) La biblioteca de ciencia de datos en Python implementa máquinas de vectores de soporte: aprendizaje de kits de ciencia, PyML, SVMStruct Python, LIBSVM.
(3) La biblioteca de ciencia de datos en R implementa máquinas de vectores de soporte: klar, e1071.
3.4 Algoritmo de aprendizaje automático a priori
El algoritmo Apriori es un algoritmo de aprendizaje automático no supervisado que genera reglas de asociación a partir de un conjunto de datos determinado. La regla de asociación significa que si aparece el elemento A, el elemento B también aparecerá con una cierta probabilidad. La mayoría de las reglas de asociación generadas están en formato IF_THEN. Por ejemplo, cuando la gente compra iPads, también compra fundas protectoras para iPad. Para que el algoritmo llegara a esta conclusión, primero analizó la cantidad de personas que compraban iPads. Esta proporción es como 100 personas que compran un iPad y 85 personas que también compran una funda protectora para iPad.
Principio básico de A.A. del algoritmo de aprendizaje automático a priori:
Si un conjunto de elementos aparece con frecuencia, todos los subconjuntos del conjunto de elementos también aparecerán con frecuencia.
Si un conjunto de elementos no ocurre con frecuencia, entonces todos los superconjuntos de ese conjunto de elementos no ocurrirán con frecuencia.
B. Ventajas del algoritmo a priori
(1) Fácil de implementar y paralelizar.
(2)2)La implementación a priori utiliza el atributo de conjunto de elementos grandes.
Aplicación del algoritmo C.C.Apriori
Detección de reacciones adversas a medicamentos
El algoritmo Apriori se utiliza para el análisis de correlación de datos médicos, como los medicamentos que toman los pacientes. , características de cada paciente, experiencia de reacciones adversas de los pacientes, diagnóstico preliminar, etc. Este análisis genera reglas de asociación que ayudan a identificar los efectos secundarios adversos de un fármaco causados por una combinación de características del paciente y del fármaco.
Análisis de la cesta de la compra
Muchos gigantes del comercio electrónico, como Amazon, utilizan Apriori para obtener información sobre qué productos es probable que se compren juntos y cuáles responden mejor a las promociones.
Por ejemplo, un minorista podría utilizar Apriori para predecir que las personas que compran azúcar y harina probablemente comprarán huevos para hornear pasteles.
Aplicaciones de autocompletar
Google Autocomplete es otra aplicación popular de Apriori. Cuando un usuario escribe una palabra, el motor de búsqueda busca otras palabras que la gente suele escribir después de la específica. palabra.
La biblioteca de ciencia de datos en Python implementa el algoritmo de aprendizaje automático Apriori. Existe una implementación Python de Apriori en PyPi.
La biblioteca de ciencia de datos implementa el algoritmo de aprendizaje automático Apriori en R-arules
3.5 Algoritmo de aprendizaje automático de regresión lineal
El algoritmo de regresión lineal muestra la relación entre dos variables. y cómo los cambios en una variable afectan a otra variable. Este algoritmo muestra el efecto sobre la variable dependiente cuando cambia la variable independiente. Las variables independientes se denominan variables explicativas porque explican el efecto de la variable dependiente sobre la variable dependiente. La variable dependiente a menudo se denomina factor de interés o predictor.
A. Ventajas del algoritmo de aprendizaje automático de regresión lineal
(1) Es uno de los algoritmos de aprendizaje automático más interpretables y fácil de explicar a los demás.
(2) Fácil de usar ya que requiere un ajuste mínimo.
(3) es la tecnología de aprendizaje automático más utilizada y se ejecuta rápidamente.
B. Aplicación del algoritmo de regresión lineal
Estimación de ventas
La regresión lineal es muy útil en los negocios basándose en la previsión de tendencias de ventas. Si las ventas mensuales de una empresa crecen de manera constante: el análisis de regresión lineal sobre los datos de ventas mensuales ayuda a la empresa a predecir las ventas en los próximos meses.
Evaluación de riesgos
La regresión lineal ayuda a evaluar los riesgos relacionados con seguros o finanzas. Las compañías de seguros de salud pueden realizar análisis de regresión lineal sobre el número de reclamaciones y la edad de cada cliente. Este análisis ayuda a las compañías de seguros a descubrir que los clientes mayores tienden a presentar más reclamaciones de seguros. Los resultados de este análisis desempeñan un papel vital en decisiones comerciales importantes y están diseñados para abordar los riesgos.
Regresión lineal en Python-statsmodel y la biblioteca de ciencia de datos en SciKit
La biblioteca de ciencia de datos en R implementa estadísticas de regresión lineal.
3.6 Algoritmo de aprendizaje automático del árbol de decisiones
Debido a la visita de tus padres, estás haciendo un plan de fin de semana para ir al mejor restaurante de la ciudad, pero dudas y no lo haces. No sé qué hacer. Qué restaurante elegir. Siempre que querías ir a un restaurante, le preguntabas a tu amigo Tyrion si creía que te gustaría algún lugar en particular. Para responder a tu pregunta, Tyrion primero debe averiguar qué tipo de restaurante te gusta. Le das una lista de restaurantes en los que has estado y le dices si te gustó cada restaurante (dado un conjunto de datos de entrenamiento etiquetados). Cuando le preguntas a Tyrion si quieres un restaurante en particular, te hará todo tipo de preguntas como "Sí" o "¿Restaurante en la azotea?". ¿El restaurante "r" sirve comida italiana? ¿Música en vivo? ¿El restaurante está abierto hasta medianoche? "Espera un minuto. Tyrion te pide que proporciones varias preguntas de información para maximizar el beneficio de la información y darte una respuesta de sí o no según tus respuestas al cuestionario. Aquí, Tyrion es tu árbol de decisión de preferencia de restaurante favorito.
Un árbol de decisión es una representación gráfica que utiliza un enfoque de ramificación para ilustrar todos los resultados posibles de una decisión basada en condiciones específicas. En un árbol de decisión, los nodos internos representan una prueba de un atributo, cada uno de los cuales es un árbol. representan resultados de pruebas y los nodos de hoja representan etiquetas de clase específicas, es decir, decisiones tomadas después de que se hayan calculado todos los atributos
Tipos de árboles de decisión
(1) Árboles de clasificación -. Estos se consideran árboles de decisión predeterminados y se utilizan para clasificar el conjunto de datos en diferentes clases según la variable de respuesta.
Suelen utilizarse cuando la variable de respuesta se clasifica de forma natural p>
(2). ) Árboles de regresión: los árboles de regresión se utilizan cuando la respuesta o la variable objetivo es continua o numérica. Estos son los tipos de problemas de predicción que se utilizan normalmente en comparación con la clasificación.
Los árboles de decisión también se pueden dividir en dos tipos según el tipo de variable objetivo: árbol de decisión de variable continua y árbol de decisión de variable binaria. Es una variable objetivo que ayuda a decidir qué árbol de decisión se necesita para un problema en particular.
B. ¿Por qué elegiste el algoritmo del árbol de decisión?
(1) Estos algoritmos de aprendizaje automático ayudan a tomar decisiones en condiciones de incertidumbre y le ayudan a mejorar la comunicación porque proporcionan una representación visual de las decisiones.
(2) Los algoritmos de aprendizaje automático del árbol de decisiones ayudan a los científicos de datos a captar la idea de que la naturaleza operativa de una situación o modelo cambiará drásticamente si se toman decisiones diferentes.
(3) El algoritmo del árbol de decisiones ayuda a los científicos de datos a tomar decisiones óptimas al permitirles recorrer caminos computacionales hacia adelante y hacia atrás.
C. Cuándo utilizar algoritmos de aprendizaje automático de árboles de decisión
(1) Los árboles de decisión son resistentes a los errores Si los datos de entrenamiento contienen errores, el algoritmo del árbol de decisión será el más adecuado. resolver este tipo de problema.
(2) Los árboles de decisión son más adecuados para problemas en los que se utilizan pares atributo-valor para representar instancias.
(3) Si los datos de entrenamiento tienen valores faltantes, se pueden usar árboles de decisión porque pueden manejar bien los valores faltantes al observar los datos en otras columnas.
(4) Cuando la función objetivo tiene valores de salida discretos, el árbol de decisión es el más apropiado.
D. Ventajas de los árboles de decisión
(1) Los árboles de decisión son muy instintivos y pueden explicarse fácilmente a cualquiera. Las personas sin conocimientos técnicos también pueden interpretar los supuestos derivados del árbol de decisiones porque son evidentes.
(2) Cuando se utiliza el algoritmo de aprendizaje automático del árbol de decisión, el tipo de datos no es una restricción porque se pueden procesar variables tanto categóricas como numéricas.
(3) El algoritmo de aprendizaje automático del árbol de decisión no requiere ninguna suposición sobre la linealidad de los datos, por lo que se puede utilizar cuando los parámetros no son lineales. Estos algoritmos de aprendizaje automático no hacen suposiciones sobre la estructura y distribución espacial del clasificador.
(4) Estos algoritmos son útiles en la exploración de datos. Los árboles de decisión realizan implícitamente la selección de características, lo cual es muy importante en el análisis predictivo. Cuando un árbol de decisión se ajusta al conjunto de datos de entrenamiento, los nodos divididos en la parte superior del árbol de decisión se consideran variables importantes en el conjunto de datos dado y la selección de características se completa de forma predeterminada.
(5) Los árboles de decisión ayudan a ahorrar tiempo de preparación de datos porque son insensibles a los valores faltantes y a los valores atípicos. Los valores faltantes no le impiden dividir los datos para crear un árbol de decisiones. Los valores atípicos no afectan el árbol de decisión porque la división de datos se produce en función de unas pocas muestras dentro del rango de división en lugar de valores absolutos exactos.
E. Desventajas de los árboles de decisión
Cuantas más decisiones se tomen en un (1) árbol, menos precisos serán los resultados esperados.
(2) La principal desventaja del algoritmo de aprendizaje automático del árbol de decisión es que los resultados pueden basarse en las expectativas. Cuando las decisiones se toman en tiempo real, los beneficios y resultados pueden diferir de las expectativas o planes. Lo más probable es que esto conduzca a árboles de decisiones poco realistas y a decisiones incorrectas. Cualquier expectativa irrazonable puede provocar errores y fallas importantes en el análisis del árbol de decisiones, ya que no siempre es posible planificar todas las posibilidades que pueden surgir de una decisión.
(3) Los árboles de decisión no son adecuados para variables continuas, lo que genera inestabilidad y plataformas de clasificación.
(4) En comparación con otros modelos de decisión, los árboles de decisión son fáciles de usar, pero crear un árbol de decisión grande con múltiples ramas es una tarea compleja y que requiere mucho tiempo.
(5) El algoritmo de aprendizaje automático del árbol de decisión solo considera un atributo a la vez y no es necesariamente el más adecuado para los datos reales en el espacio de decisión.
(6) Los árboles de decisión a gran escala con múltiples ramas son incomprensibles y causan algunas dificultades en la representación.
F. Aplicación del algoritmo de aprendizaje automático del árbol de decisión
(1) El árbol de decisión es uno de los algoritmos de aprendizaje automático más populares y es muy útil para la fijación de precios de opciones en finanzas.
(2) La teledetección es un campo de aplicación del reconocimiento de patrones de árboles de decisión.
(3) Los bancos utilizan algoritmos de árboles de decisión para clasificar a los solicitantes de préstamos según su probabilidad de incumplimiento de pago.
(4) Gerber Products, una popular empresa de productos para bebés, utiliza un algoritmo de aprendizaje automático de árbol de decisiones para decidir si deben seguir utilizando el plástico PVC (cloruro de polivinilo) en sus productos.
(5) Rush University Medical Center ha desarrollado una herramienta llamada Guardian que utiliza un algoritmo de aprendizaje automático de árbol de decisiones para identificar pacientes en riesgo y tendencias de enfermedades.
El algoritmo de aprendizaje automático del árbol de decisión del lenguaje Python basado en la biblioteca de ciencia de datos es el aprendizaje SciPy y Sci-Kit.
El lenguaje R de la biblioteca de ciencia de datos implementa el algoritmo de aprendizaje automático del árbol de decisión utilizando el símbolo de intercalación.
3.7 Algoritmo de aprendizaje automático de bosque aleatorio
Continuemos con el mismo ejemplo que usamos en los árboles de decisión para explicar cómo funciona el algoritmo de aprendizaje automático de bosque aleatorio. Tyrion es el árbol de decisiones para tus preferencias de restaurantes. Sin embargo, Tyrion, como persona, no siempre anuncia con precisión sus preferencias de restaurantes. Para obtener recomendaciones de restaurantes más precisas, le preguntas a un par de amigos y, si la mayoría dice que te gustaría, decides ir al Restaurante R. Además de preguntarle a Tyrion, también quieres preguntarle a Jon Snow, Sandor, Bronn y Bran, quienes votan si te gusta el restaurante R. Esto significa que ha creado un clasificador de conjuntos para árboles de decisión, también conocidos como bosques.
No quieres que todos tus amigos te den la misma respuesta, por lo que le das a cada amigo datos ligeramente diferentes. No estás seguro de tus preferencias de restaurante si estás atrapado entre la espada y la pared. Le dijiste a Tyrion que te gustaba el restaurante de la azotea, pero tal vez, solo porque es verano, podrías disfrutarlo cuando visites el restaurante. En los fríos meses de invierno, es posible que no seas fanático del restaurante. Amigos, no utilicen los datos de sus restaurantes favoritos en las azoteas para hacer sus propias sugerencias sobre sus preferencias de restaurantes.
Al proporcionar a tus amigos datos de preferencias de restaurantes ligeramente diferentes, puedes hacer que tus amigos te hagan diferentes preguntas en diferentes momentos. En este caso, simplemente cambiando ligeramente las preferencias de su restaurante, inyecta aleatoriedad en el nivel del modelo (a diferencia de la aleatoriedad de un árbol de decisión en el nivel de datos). Tus amigos ahora forman un bosque aleatorio de tus preferencias de restaurantes.
El bosque aleatorio es un algoritmo de aprendizaje automático que utiliza métodos de embolsado para crear árboles de decisión a partir de un conjunto de subconjuntos aleatorios de datos. El modelo se entrena varias veces con muestras aleatorias del conjunto de datos para obtener un buen rendimiento predictivo del algoritmo de bosque aleatorio. En este enfoque de aprendizaje holístico, los resultados de todos los árboles de decisión en un bosque aleatorio se combinan para realizar la predicción final. La predicción final del algoritmo de bosque aleatorio se obtiene sondeando los resultados de cada árbol de decisión o utilizando únicamente la predicción que aparece con mayor frecuencia en el árbol de decisión.
Por ejemplo, en el ejemplo anterior, si cinco amigos deciden que a usted le gustará el restaurante R, pero solo dos amigos deciden que no le gustará el restaurante R, entonces la predicción final es que le gustará el restaurante R. lo máximo. Es una victoria.
A. ¿Por qué utilizar el algoritmo de aprendizaje automático de bosque aleatorio?
(1) Hay muchos buenos algoritmos de código abierto en Python y r.
(2) Mantenga la precisión sin datos y resista los valores atípicos.
(3) Simplemente utilice el algoritmo de bosque aleatorio como base y se puede implementar con solo unas pocas líneas de código.
(4) Los algoritmos de aprendizaje automático de bosque aleatorio ayudan a los científicos de datos a ahorrar tiempo de preparación de datos porque no requieren ninguna preparación de entrada y pueden manejar características numéricas, binarias y categóricas sin escalamiento, transformación o modificación.
(5) Selección de características implícita, porque da una estimación de qué variables son importantes en la clasificación.
B. Ventajas de utilizar el algoritmo de aprendizaje automático de bosque aleatorio
(1) A diferencia del algoritmo de aprendizaje automático de árbol de decisión, el sobreajuste no es un problema para el bosque aleatorio. No es necesario podar el bosque aleatorio.
(2) Estos algoritmos son rápidos, pero no en todos los casos. El algoritmo de bosque aleatorio se ejecuta en una máquina de 800 MHz, el conjunto de datos consta de 100 variables y 50.000 casos generan 100 árboles de decisión en 11 minutos.
(3) Los bosques aleatorios son uno de los algoritmos de aprendizaje automático más eficaces y versátiles que se utilizan para diversas tareas de clasificación y regresión porque son más resistentes al ruido.
(4) Es difícil construir un bosque aleatorio malo. En la implementación del algoritmo de aprendizaje automático de bosque aleatorio, es fácil determinar qué parámetros usar porque no son sensibles a los parámetros utilizados para ejecutar el algoritmo. Se puede construir fácilmente un modelo decente sin muchos ajustes.
(5) El algoritmo de aprendizaje automático de bosque aleatorio puede crecer en paralelo.
(6) Este algoritmo se ejecuta eficientemente en grandes bases de datos.
(7) Alta precisión de clasificación.
C. Desventajas de utilizar algoritmos de aprendizaje automático de bosque aleatorio
Pueden ser fáciles de usar, pero es difícil analizarlos teóricamente.
Una gran cantidad de árboles de decisión en un bosque aleatorio puede ralentizar los algoritmos de predicción en tiempo real.
Si los datos constan de variables categóricas de diferentes niveles, el algoritmo seleccionará preferentemente atributos con más niveles. En este caso, la puntuación de importancia de la variable parece poco fiable.
Cuando el algoritmo RandomForest se utiliza para tareas de regresión, no excederá el rango de valores de respuesta en los datos de entrenamiento.
D. Aplicación del algoritmo de aprendizaje automático de bosque aleatorio
(1) Los bancos utilizan el algoritmo de bosque aleatorio para predecir si los solicitantes de préstamos pueden tener un alto riesgo.
(2) Utilizado en la industria del automóvil para predecir el fallo de piezas mecánicas.
(3) Estos algoritmos se utilizan en la industria de la salud para predecir si los pacientes tienen probabilidades de desarrollar enfermedades crónicas.
(4) También se pueden utilizar para tareas de regresión, como predecir la media de las acciones en las redes sociales y las puntuaciones de rendimiento.
(5) Recientemente, este algoritmo también se ha utilizado para predecir patrones en software de reconocimiento de voz y clasificar imágenes y texto.
El algoritmo de aprendizaje automático de bosque aleatorio implementado por la biblioteca de ciencia de datos en Python es el aprendizaje Sci-Kit.
La biblioteca de ciencia de datos del lenguaje R implementa el algoritmo de aprendizaje automático randomForest.