A medida que se acerca la temporada de alimentación de hongos 2019, es oportuno combinar mi sed de conocimiento sobre el aprendizaje automático de bajo nivel (ML) con un pasatiempo popular que disfrutamos aquí donde vivo. Solo para que conste, no soy un experto en ML, y simplemente estoy invitando a los lectores a que me sigan por algunos agujeros de conejos que exploré recientemente.

Pero setas, sé un poco sobre, así que, en primer lugar, un poco sobre salud y seguridad:

  • La aplicación creada debe usarse con extrema precaución y los resultados siempre deben ser confirmados por un experto en hongos.
  • Siempre pruebe el hongo al principio solo comiendo una pieza muy pequeña y esperando varias horas para verificar que no haya ningún efecto negativo.
  • Siempre use guantes: es sorprendentemente fácil absorber toxinas con los dedos.

Como se trata en gran medida de una introducción a ML, no habrá demasiada terminología y el énfasis estará en divertirse en lugar de sumergirse profundamente. El sistema con el que me topé se llama XGBoost (XGB) Una de las demostraciones de XGB es para clasificación binaria, y la datos fue sacado de La guía de campo de la Sociedad Audubon para los hongos de América del Norte. Binario significa que la aplicación escupe una probabilidad de "sí" o "no" y, en este caso, tiende a dar alrededor del 95% de probabilidad de que un hongo comestible común (Agaricus campestris) es realmente comestible.

La aplicación le hace al usuario 22 preguntas sobre su muestra y recopila los datos ingresados ​​como una serie de letras separadas por comas. Al final del cuestionario, esta línea de datos se escribe en un archivo llamado "fungusFile.data" para su posterior procesamiento.

XGB no puede aceptar letras como datos, por lo que deben asignarse al "formato LibSVM clásico", que se ve así: "3: 218" para cada letra. A continuación, estos datos amigables con XGB se dividen en dos partes para entrenar un modelo y luego probarlo.

Instalar XGB es relativamente fácil en comparación con los sistemas de aprendizaje profundo de nivel superior y funciona bien tanto en Linux Ubuntu 16.04 como en una Raspberry Pi. Yo escribi el aplicación de implementación en golpetazo por lo que no debería haber ningún software adicional para instalar. Antes de profundizar en el lado ML de las cosas, recomiendo instalar XGB, ejecutar la aplicación y jugar un poco con ella.

El entrenamiento y las pruebas se llevan a cabo corriendo bash runexp.sh en el terminal y se tarda menos de un segundo en procesar las 8124 líneas de datos fúngicos. Al final, bash escupe un conjunto de estadísticas para representar la precisión de la capacitación y también intenta "dibujar" el árbol de decisión que ha ideado XGB. Si tenemos un vistazo rápido en el directorio ~ / xgboost / demo / binary_classification, ahora debería haber un 0002.modelo archívelo listo para su implementación con el cuestionario.

Estaba interesado en explorar el árbol de decisiones un poco más y observar la forma en que XGB ponderó las diferentes características de los hongos. Eventualmente obtuve algunas visualizaciones aproximadas trabajando en Python Script de Jupyter Notebook:

Obviamente, esta aplicación no va a ganar ninguna competencia de Kaggle ya que los diversos parámetros dentro del software deben ajustarse cuidadosamente con la ayuda de todas las diferentes herramientas de software disponibles. Un buen lugar para comenzar es ajustar la profundidad máxima del árbol y el número o los árboles utilizados. Profundidad = 4 y número = 4 parece funcionar bien para estos datos. Otros parámetros incluyen el tipo de importancia de la característica, por ejemplo: ganancia, peso, cobertura, ganancia total o cobertura total. Estos se pueden ajustar usando herramientas como SHAP.

Finalmente, esta aplicación podría adaptarse fácilmente a otros sistemas basados ​​en cuestionarios, como diagnosticar una enfermedad en particular o decidir si comprar una acción en particular o una participación en el mercado.

Una introducción aún más básica a ML entra en la teoría de la línea de base con un poco más de detalle, vale la pena echarle un vistazo.

Dejar respuesta

Please enter your comment!
Please enter your name here