| Vocero |
Transcripción |
| Russ Wolfinger |
Bueno. Hola a todos. |
| |
Bienvenido a mi casa aquí en Holly Springs, Carolina del Norte. |
| |
Con la locura del Covid, hacer una conferencia virtual en línea es una experiencia nueva, pero estoy muy emocionado de hablar con ustedes hoy y ofrecer un tutorial sobre un nuevo complemento que tenemos para JMP Pro. |
| |
que implementa la popular funcionalidad XGBoost. |
| |
Hoy, en este tutorial, les mostraré lo que tenemos. Aquí tengo un diario JMP. |
| |
que estará disponible en los materiales de la conferencia. Y lo que les animo a hacer, si desean seguirlo ustedes mismos, |
| |
Puedes pausar el video ahora mismo e ir a los materiales de la conferencia y descargar este diario. Puedes abrirlo en tu propia versión de JMP Pro. |
| |
Y además, hay un enlace para instalarlo. Tienes que instalar un complemento. Si lo instalas, podrás reproducir todo lo que hago aquí exactamente en casa, e incluso experimentar un poco. Así que te animo a que lo hagas si puedes. |
| |
Tengo a mi perro Charlie, está al fondo. Espero que no haga nada vergonzoso. No parece muy emocionado ahora mismo, pero le encanta XGBoost tanto como a mí, así que vamos a ello. |
| |
XGBoost es una increíble biblioteca C++ de código abierto que ya existe desde hace bastantes años. |
| |
Y la teoría original en realidad fue elaborada por un par de estadísticos famosos en los años 90, pero luego el equipo de la Universidad de Washington recogió las ideas y las implementó. |
| |
Y... creo que donde realmente cobró importancia fue en el contexto de algunas competiciones de Kaggle. |
| |
Donde empezó... una vez que la gente empezó a usarlo y estuvo disponible, literalmente comenzó a ganar casi todas las competencias tabulares que Kaggle ha estado realizando durante los últimos años. |
| |
De hecho, ahora hay varios cientos de ejemplos en línea; si quieres buscar un poco, los encontrarás. |
| |
Por lo tanto, considero que esta es posiblemente la metodología de modelado predictivo de datos tabulares más popular y quizás la más poderosa del mundo en este momento. |
| |
Por supuesto, hay competidores y, para cualquier conjunto de datos en particular, se pueden ver algunas diferencias, pero, en general, es muy impresionante. |
| |
De hecho, ahora existen paquetes competitivos que ofrecen funciones muy similares: LightGBM de Microsoft y Catboost de Yandex. No los analizaremos hoy, pero son bastante similares. |
| |
Como no tenemos mucho tiempo hoy, no quiero extenderme en las motivaciones. Pero, de nuevo, tienes este diario si quieres analizarlas con más detalle. |
| |
Lo que quiero hacer es brindarles los aspectos más destacados de esta revista y, en particular, brindarles algunas demostraciones en vivo para que tengan una idea de lo que hay aquí. |
| |
Y luego, con el tiempo, podrás explorar y probar estas cosas por tu cuenta. Necesitarás una copia de JMP Pro 15 que funcione. |
| |
como muy pronto, pero si puede conseguir el JMP 16 como primer usuario, el JMP 16 oficial no se enviará hasta el próximo año, 2021. |
| |
Pero ya puedes obtener tu versión de usuario anticipado, y estamos implementando mejoras. Así que te recomiendo que obtengas la última versión de JMP 16 Pro. |
| |
Para obtener la funcionalidad más reciente de este complemento... de esta funcionalidad. Esta es una configuración de marco bastante inusual para JMP Pro. |
| |
Hemos escrito mucho código C++ directamente en Pro para integrarlo con la API C++ de XGBoost. Por eso, realizamos la mayor parte de nuestro trabajo en C++. |
| |
pero hay un complemento que acompaña a esto que instala la biblioteca dinámica y realiza una pequeña actualización del menú para usted, por lo que necesita... necesita Pro y necesita instalar el complemento para poder ejecutarlo. |
| |
Así que, si puedes, consigue el JMP 16 pro para ser uno de los primeros en adoptarlo y así obtener las últimas novedades, y eso es lo que te mostraré hoy. |
| |
Vamos a ver un ejemplo. Este es uno nuevo que me acaba de llamar la atención. Tiene una historia muy interesante. |
| |
El investigador detrás de estos datos es el profesor Jaivime Evarito. Es experto en ciencias ambientales, doctor, profesor y profesor asistente. |
| |
Ahora en la Universidad de Utrecht, Países Bajos, y ha tenido la amabilidad de compartir estos datos con su permiso, así como la historia que los respalda, para ayudar a otros que se sintieron... un poco conmocionados por estos datos. He nombrado a su colega Jeffrey McDonnell. |
| |
Recopilé todos estos datos. El objetivo es estudiar la escorrentía fluvial en zonas deforestadas de todo el mundo. |
| |
Y pueden ver, tenemos 163 lugares aquí, la mayoría de la mitad en los EE. UU. y luego en todo el mundo, diferentes lugares donde pudieron recolectar |
| |
regiones que han sido despejadas de árboles y luego tomaron algunas medidas críticas |
| |
En cuanto a lo ocurrido con la escorrentía hídrica, este tipo de estudio es fundamental para analizar los impactos ambientales de la tala de árboles y la deforestación, así como el cambio climático, por lo que resulta muy oportuno. |
| |
Y afortunadamente para Jaivime en ese momento, pudieron publicar un artículo en la revista Nature, una de las revistas científicas más importantes del mundo, un artículo realmente bueno. |
| |
Fue una experiencia muy difícil para él incluirlo. Desafortunadamente, lo que sucedió después fue que había un laboratorio competidor que criticó duramente lo que habían hecho en este artículo. |
| |
Y resultó que después de mucho ir y venir y debate, el artículo terminó siendo retractado. |
| |
Lo cual obviamente fue una experiencia muy difícil para Jaivime. Es decir, ha sido muy amable y me ha permitido compartir mi historia y mis esperanzas. |
| |
Para evitar esto. Y resulta que la raíz de la controversia fueron varias cosas más, pero la principal queja de los críticos es... |
| |
Puede que haya realizado un análisis de árbol potenciado. Es un modelo bastante sencillo. Solo tenemos unos pocos predictores, cada uno importante, pero uno de sus principales objetivos era determinar cuáles eran los más importantes. |
| |
Ejecutó un modelo de árbol mejorado con un único conjunto de validación de retención y publicó una retención de validación de aproximadamente 0,7. Todo parecía estar bien. |
| |
Pero luego llegaron los críticos, volvieron a analizar los datos con un conjunto de retención diferente y obtuvieron un R cuadrado de retención de validación. |
| |
De menos de 0,1. Un cambio enorme. Pasaron de 0,7 a menos de 0,1, y esto, esto se usó, los críticos se lanzaron contra esto e intentaron desacreditar lo que estaba sucediendo. |
| |
Ahora, Jaivime, en este punto, Jaivime, esto sucedió el año pasado y el artículo fue retractado a principios de 2020... |
| |
Jaivime compartió los datos conmigo este verano y mi idea era hacer un análisis de validación cruzada un poco más riguroso y, de hecho, hacer K pliegues repetidos. |
| |
En lugar de una sola resistencia, para intentar llegar al fondo de esta discrepancia entre dos resistencias diferentes. Y lo que hice fue crear una nueva rutina. |
| |
que viene con el complemento XGBoost que crea columnas de pliegues K. Y si ven el conjunto de datos aquí, los he creado. Por cuestiones de tiempo, no explicaremos cómo hacerlo. Pero hay... |
| |
Ahora hay un nuevo módulo con el encabezado "Crear columnas plegables K" que permite hacerlo. Lo hice de forma estratificada. Curiosamente, invoca JMP DOE. |
| |
Y la ventaja de hacerlo así es que se pueden crear pliegues ortogonales, lo cual no es muy común. Veamos una distribución rápida. |
| |
Este fue el conjunto de reserva que Jaivime creó originalmente y estratificó, lo cual creo que es una buena idea, ya que la respuesta está un poco sesgada. Y este fue el conjunto de reserva que usó el crítico. |
| |
Y aquí están los pliegues que usé. Hice tres esquemas diferentes. Y lo que quería destacar es que estos pliegues son bastante ortogonales. |
| |
donde obtenemos una ganancia de información máxima al hacer K-fold tres veces por separado con tres conjuntos ortogonales. |
| |
Entonces, resulta que, como ya estaba usando árboles potenciados, lo siguiente que hay que probar es el complemento XGBoost. Así que me alegré mucho de descubrir este conjunto de datos y hablar de él aquí. |
| |
Ahora bien, ¿qué pasó? Permítanme hacer otro análisis. Estoy haciendo un análisis unidireccional en los conjuntos de validación. Resulta que no entendí lo que estoy haciendo: las respuestas; este rendimiento de agua se corrigió. |
| |
Y estoy graficando eso versus los conjuntos de validación. Resultó que Jaivime en su conjunto de entrenamiento, |
| |
Las cuatro o cinco mediciones principales terminaron en su conjunto de entrenamiento, lo que creo que es la raíz del problema. |
| |
Mientras que en el conjunto de críticos, lo hicieron... fue equilibrado, un poco más, y en particular lo peor... que la ubicación con mayor puntuación estaba en el conjunto de validación. Por lo tanto, esto es una fuente natural de error, ya que va más allá de todo lo que se estaba realizando en el entrenamiento. |
| |
Y creo que este es realmente un caso en el que el K-fold, un análisis de tipo K-fold, es más convincente que simplemente hacer un conjunto de retención única. |
| |
Yo diría que ambos conjuntos de retención única tienen cierto sesgo y es mejor hacer más retiros en los que se estratifica...distribuyen las cosas. |
| |
De forma diferente cada vez y luego observa qué sucede después de varios ajustes. Así, puedes ver cómo se ven los pliegues que creé aquí en términos de distribución. Ahora, ejecutemos XGBoost. |
| |
Entonces, el complemento en realidad tiene muchas funciones y no quiero abrumarte hoy, pero nuevamente, te animo a que sigas y pauses el video en lugares si intentas seguirlo tú mismo. |
| |
Para asegurarme. Pero lo que hicimos aquí fue simplemente ejecutar un script. Y, por cierto, todo en el diario tiene... Las tablas JMP son útiles, ya que permiten guardar scripts. Así que lo que hice fue ejecutar XGBoost desde ese script. |
| |
A modo de ejemplo, voy a volver a ejecutar esto directamente desde el menú. Así es como podrías hacerlo. Al instalar el complemento, |
| |
Seleccionas modelado predictivo y luego XGBoost. Lo agregamos aquí mismo, al menú de modelado predictivo. Así que, la configuración sería... |
| |
Es especificar la respuesta. Aquí está Y. Hay siete predictores, que pondremos aquí como x, y luego se colocan sus columnas de plegado y validación. |
| |
Quería dejar claro aquí para aquellos de ustedes que son usuarios experimentados de JMP Pro: XGBoost maneja las columnas de validación de manera un poco diferente a otras plataformas JMP. |
| |
Es una especie de marco experimental en este momento, pero en base a mi experiencia, creo que el pliegue K repetido es una forma muy convincente de hacerlo y quería configurar el complemento para que fuera fácil. |
| |
Y entonces aquí estoy colocando nuevamente estas columnas de pliegue que creamos con la utilidad, y XGBoost automáticamente hará el pliegue K repetido simplemente especificándolo como lo tenemos aquí. |
| |
Si desea realizar una única retención como los análisis originales, puede configurarlo como de costumbre, pero debe hacer que la columna |
| |
Continuo. Eso es un problema. Y sé que algunos de nuestros primeros usuarios se equivocaron con esto, y es una convención diferente a otras. |
| |
Otras rutinas de modelado predictivo de XGBoost u otras dentro de JMP Pro, pero esta me pareció la forma más sencilla de hacerlo. Y, de nuevo, la forma recomendada sería ejecutar |
| |
Haz varios pliegues en K como este, o al menos uno solo, y luego pulsa "Aceptar". Aparecerá la ventana de inicio inicial. |
| |
Y lo bueno de XGBoost es que tiene muchos parámetros de ajuste. Los más importantes están listados aquí en este cuadro y puedes experimentar con ellos. |
| |
Y luego resulta que hay mucho más, y están ocultos bajo estas opciones avanzadas, para las que no tenemos tiempo hoy. |
| |
Pero hemos intentado... estos son los más importantes que normalmente... en la mayoría de los casos, puedes simplemente preocuparte por ellos. Y entonces... ejecutemos esto de nuevo. Desde aquí, puedes hacer clic en el botón "Ir" y XGBoost se ejecutará. |
| |
Ahora estoy usando una laptop sencilla. Este es un conjunto de datos relativamente pequeño. Así que... lo repetimos cinco veces. |
| |
Tres cosas diferentes, en cuestión de segundos. XGBoost está bastante bien optimizado y funcionará bien con conjuntos de datos más grandes, pero para este pequeño ejemplo, veamos qué sucedió. |
| |
Ahora resulta que este gráfico inicial que aparece levanta una bandera inmediata. |
| |
Lo que estamos viendo aquí es... a lo largo del número de iteraciones, las iteraciones de ajuste, tenemos una curva de entrenamiento que es básicamente la función de pérdida hacia la que deseamos llegar. |
| |
Pero la curva sólida es la curva de validación. Y pueden ver lo que sucedió aquí. Justo después de unas cuantas iteraciones, la curva tocó fondo y luego la situación empeoró mucho. |
| |
En este caso, no conviene usar este modelo predeterminado. XGBoost ya está sobreajustado. |
| |
lo cual sucede a menudo con conjuntos de datos más pequeños como este y requiere la necesidad de realizar ajustes. |
| |
Hay muchos otros resultados al final, pero, repito, no los consideraría fiables. En este punto, necesitarías... querrías hacer algunos ajustes. |
| |
Hoy, haremos un pequeño ajuste manual, pero les animo a que lo hagan. De hecho, hemos implementado un marco completo para crear un diseño de ajuste. |
| |
donde puede especificar un rango de parámetros y buscar en el espacio de diseño y nuevamente usamos JMP DOE. |
| |
Ya tenemos dos maneras diferentes de usar DOE, y ambas han mejorado mucho la funcionalidad. Por ahora, haremos algunos ajustes manuales basándonos en este gráfico. |
| |
Si podemos ampliar este gráfico, veremos que la curva está tocando fondo. Veamos, literalmente, justo después de tres o cuatro iteraciones. Así que, algo muy fácil que podemos hacer es simplemente detener el entrenamiento después de cuatro pasos. |
| |
Y vean qué pasa. Por cierto, observen lo que sucedió con nuestro sobreajuste: nuestro R cuadrado de validación fue negativo, así que bastante malo. Definitivamente no es un modelo recomendable. Pero si ejecutamos este nuevo modelo, donde solo daremos cuatro pasos, |
| |
Mira lo que pasa. |
| |
El R cuadrado de validación es mucho mejor. Ahora estamos cerca de 0,16 y, de hecho, probamos tres, solo por diversión. A ver qué pasa. |
| |
Un poco peor. Como pueden ver, este es el tipo de cosas con las que se puede experimentar. Hemos intentado establecer un diálogo que sea propicio para ello. |
| |
Puedes comparar modelos en esta tabla inicial. Puedes ordenar por columnas y encontrar el mejor modelo. Más abajo, puedes desglosar los detalles del modelado. |
| |
Quedémonos con el Modelo 2 aquí, y lo que podemos hacer es... |
| |
Solo vamos a conservar ese y podrás limpiar...puedes limpiar los modelos que no quieras, eliminará los ocultos. |
| |
Y ahora volvemos al modelo que queremos analizar con más detalle. Observen que nuestro R cuadrado de validación es aproximadamente 0,17. |
| |
Entonces, recuerden, esto en realidad se encuentra entre lo que Jaivime obtuvo originalmente y lo que obtuvo el crítico. |
| |
Y yo consideraría esto como una medida mucho más confiable de R cuadrado porque nuevamente se calcula sobre todo, en realidad ejecutamos 15 ajustes de modelos diferentes, |
| |
Se quintuplicó en tres ocasiones diferentes. Este es un promedio de esos resultados. Por lo tanto, creo que es una medida mucho más clara y fiable del rendimiento del modelo. |
| |
Si te desplazas hacia abajo para ver cualquier modelo que se ajuste, hay bastante información para analizar. De nuevo, JMP es muy bueno en... siempre intentamos tener gráficos cerca de las estadísticas que puedas... |
| |
Ambos ven lo que está pasando y les asignan números, y estos gráficos funcionan de manera normal y son muy interactivos. |
| |
Pero como pueden ver, aquí tenemos un entrenamiento real versus lo previsto y la validación. Y las cosas casi siempre empeoran para la validación, pero esa es la realidad. |
| |
Y puedes ver de nuevo dónde se están cometiendo los errores, y este es el punto realmente alto, a menudo llega... esta es la línea de 45 grados. |
| |
Así que esa medición alta tiende... y todas las altas tienden a ser subestimadas, lo cual es bastante normal. Creo que cualquier método como este tenderá a reducirse. |
| |
Valores extremos bajos y, simplemente, para ser conservadores. Así, podrán ver exactamente dónde se cometen los errores y en qué medida. |
| |
Ahora bien, el interés principal de Jaivime era... él estaba principalmente interesado en ver qué variables estaban realmente impulsando... |
| |
Este efecto corregido por agua. Y podemos ver que el que sobresale es el número uno, el llamado PET. |
| |
Hay diferentes maneras de evaluar la importancia de las variables en XGBoost. Puedes considerar el número de divisiones como una medida de ganancia, lo cual creo que es... |
| |
Quizás sea la mejor para empezar. Se trata de cuánto mejora el modelo con cada división en una variable. Hay otra llamada cobertura. |
| |
En este caso, para cualquiera de los tres, el PET se perfila como el más importante. Así que, básicamente, este análisis rápido indica que ahí es donde se centra la acción con estos datos. |
| |
Ahora con JMP, podemos hacer mucho más. Aquí, bajo el triángulo rojo de modelado, podemos ver que hemos mejorado bastante. Se pueden guardar valores predictivos y fórmulas. |
| |
Puedes publicar en el depósito de modelos o en el depósito de fórmulas y hacer más cosas allí. |
| |
Incluso contamos con rutinas para generar código Python, que no solo sirven para puntuar, sino que también realizan todo el entrenamiento y ajuste. Esto es bastante nuevo, pero ayudará a quienes deseen migrar de JMP Pro a Python. Por ahora, veamos el perfilador. |
| |
Y tengo que ofrecer una rápida palabra de disculpa a mi amigo Brad Jones en un video anterior, me olvidé de reconocer que él era el inventor del generador de perfiles. |
| |
Así que este es, de hecho, un caso, y en cierto modo, un mérito suyo, ya que lo estamos usando ahora de otra manera: para evaluar la importancia de las variables y cómo funciona cada una. Así que, para mí, es realmente convincente. |
| |
Un marco donde podemos... podemos ver esto. Y Charlie... Charlie se levantó del sofá en cuanto lo mencioné. Está aquí a mi lado ahora mismo. |
| |
Y entonces, mira lo que pasa...podemos ver que lo interesante es que con esta variable PET, podemos ver el momento clave, parece ser tan pronto como el PET... |
| |
Cuando supera los 1200 aproximadamente, es cuando realmente despega. Es un buen ejemplo de cómo funciona el generador de perfiles. |
| |
Y hasta donde yo sé, esta es la primera vez... esta es la primera... este es el único software que ofrece |
| |
Gráficos como este, que van más allá de estas medidas estadísticas de importancia y le muestran exactamente lo que está sucediendo y le ayudan a interpretar |
| |
El modelo de árbol potenciado. Creo que es una buena manera de realizar el análisis, y los animo a probarlo con sus propios datos. |
| |
Pasemos ahora a otro ejemplo y volvamos a nuestro diario. |
| |
Como pueden ver, hay mucho aquí. Naturalmente, no tenemos tiempo para revisarlo todo. |
| |
Pero, por si acaso, quería mostrarles qué sucede cuando tenemos un objetivo binario. Lo que acabamos de ver era continuo. |
| |
Para ello, se utilizará el antiguo conjunto de datos de diabetes, que lleva bastante tiempo disponible y está disponible en la biblioteca de muestras de JMP. Este conjunto de datos es el mismo, pero lo hemos mejorado con nuevos scripts. |
| |
Y entonces, si obtienes la revista y la descargas, obtendrás este tipo de versión mejorada que tiene |
| |
Unas cuantas ejecuciones de XGBoost con diferentes objetivos ordinales binarios y, como recuerdas, aquí tenemos mediciones bajas y altas que se derivan de esta variable Y original. |
| |
Analizando la respuesta a la diabetes. Y vamos a ir un poco más allá. Imaginemos que estamos en un contexto médico donde queremos usar una matriz de beneficios. Nuestro objetivo es tomar una decisión. Vamos a predecir a cada persona, |
| |
Ya sean altos o bajos, pero luego lo pienso y nos dimos cuenta de que si una persona está realmente drogada, lo que está en juego es un poco más alto. |
| |
Y entonces duplicaremos nuestras ganancias o pérdidas, dependiendo de si el estado real es alto. Y, por supuesto, |
| |
Esta es la forma en que esto funciona, generalmente es correcta... las decisiones correctas están aquí y aquí. |
| |
Y luego están los incorrectos aquí, y esos son los... debes pensar en las cuatro celdas cuando estás configurando una matriz como esta. |
| |
Y aquí vamos a hacer uno simple. Se está duplicando, y no sé si se les puede asignar un valor monetario real. De hecho, es algo bueno en ese tipo de situación. |
| |
Quién sabe, tal vez podamos considerar que cada uno de ellos es un BitCoic, de un valor de alrededor de $10,000 cada uno o algo así. |
| |
No importa demasiado. Es más bien una cuestión de que queremos tomar una decisión óptima en función de nuestras... |
| |
Nuestras predicciones. Por lo tanto, tendremos en cuenta esta matriz de beneficios al realizar nuestro análisis. De hecho, solo se realiza después del ajuste del modelo. No se utiliza directamente en el ajuste. |
| |
Ahora vamos a ejecutar XGBoost y tenemos un objetivo binario. Si observan... |
| |
La función objetivo ahora ha cambiado a una logística de pérdida de registro y eso es lo que se refleja aquí: esta es la probabilidad de registro logística. |
| |
Y puedes ver... podemos mirar ahora con un objetivo binario las métricas que usamos para evaluarlo son un poco diferentes. |
| |
Aunque, si te fijas, tenemos columnas de ganancias que se calculan a partir de la matriz de ganancias que acabamos de ver. |
| |
Pero si estás en un escenario en el que tal vez no quieres preocuparte tanto por una matriz de ganancias, sino solo por una especie de regresión binaria directa, puedes mirar métricas comunes como |
| |
Solo la precisión, que es lo opuesto a la tasa de clasificación errónea, es útil analizar la correlación F1 o de Matthews, así como el análisis ROC, que ayuda a equilibrar la especificidad y la sensibilidad. Todos estos métodos están disponibles. |
| |
Y puedes profundizar. Una novedad que quería mostrar, y en la que aún estamos trabajando, es que ahora puedes jugar con el umbral de decisión. |
| |
Y ahora puedes hacerlo de forma interactiva. Tenemos una nueva herramienta que grafica tus ganancias por umbral. |
| |
Entonces, este es un gráfico completamente nuevo que recién estamos comenzando a introducir en JMP Pro y deberá obtener la última versión de JMP 16 early adopter para poder obtenerlo, pero se adapta a la matriz de decisiones... |
| |
O la matriz de ganancias. Y también estamos trabajando en la posibilidad de derivar un umbral óptimo basado directamente en esta matriz. |
| |
Creo que, en este caso, sigue siendo 0,5. Esto, en cierto modo, aporta más información sobre qué puedes hacer si tu objetivo real es maximizar las ganancias. |
| |
De lo contrario, es probable que desee equilibrar la especificidad y la sensibilidad dado su contexto, pero tiene las matrices de confusión típicas, que se muestran aquí, así como aquí arriba junto con algunos gráficos tanto para el entrenamiento como para la validación. |
| |
Y luego las curvas ROC. |
| |
También se obtienen los mismos resultados que vimos antes en cuanto a la importancia de las variables. Y sigamos con el generador de perfiles, ya que es una buena opción... |
| |
También es útil en este caso. Podemos ver exactamente qué sucede con cada variable. |
| |
Podemos ver, por ejemplo, que aquí LTG e IMC son las dos variables más importantes, y parece que ambas tienden a aumentar a medida que aumenta la respuesta, por lo que podemos observar esa relación directamente. De hecho, a veces con los árboles, se pueden observar no linealidades, como aquí con el IMC. |
| |
No está claro si eso es algo real, quizá queramos hacer más análisis o mirar más modelos para asegurarnos de que tal vez esté sucediendo algo real con ese pequeño problema. |
| |
Pero estas son cosas que se pueden distinguir, muy divertidas e interesantes de ver. |
| |
Así que, esto es lo que podemos hacer con el conjunto de datos de diabetes. El diario ofrece mucho más. Hay dos ejemplos más que no mostraré hoy por cuestiones de tiempo, pero que están documentados en detalle en la documentación de XGBoost. |
| |
Este es un documento PDF con muchos detalles sobre el complemento y te guía paso a paso a través de estos dos ejemplos. Así que te recomiendo que los consultes. |
| |
Y luego, la revista también contiene varias comparaciones diferentes que se han realizado. |
| |
Vieron esta matriz púrpura que observamos. Este fue un estudio realizado en la Universidad de Pensilvania. |
| |
Donde comparan una serie completa de métodos de aprendizaje automático entre sí en un conjunto de datos diferentes y luego comparan cuántas veces uno supera al otro. Y XGBoost |
| |
Se convirtió en el modelo superior y esta comparación no siempre fue la mejor, pero en promedio tendía a superar a todos los demás que ven aquí. Así que, aún más evidencia de... |
| |
El poder y las capacidades de esta técnica. Hay algunos otros aspectos que no abordaré. |
| |
Este caso de Hill Valley es interesante. Es un caso en el que los árboles no funcionaron bien. Es una situación un tanto patológica, pero interesante de estudiar, simplemente para ayudar a comprender qué está sucediendo. |
| |
También hemos realizado algunas pruebas bastante exhaustivas internamente dentro del departamento de I+D de JMP y muchos de esos resultados están aquí en varios conjuntos de datos diferentes. |
| |
Y, por razones de tiempo, no entraré en detalles, pero les animo a que los revisen. Todos nuestros resultados se incluyen en la revista y pueden experimentar con ellos en diversos dominios y tamaños de datos. |
| |
Así que échenle un vistazo. Diré, por diversión, que nuestra conclusión en cuanto a velocidad se resume aquí en este pequeño meme. Tenemos dos coches diferentes. |
| |
En realidad, esto realmente grita y está ajustado para utilizar todos... todos los subprocesos que tienes en tu GPU... en tu CPU. |
| |
Y si usas Windows y tienes una tarjeta NVIDIA, incluso puedes aprovechar tu GPU, lo que a menudo te ofrecerá una velocidad cinco veces mayor. ¡Qué divertido! |
| |
Permítanme concluir el tutorial aquí. Y, de nuevo, los animo a que lo revisen. Quería agradecerles enormemente. Mucha gente ha participado. |
| |
Y me preocupa que, de hecho, probablemente haya pasado por alto a algunos, pero al menos quería reconocerlos. Hemos tenido un gran grupo de pioneros. |
| |
Y Marie y Diedrich recibieron comentarios muy agradables, y estos muchachos de Villanova ya comenzaron a utilizar XGBoost en un aula con éxito. |
| |
Fue muy bueno saberlo. Y mucha gente de JMP ha estado ayudando. |
| |
Por supuesto, esto se basa en toda la infraestructura de JMP. Así que prácticamente necesitamos incluir a toda la división de JMP en algún momento con ayuda para esto; ha sido muy divertido trabajar en ello. |
| |
Y también quiero agradecer a nuestro equipo de Ciencias de la Vida, que me ha ayudado a ser honesto en varios aspectos y me ha brindado muchas sugerencias. |
| |
Luciano ha implementado un complemento XGBoost, un complemento diferente que funciona con JMP Genomics, así que te recomiendo que lo pruebes si usas JMP Genomics. También puedes llamar a XGBoost directamente dentro del marco de modelado predictivo. |
| |
Así que muchas gracias por su atención y espero que puedan probar XGBoost. |