|
Vocero
|
Transcripción
|
| Russ Wolfinger |
Bueno. Bueno, hola a todos. |
| |
Bienvenido a mi casa aquí en Holly Springs, Carolina del Norte. |
| |
Con la locura de Covid, esta es una experiencia nueva para realizar una conferencia virtual en línea, pero estoy muy emocionado de hablar con ustedes hoy y ofrecerles un tutorial sobre un nuevo complemento que tenemos para JMP Pro. |
| |
que implementa la popular funcionalidad XGBoost. |
| |
Así que hoy, en este tutorial, los guiaré a través de lo que tenemos. Lo que tengo aquí es una revista JMP. |
| |
que estará disponible en los materiales de la conferencia. Y lo que te animo a hacer, si quieres seguirlo tú mismo, |
| |
Pueden pausar el video ahora mismo e ir a los materiales de la conferencia, tomar este diario. Puedes abrirlo en tu propia versión de JMP Pro, |
| |
y además hay un enlace para instalar. Tienes que instalar un complemento, si sigues adelante y lo instalas, podrás reproducir todo lo que hago aquí exactamente en casa, e incluso jugar un poco por tu cuenta. 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 en este momento, pero ama XGBoost tanto como a mí, así que entremos en ello. |
| |
XGBoost es una biblioteca C++ de código abierto bastante increíble que 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 tomó las ideas y las implementó. |
| |
Y... creo que donde realmente se destacó fue en el contexto de algunas competencias de Kaggle. |
| |
Dónde empezó... una vez que la gente empezó a usarlo y estuvo disponible, literalmente empezó a ganar casi todas las competiciones tabulares que Kaggle ha estado realizando en los últimos años. |
| |
Y, de hecho, ahora hay varios cientos de ejemplos en línea. Si quieres buscar un poco, los encontrarás. |
| |
Por lo tanto, consideraría 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 que hay competidores y para cualquier conjunto de datos en particular, es posible que veas algunas diferencias, pero en general, es muy impresionante. |
| |
De hecho, ahora existen paquetes competitivos que hacen cosas muy similares: LightGBM de Microsoft y Catboost de Yandex. No entraremos en ellos hoy, pero son bastante similares. |
| |
Como hoy no tenemos mucho tiempo, no quiero insistir en las motivaciones. Pero nuevamente, tienes este diario si quieres examinarlo más detenidamente. |
| |
Lo que quiero hacer es brindarles los aspectos más destacados de esta revista y particularmente brindarles algunas demostraciones en vivo para que tengan una idea de lo que hay aquí. |
| |
Y luego serás libre de explorar y probar estas cosas por tu cuenta, a medida que pase el tiempo. Necesitará...necesita una copia funcional de JMP Pro 15 |
| |
como muy pronto, pero si puede conseguir al usuario pionero del JMP 16, el JMP 16 oficial no se enviará hasta el próximo año, 2021. |
| |
pero puede obtener su versión para usuarios pioneros ahora y estamos realizando mejoras allí. Por lo tanto, le animo a que obtenga el último usuario pionero del JMP 16 Pro. |
| |
para obtener la funcionalidad más reciente de este complemento... de esta funcionalidad. Ahora es, es, esta es una nueva configuración de marco inusual para JMP Pro. |
| |
Hemos escrito una gran cantidad de código C++ directamente en Pro para integrarlo y obtener la API XGBoost C++. Y es por eso que... hacemos 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ú por usted, por lo que necesita... necesita tanto Pro como instalar el complemento para poder ejecutarlo. |
| |
Así que, si puedes, elige JMP 16 pro como usuario pionero para obtener las últimas novedades y eso es lo que mostraré hoy. |
| |
Vamos, profundicemos para hacer un ejemplo. Y este es uno nuevo que acaba de llamar mi atención. Tiene una historia muy interesante detrás. |
| |
El investigador detrás de estos datos es un profesor llamado Jaivime Evarito. Es un científico ambiental experto, doctor, profesor, profesor asistente. |
| |
ahora en la Universidad de Utrecht en los Países Bajos y amablemente ha proporcionado estos datos con su permiso, así como la historia detrás de ellos, para ayudar a otros que fueron tan... un poco dramáticos en torno a estos datos. Lo hice suyo, su colega Jeffrey McDonnell. |
| |
recogió todos estos datos. Estos son datos. El objetivo es estudiar la escorrentía de agua en zonas deforestadas de todo el mundo. |
| |
Y pueden ver, tenemos 163 lugares aquí, la mayoría de ellos al menos la mitad en los EE. UU. y luego en todo el mundo, diferentes lugares en los que pudieron recolectar |
| |
regiones que han sido taladas de árboles y luego tomaron algunas medidas críticas |
| |
en cuanto a lo ocurrido con el escurrimiento de agua. Y este tipo de estudio es bastante importante para estudiar los impactos ambientales de la tala de árboles y la deforestación, así como el cambio climático, por lo que es bastante 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, una experiencia realmente agradable. |
| |
experiencia para que él lo consiga allí. Desafortunadamente, lo que sucedió después, aunque había un laboratorio competidor que realmente se volvió muy crítico con lo que habían hecho en este artículo. |
| |
Y resultó que después de muchos debates y idas y venidas, el documento terminó siendo retractado, |
| |
Lo cual obviamente fue una experiencia realmente difícil para Jaivime. Quiero decir, ha sido muy amable y me ha permitido compartir una historia y esperanzas. |
| |
para evitar esto. Y resulta que lo que está en la raíz de la controversia, hubo varias, varias otras cosas, pero cuál fue el principal problema de los críticos es... |
| |
Es posible que haya hecho un análisis de árbol mejorado. Y es un modelo bastante sencillo. Solo... solo tenemos tal vez un puñado de predictores, cada uno de los cuales es importante, pero uno de sus principales objetivos era determinar cuáles eran los más importantes. |
| |
Ejecutó un modelo de árbol potenciado con un único conjunto de validación de reserva y publicó una reserva de validación de alrededor de 0,7. Todo parecía estar bien |
| |
pero luego llegaron los críticos, volvieron a analizar los datos con un conjunto de reserva diferente y obtuvieron un cuadrado R de reserva de validación. |
| |
de menos de .1. Un cambio bastante grande. Están pasando de 0,7 a menos de 0,1 y esto se utilizó, los críticos realmente saltaron sobre esto y trataron de desacreditar lo que estaba pasando. |
| |
Ahora, Jaivime, en este punto, Jaivime, esto sucedió el año pasado y el artículo se retractó a principios de 2020... |
| |
Jaivime compartió los datos conmigo este verano y mi pensamiento fue hacer un análisis de validación cruzada un poco más riguroso y, de hecho, hacer K veces repetidas. |
| |
en lugar de una única oposición, para intentar llegar al fondo de esta discrepancia entre dos diferentes resistencias. Y lo que hice, tenemos una nueva rutina. |
| |
que viene con el complemento XGBoost que crea columnas plegables en K. Y si ve el conjunto de datos aquí, los he creado. Por razones de tiempo, no explicaremos cómo hacerlo. Pero hay |
| |
ahora hay un nuevo módulo que viene con el título llamado hacer columnas plegadas en K que le permitirá hacerlo. Y lo hice de forma estratificada. Y, curiosamente, llama JMP DOE debajo del capó. |
| |
Y la ventaja de hacerlo de esa manera es que puedes crear pliegues ortogonales, lo cual no es muy común. Aquí, déjame hacer una distribución rápida. |
| |
Que este fue el set de reserva que Jaivime hizo originalmente y se estratificó, lo cual creo que es una buena idea, ya que la respuesta está un poco sesgada. Y luego este fue el conjunto de reserva que usó el crítico, |
| |
y luego aquí están los pliegues que terminé usando. Hice tres esquemas diferentes. Y luego lo que quería destacar aquí es que estos pliegues son bastante ortogonales, |
| |
donde obtenemos una especie de ganancia máxima de información al hacer K veces tres veces separadas con tres conjuntos ortogonales. |
| |
Entonces, resulta que, como ya estaba usando árboles potenciados, lo siguiente que debe probar es el complemento XGBoost. Y me alegró mucho conocer este conjunto de datos y hablar de ello aquí. |
| |
Ahora, ¿qué pasó... permítanme hacer otro análisis aquí donde estoy haciendo un unidireccional en los conjuntos de validación? Resulta que me perdí lo que estoy haciendo aquí son las respuestas, este rendimiento de agua corregido. |
| |
Y estoy trazando eso frente a los conjuntos de validación. Resultó que Jaivime en su set de entrenamiento, |
| |
la parte superior de las cuatro o cinco mediciones principales terminaron en su conjunto de entrenamiento, lo cual creo que esta es la raíz del problema. |
| |
Mientras que en el conjunto de críticos sí lo hicieron... fue equilibrado, un poco más, y en particular lo peor... que la ubicación con la puntuación más alta estaba en el conjunto de validación. Y esta es una fuente natural de error porque va más allá de cualquier cosa que estuviera realizando la capacitación. |
| |
Y creo que este es realmente un caso en el que el K-fold, un análisis del tipo K-fold, es más convincente que simplemente hacer un único conjunto de reserva. |
| |
Yo diría que ambos conjuntos de reservas individuales tienen cierto sesgo y es mejor hacer más pliegues en los que estratifiques... distribuyas las cosas. |
| |
diferente cada vez y luego ver qué sucede después de múltiples ataques. Entonces puedes ver cómo se ven los pliegues que creé aquí en términos de distribución y ahora ejecutemos XGBoost. |
| |
Entonces, el complemento en realidad tiene muchas funciones y no quiero abrumarte hoy, pero nuevamente, te invito a seguir y pausar el video en algunos lugares si estás intentando seguirlo tú mismo. |
| |
asegurarse. Pero lo que hicimos aquí, simplemente ejecuté un guión. Y, por cierto, todo lo que hay en el diario tiene... Las tablas JMP son buenas, donde puedes guardar scripts. Entonces, lo que hice aquí fue ejecutar XGBoost desde ese script. |
| |
Permítanme sólo como ilustración, voy a volver a ejecutar esto directamente desde el menú. Esta será la forma en que quizás quieras hacerlo. Entonces, cuando instales el complemento, |
| |
presionas el modelado predictivo y luego XGBoost. Así que lo agregamos aquí mismo al menú de modelado predictivo. Y entonces la forma en que configurarías esto |
| |
es especificar la respuesta. Aquí está Y. Hay siete predictores, que colocaremos aquí como x y luego colocaremos sus columnas de plegado y validación. |
| |
Quería señalar aquí acerca de aquellos de ustedes que son usuarios experimentados de JMP Pro: XGBoost maneja las columnas de validación de manera un poco diferente que otras plataformas JMP. |
| |
Es una especie de marco experimental en este momento, pero según mi experiencia, creo que el plegado K repetido es una forma muy convincente de hacerlo y quería configurar el complemento para que sea más fácil. |
| |
Y aquí estoy colocando nuevamente estas columnas de plegado que creamos con la utilidad, y XGBoost automáticamente realizará el plegado K repetido simplemente especificándolo como lo hemos hecho aquí. |
| |
Si desea realizar una reserva única 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. |
| |
Otros XGBoost u otras rutinas de modelado predictivo dentro de JMP Pro, pero esta me pareció la forma más limpia de hacerlo. Y nuevamente, la forma recomendada sería ejecutar |
| |
Se repite el pliegue K como este, o al menos un solo pliegue K y luego puedes presionar OK. Obtendrá esta ventana de inicio inicial. |
| |
Y lo que pasa con XGBoost es que tiene muchos parámetros de ajuste. Los claves se enumeran aquí en este cuadro y puedes jugar con ellos. |
| |
Y luego resulta que hay muchas más, y están ocultas bajo estas opciones avanzadas, para las cuales no tenemos tiempo hoy. |
| |
Pero hemos intentado... estos son los más importantes que normalmente encontrará... en la mayoría de los casos, simplemente puede preocuparse por ellos. Y entonces, ¿qué... ejecutemos... sigamos adelante y ejecutemos esto nuevamente, solo desde aquí puede hacer clic en el botón Ir y luego se ejecutará XGBoost. |
| |
Ahora solo estoy ejecutando esto en una computadora portátil simple. Este es un conjunto de datos relativamente pequeño. Y muy bien... simplemente lo hicimos repetido, repetido cinco veces. |
| |
tres cosas diferentes, en cuestión de segundos. XGBoost está bastante bien ajustado y funcionará bien para 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... sobre el número de iteraciones, las iteraciones de ajuste, tenemos una curva de entrenamiento que es básicamente la función de pérdida que desea bajar. |
| |
Pero entonces la curva sólida es la curva de validación. Y puedes ver lo que pasó aquí. Justo después de que ocurrieran algunas iteraciones, esta curva tocó fondo y luego las cosas empeoraron mucho. |
| |
Así que este es realmente un caso en el que no querrás utilizar este modelo predeterminado. XGBoost ya está sobreajustado, |
| |
lo que a menudo sucederá con conjuntos de datos más pequeños como este y requiere la necesidad de realizar ajustes. |
| |
Hay muchos otros resultados al final, pero nuevamente, no... Yo no los consideraría dignos de confianza. En este punto, necesitarías... querrías hacer un pequeño ajuste. |
| |
Por hoy, hagamos un poco de ajuste manual, pero te animo. De hecho, hemos implementado un marco completo para crear un diseño de ajuste, |
| |
donde puede especificar una variedad de parámetros y buscar en el espacio de diseño y nuevamente usamos JMP DOE. |
| |
Entonces es... ya tenemos dos formas diferentes de usar DOE aquí, las cuales realmente han mejorado la funcionalidad. Por ahora, hagamos un pequeño ajuste manual basado en este gráfico. |
| |
Puedes ver si podemos... acercarnos a este gráfico y vemos que la curva está tocando fondo. Permítanme echar un vistazo literalmente justo después de tres o cuatro iteraciones, así que una cosa, una cosa realmente fácil que podemos hacer es, literalmente, simplemente detenernos, que es dejar de entrenar después de cuatro pasos. |
| |
Y mira lo que pasa. Por cierto, observe lo que sucedió con nuestro sobreajuste: nuestro cuadrado R de validación fue en realidad negativo, por lo que es bastante malo. Definitivamente no es un modelo recomendado. Pero si ejecutamos este nuevo modelo en el que solo vamos a tomar cuatro... solo cuatro pasos, |
| |
mira lo que pasa. |
| |
Mucho mejor validación R cuadrado. Ahora estamos alrededor de 0,16 y de hecho vamos a probar tres sólo por diversión. Mira qué pasa. |
| |
Un poquito peor. Como puedes ver, este es el tipo de cosas con las que puedes jugar. Hemos tratado de establecer este diálogo donde sea posible. |
| |
Y puedes hacer algunas comparaciones de modelos en esta tabla aquí al principio, te ayudará. Puede ordenar por diferentes columnas y encontrar el mejor modelo y luego, a continuación, puede profundizar en varios detalles del modelado. |
| |
Sigamos con el Modelo 2 aquí, y lo que podemos hacer es... |
| |
Sólo quedemos con ese y podrás limpiar... puedes limpiar los modelos que no quieras, eliminará los ocultos. |
| |
Y ahora estamos abajo, simplemente volvamos al modelo que queremos ver con más profundidad. Observe aquí que nuestro R cuadrado de validación es 0,17 aproximadamente. |
| |
Entonces, recuerden, esto en realidad está entre lo que Jaivime obtuvo originalmente y lo que obtuvo el crítico. |
| |
Y yo vería esto como una medida mucho más confiable de R cuadrado porque nuevamente se calcula sobre todo, en realidad ejecutamos 15 ajustes de modelado diferentes, |
| |
cinco veces tres veces diferentes. Entonces este es un promedio superior a esos. Así que creo que es una medida mucho más limpia y confiable del rendimiento del modelo. |
| |
Si se desplaza hacia abajo para ver cualquier modelo que se ajuste, hay bastantes resultados que analizar. Nuevamente... nuevamente, JMP es muy bueno... siempre tratamos de tener gráficos cerca de estadísticas que puedas |
| |
Ambos ven lo que está sucediendo y les asignan números y estos gráficos se muestran en vivo con normalidad y son muy interactivos. |
| |
Pero puede ver aquí que tenemos una capacitación real versus una validación prevista. Y las cosas casi siempre empeoran para la validación, pero esa es la realidad. |
| |
Y se puede ver nuevamente 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. |
| |
De modo que esas mediciones altas tienden... y todas las altas tienden a estar subestimadas, lo cual es bastante normal. Creo que para cualquier tipo de método como este, tenderá a querer reducirse. |
| |
valores extremos hacia abajo y simplemente ser conservador. Y así podrá ver exactamente dónde se cometen los errores y en qué medida. |
| |
Ahora, en cuanto al interés clave de Jaivime, eran... él estaba más interesado en ver qué variables realmente impulsaban |
| |
este efecto corregido por el agua. Y podemos ver que el que destaca como el número uno es este llamado PET. |
| |
Hay diferentes formas de evaluar la importancia de las variables en XGBoost. Puedes mirar el número directo de divisiones, como medida de ganancia, lo cual creo que es |
| |
Quizás el mejor para empezar. Se trata de cuánto mejora el modelo con cada uno, cada vez que se divide en una determinada variable. Hay otro que se llama cover. |
| |
En este caso, para cualquiera de los tres, este PET se perfila como el más importante. Y básicamente este análisis rápido parece ser donde está la acción para estos datos. |
| |
Ahora, con JMP, podemos hacer más. Y pueden ver aquí debajo del triángulo rojo de modelado que hemos adornado bastantes cosas nuevas. Puede guardar valores predictivos y fórmulas, |
| |
puedes publicar en Model Depot o Formula Depot y hacer más cosas allí. |
| |
Incluso tenemos rutinas para generar código Python, que no es solo para calificar, sino que en realidad sirve para hacer todo el entrenamiento y ajuste, lo cual es algo nuevo, pero ayudará a aquellos de ustedes que quieran hacer la transición desde JMP. Profesional en Python. Pero aquí, echemos un vistazo al generador de perfiles. |
| |
Y tengo que ofrecerle una breve disculpa a mi amigo Brad Jones en un video anterior, había olvidado reconocer que él fue el inventor del perfilador. |
| |
Entonces, este es en realidad un caso y una especie de crédito para él, donde lo estamos usando ahora de otra manera, que es para evaluar la importancia de las variables y cómo funciona cada variable. Para mí es realmente convincente. |
| |
marco donde podemos... podemos mirar esto. Y Charlie... Charlie se levantó inmediatamente del sofá cuando mencioné eso. Él está aquí a mi lado ahora. |
| |
Y entonces, mira lo que pasa... podemos ver lo interesante es que con esta variable PET, podemos ver el momento clave, parece ser tan pronto como PET |
| |
llega justo por encima de 1200 aproximadamente es cuando las cosas realmente despegan. Y es una muy buena ilustración 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 lo ayudan a interpretar. |
| |
el modelo de árbol potenciado. Creo que es una forma realmente agradable de hacer el análisis y lo recomendaría... y lo alentaría a que prueben esto con sus propios datos. |
| |
Pasemos ahora a otro ejemplo y volvamos a nuestro diario. |
| |
Como puedes ver, hay mucho aquí. Naturalmente, no tenemos tiempo para revisar todo. |
| |
Pero lo hemos hecho sólo por cuestión de tiempo. Quería mostrarles lo que sucede cuando tenemos un objetivo binario. Lo que acabamos de ver fue continuo. |
| |
Para ello utilizaremos el antiguo conjunto de datos sobre diabetes, que existe desde hace bastante tiempo y está disponible en la biblioteca de muestras de JMP. Y este conjunto de datos son los mismos datos, pero los hemos embellecido con algunos scripts nuevos. |
| |
Entonces, si obtienes el diario y lo descargas, obtendrás este tipo de versión mejorada que tiene |
| |
bastantes ejecuciones de XGBoost con diferentes objetivos binarios ordinales y, como recordarán, aquí tenemos mediciones bajas y altas que se derivan de esta variable Y original, |
| |
buscando una respuesta para la diabetes. Y aquí vamos a ir un poco más lejos. Imaginemos que estamos en una especie de contexto médico en el que realmente queremos utilizar una matriz de ganancias. Y nuestro objetivo es tomar una decisión. Vamos a predecir a cada persona, |
| |
ya sean altos o bajos, pero pensándolo bien, nos dimos cuenta de que si una persona es realmente alta, lo que está en juego es un poco más alto. |
| |
Y entonces, vamos a duplicar nuestras ganancias o pérdidas, dependiendo de si el estado real es alto. Y por supuesto, |
| |
Esta es la forma en que funciona y suele ser correcta... las decisiones correctas están aquí y aquí. |
| |
Y luego están aquí las incorrectas, y esas son en las que... usted quiere pensar en las cuatro celdas cuando configura una matriz como esta. |
| |
Y aquí vamos a hacer uno sencillo. Y se está duplicando y no sé si se les puede asignar valores monetarios reales o no. En realidad, eso es algo bueno si te encuentras en ese tipo de situación. |
| |
Quién sabe, tal vez podamos considerar que cada uno de ellos es un BitCoic, que quizás cueste alrededor de $ 10,000 cada uno o algo así. |
| |
No importa demasiado. Es más una cuestión de que queremos tomar una decisión óptima basada en nuestra |
| |
nuestras predicciones. Así que vamos a tener en cuenta esta matriz de ganancias cuando hagamos nuestro análisis ahora. En realidad, sólo se hace después de la adaptación del modelo. No se utiliza directamente en el propio accesorio. |
| |
Así que ahora vamos a ejecutar XGBoost aquí y tenemos un objetivo binario. Si notas el |
| |
la función objetivo ahora ha cambiado a una logística de pérdida logarítmica y eso es lo que se refleja aquí: esta es la probabilidad logarítmica logística. |
| |
Y puedes ver... ahora podemos mirar con un objetivo binario las métricas que usamos para evaluarlo son un poco diferentes. |
| |
Aunque, si se da cuenta, tenemos columnas de ganancias que se calculan a partir de la matriz de ganancias que acabamos de ver. |
| |
Pero si se encuentra en un escenario, tal vez en el que no quiera preocuparse tanto por una matriz de ganancias, sino simplemente por una especie de regresión binaria directa, puede observar métricas comunes como |
| |
solo precisión, que es lo opuesto a la tasa de clasificación errónea, es bueno observar estas correlaciones F1 o Matthews, así como un análisis ROC, que le ayuda a equilibrar la especificidad y la sensibilidad. Entonces todos esos están disponibles. |
| |
Y puedes profundizar. Una cosa nueva que quería mostrar y en la que todavía estamos trabajando un poco es que ahora tenemos una manera para que puedan jugar con sus umbrales de decisión. |
| |
Y ahora puedes hacer esto de forma interactiva. Y tenemos algo nuevo... algo nuevo que traza sus ganancias por umbral. |
| |
Así que este es un gráfico completamente nuevo que recién estamos comenzando a introducir en JMP Pro y tendrás que obtener el último usuario pionero de JMP 16 para poder obtenerlo, pero se adapta a la matriz de decisiones... |
| |
o la matriz de ganancias. Y luego, otra cosa en la que estamos trabajando es que se puede derivar un umbral óptimo basándose directamente en esta matriz. |
| |
Creo que, en este caso, sigue siendo 0,5. Y esto agrega información adicional sobre el tipo de cosas que puede querer hacer si su objetivo real es maximizar las ganancias. |
| |
De lo contrario, es probable que desee equilibrar la especificidad y la sensibilidad según su contexto, pero tiene las matrices de confusión típicas, que se muestran aquí, así como aquí junto con algunos gráficos tanto para entrenamiento como para validación. |
| |
Y luego las curvas de la República de China. |
| |
También obtienes el mismo tipo de cosas que vimos anteriormente en términos de importancias variables. Y sigamos adelante y hagamos el perfilador nuevamente, ya que en realidad es bueno... |
| |
También es bonito en este, en este caso. Podemos ver exactamente qué está pasando con cada variable. |
| |
Podemos ver, por ejemplo, aquí que el LTG y el 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 ver esa relación directamente. Y de hecho, a veces con los árboles se pueden obtener no linealidades, como aquí con el IMC. |
| |
No está claro si eso es algo real aquí, es posible que queramos hacer más, más análisis o mirar más modelos para asegurarnos de que tal vez esté sucediendo algo real aquí con ese pequeño |
| |
golpe que vemos. Pero estas son cosas que puedes descubrir, realmente divertidas e interesantes de ver. |
| |
Entonces, eso está ahí para jugar con el conjunto de datos sobre diabetes. La revista tiene mucho más que ofrecer. Hay dos ejemplos más que no mostraré hoy por motivos de tiempo, pero están documentados en detalle en la documentación de XGBoost. |
| |
Este es solo un documento PDF que detalla muchos detalles escritos sobre el complemento y lo guía paso a paso a través de estos dos ejemplos. Entonces, te animo a que los revises. |
| |
Y luego, la revista también contiene varias comparaciones diferentes que se han realizado. |
| |
Viste esta matriz violeta violeta que miramos. Este fue un estudio que se realizó en la Universidad de Pensilvania, |
| |
donde comparan toda una serie de métodos de aprendizaje automático entre sí a través de un montón de conjuntos de datos diferentes, y luego comparan cuántas veces uno supera al otro. Y XGBoost |
| |
salió como el modelo superior y esta comparación no siempre fue la mejor, pero en promedio tendió a superar a todos los demás que ves aquí. Entonces, aún hay más evidencia de la |
| |
potencia y capacidades de esta técnica. Ahora hay algunas otras cosas aquí en las que no entraré. |
| |
Este de Hill Valley es interesante. Es un caso en el que los árboles no funcionaron nada bien. Es una situación algo patológica pero interesante de estudiar, solo para ayudar a comprender lo que está pasando. |
| |
También hemos realizado algunas pruebas bastante exhaustivas internamente dentro de I+D en JMP y muchos de esos resultados se encuentran aquí en varios conjuntos de datos diferentes. |
| |
Y nuevamente, por razones de tiempo, no entraré en ellos, pero les animo a que los revisen. Lo hacen... todos nuestros resultados vienen junto con el diario aquí y puedes jugar con ellos en bastantes dominios y tamaños de datos diferentes. |
| |
Así que échales un vistazo. Diré sólo por diversión, nuestra conclusión en términos de velocidad se resume aquí en este pequeño meme. Tenemos dos autos diferentes. |
| |
En realidad, esto realmente funciona y está ajustado para utilizar todos los... todos los subprocesos que tienes en tu GPU... en tu CPU. |
| |
Y si está en Windows, con una tarjeta NVIDIA, incluso puede aprovechar su GPU, que a menudo ofrecerá tal vez cinco veces más velocidad. Muy divertido allí. |
| |
Así que déjame concluir el tutorial en este punto. Y de nuevo, animaros a comprobarlo. Quería ofrecer muchas gracias. Mucha gente ha estado involucrada |
| |
Y me preocupa que, en realidad, probablemente haya pasado por alto algunos aquí, pero al menos quería reconocer a estas personas. Hemos tenido un gran grupo de primeros usuarios. |
| |
Y proporcionaron comentarios muy agradables de Marie, Diedrich y estos muchachos de Villanova ya comenzaron a usar XGBoost en un salón de clases con éxito. |
| |
Entonces, fue genial escuchar eso. Y mucha gente dentro de JMP ha estado ayudando. |
| |
Por supuesto, esto se basa en toda la infraestructura de JMP. Es muy necesario enumerar toda la división JMP en algún momento con ayuda con esto, ha sido muy divertido trabajar en ello. |
| |
Y luego quiero agradecer a nuestro equipo de ciencias biológicas que me ha mantenido honesto en varias cosas. Y han estado ayudando con muchas sugerencias. |
| |
Y Luciano en realidad ha implementado un complemento XGBoost, un complemento diferente que va con JMP Genomics, por lo que te animo a que lo revises también si estás usando JMP Genomics. También puede llamar a XGBoost directamente dentro del marco de modelado predictivo allí. |
| |
Muchas gracias por su atención y espero que pueda probar XGBoost. |