Por lo que sé y he experimentado (que podría estar mal en caso de que mi cerebro no captara el conjunto correcto de características para aprender 😉), la respuesta a esta pregunta depende de muchos factores.
La interpretabilidad, la precisión, la tasa de convergencia, los supuestos del modelo y la naturaleza de los datos en sí mismos son los factores clave (puede que haya más que probablemente me falte) que se tienen en cuenta al decidir el algoritmo de aprendizaje para la clasificación.
Interpretabilidad : existen ciertos algoritmos como árboles de decisión (y quizás bosques aleatorios) que generan modelos que son fácilmente interpretables. En ciertas situaciones, descubrirá que desea saber qué está haciendo su modelo con los datos para tomar mejores decisiones. La regresión logística, SVM, redes neuronales, etc., se retrasan en este sentido ya que son como un “recuadro negro” para el usuario Sin embargo, los árboles de decisión a menudo tienen un precio: sobreajuste.
- Dado un componente fuertemente conectado, ¿puede determinar en tiempo lineal si la eliminación de un solo nodo convierte el SCC en un gráfico acíclico dirigido?
- ¿Qué estructuras de datos y algoritmos básicos se deben aprender antes de comenzar la programación competitiva?
- Tiene una lista vinculada en la que cada nodo es otra lista vinculada. ¿Cómo encuentra el elemento Kth más exclusivo entre todos los nodos en el momento más óptimo?
- ¿Qué significa <K extiende comparables > en Java en el contexto de hacer árboles de búsqueda binarios?
- ¿Qué es el algoritmo de YouTube?
Precisión : cada algoritmo (debido a sus supuestos) proporciona una precisión diferente para diferentes escenarios. Con mayor frecuencia, el objetivo es maximizar la precisión, pero cuando se presentan conjuntos de datos que contienen clases altamente desequilibradas (lo que significa que una clase tiene una densidad mucho más alta en comparación con la otra clase), a menudo el objetivo principal es maximizar la clasificación correcta de la clase que ocurre menos . En tales casos, la precisión general no es la máxima prioridad. Por lo tanto, los algoritmos como la regresión logística que tienden a maximizar la precisión general no se pueden usar en tales circunstancias, mientras que los árboles de decisión pueden deberse a su capacidad de incorporar sesgo de clase (siempre que conozca uno, al menos aproximadamente)
Suposiciones del modelo : la regresión logística (en su forma pura) supone que los datos son linealmente separables, los árboles de decisión no asumen que los datos son linealmente separables, sino que suponen que los límites de decisión se encuentran paralelos a los ejes de coordenadas, los bosques aleatorios suponen que el rendimiento promedio en múltiples clasificadores aleatorios es una apuesta más segura (por lo que recuerdo). Por lo tanto, realmente depende de los supuestos que serán un buen augurio con los datos que tiene.
Tasa de convergencia : ciertos algoritmos como SVM, redes neuronales y bosques aleatorios tienen una tasa de convergencia más lenta en comparación con otros algoritmos como la regresión logística y los árboles de decisión. Esto puede no ser el caso a menudo, pero si el tamaño de su conjunto de datos es enorme y no desea esperar horas para obtener el modelo aprendido, puede cambiar la velocidad con precisión.
Recursos de infraestructura disponibles: Ciertos algoritmos tienden a ser más intensivos en CPU y / o memoria que los demás. Esto se puede atribuir a una gran cantidad de cálculos que hacen o al número de resultados intermedios que intentan almacenar. Por ejemplo, si está trabajando en una sola máquina con CPU y memoria modestas, y el tamaño del conjunto de datos es bastante grande, podría arriesgarse a consumir toda la memoria de su máquina y el algoritmo fallará eventualmente ya que ya no puede almacenar los resultados intermedios en cualquier sitio. En tales casos, es posible que desee un algoritmo que tenga requisitos mínimos de almacenamiento, o puede que desee una poda muy gruesa para que aprenda al menos algo de los datos dados en su máquina (humilde). Dicho esto, si no te preocupan los recursos a tu disposición, este factor no jugaría ningún papel en la selección del algoritmo.
Naturaleza de los datos : este es el factor más importante para decidir qué algoritmo implementar. Ya hemos discutido algunos casos en los puntos anteriores donde vimos que los datos disponibles a menudo son decisivos en la elección de un algoritmo. Permítanme agregarle un par de puntos más. (a) Cuando la mayoría de las características en sus datos son de naturaleza categórica, los algoritmos como los árboles a menudo se consideran una buena opción, ya que proporcionan modelos fácilmente interpretables. (b) Cuando tiene muchas características en sus datos en comparación con el número de puntos de datos (este suele ser el caso en el análisis de texto), los árboles a menudo no son una buena opción. Simplemente no podrá generalizar bien con árboles en este caso. Otros algoritmos como la regresión logística, SVM se generalizarán mucho mejor en este caso.
Puedo estar olvidando algunos otros factores, o tal vez no estoy al tanto de otros factores sutiles. Además, no proporciono ningún respaldo teórico para ninguno de los puntos que mencioné anteriormente, ya que estos puntos son el resultado de mi simple observación al experimentar con estos algoritmos. Esperamos que te sea útil.