‫Así que comencemos a sumergirnos en diferentes formas en las que podemos mejorar nuestros modelos mediante el ajuste de hiperparámetros.
‫El primero aquí es a mano.
‫Así que hagamos un pequeño título.
‫5. 1 tipo de ajuste de parámetros a mano.
‫Y hasta ahora, hemos hablado de lidiar con el entrenamiento y los conjuntos de datos de prueba, un modelo se entrena en el lado
‫del entrenamiento, encuentra patrones y luego se evalúa en el conjunto de prueba.
‫Entonces usa esos patrones.
‫Pero el ajuste de hiperparámetros introduce un tercer conjunto, un conjunto de validación.
‫Entonces, si echamos un vistazo aquí, así es como se verá cuando entrenemos los parámetros a mano.
‫Entonces, si comenzáramos con 100 registros de pacientes en el caso de nuestro problema de enfermedad cardíaca.
‫Ahora, nuevamente, esto puede cambiar dependiendo del problema con el que esté trabajando.
‫Y solo utilicé el número 100 porque es un número fácil de imaginar.
‫Así que estos son nuestros datos iniciales y lo que podríamos hacer es dividirlos.
‫Esto es lo que quiero decir con tres conjuntos diferentes.
‫Entonces nos separamos.
‫Podríamos usar del 70 al 80 por ciento.
‫Así que 70 registros de pacientes como división de entrenamiento.
‫Podríamos usar del 10 al 15 por ciento como división de validación y podríamos usar del 10 al 15 por ciento en una división de prueba.
‫Ahora, por supuesto, puede ajustar estos números.
‫Estos son solo algunos números comunes que verá utilizados.
‫Y, naturalmente, el modelo se entrena en esto, es lo que hemos visto antes.
‫Y, por lo general, sin el conjunto de validación, nuestro modelo será evaluado en estos, pero ahora que tenemos un conjunto de validación, aquí es donde vamos
‫a ajustar la configuración de nuestro modelo, a. k. una. los hiperparámetros, sintonice
‫la división de validación y, finalmente, como es habitual, se evalúa un modelo en la división de prueba.
‫Y ahora, la analogía aquí es, si lo recuerdas desde el principio, el concepto más importante en el
‫aprendizaje automático es el conjunto de tres.
‫Así que esto fue desde el principio.
‫El aprendizaje automático uno en el conjunto de capacitación es análogo a decir que estás en un curso universitario y estabas
‫aprendiendo los materiales del curso.
‫El conjunto de validación es donde pondría a prueba sus conocimientos un poco y vería qué necesita ajustar.
‫Así que obtendrías el examen de práctica de tu profesor y lo probarías y dirías: Oh, vaya, lo estoy
‫haciendo muy mal en las preguntas uno, dos y cuatro.
‫Quizás necesito ajustar la forma en que abordo esto.
‫Y luego vuelves a hacer el examen de práctica.
‫Y una vez que haya mejorado sus habilidades en el examen de práctica, se sentirá un
‫poco seguro y finalmente se evaluará a sí mismo en el examen final, que es el conjunto de pruebas.
‫Entonces, ¿cómo haríamos esto con el código?
‫Volvamos a nuestro cuaderno.
‫Entrenamiento tipo de parámetros con la mano, hagamos tres conjuntos, entrenamiento, validación y prueba.
‫Entonces, lo que haremos es simplemente recordarnos a nosotros mismos nuestros Get Prem's o recordarnos nuestros clasificadores de
‫bosque aleatorios, parámetros de línea de base.
‫Estos son todos los parámetros de referencia, a. k. una. la configuración de nuestro modelo, que podemos ajustar.
‫Y ahora, de hecho, ¿cuáles vamos a ajustar?
‫Bueno, después de leer la documentación del bosque aleatorio y nuevamente, puede hacer esto para cualquier estimación
‫o modelo de aprendizaje automático con ciclón, comenzamos a tener una idea de cómo podríamos ajustar cada configuración.
‫E incluso con algunos de los modelos, habrá algunas notas sobre diferentes tipos de parámetros.
‫Así que no puedo aprender a sugerir cambiar.
‫Eso es algo así como los que desea cambiar primero para probar.
‫Y así, después de leer eso.
‫Después de pasar por eso.
‫Entonces, en nuestro caso, intentaremos ajustar lo siguiente.
‫Por eso queremos profundidad máxima.
‫En realidad, los ponemos en práctica porque sabemos que están ahí, así que sabemos que pueden maximizar la profundidad.
‫Funciones máximas.
‫Quiero decir, las muestras se van si ninguna de estas tiene sentido.
‫Recuerde, la definición de todos estos se encuentra en la documentación de cualquier modelo.
‫Así que venimos aquí, muestras medias, dejamos el número mínimo de muestras necesarias para estar en un nodo hoja.
‫Y puede leer más en profundidad sobre qué es un nodo hoja si revisa algunos recursos en un bosque aleatorio en
‫profundidad.
‫Pero por ahora, solo nos estamos enfocando en cómo podemos ajustar los parámetros de un modelo de aprendizaje automático.
‫Quiero decir, hojas de muestras.
‫Y las muestras medias se dividen y una estimación es maravillosa.
‫Entonces, estos son el tipo de parámetros que vamos a ajustar y ahora usaremos nuestro mismo código que
‫antes, excepto que esta vez necesitamos crear una validación de entrenamiento y una división de prueba, que solo usa estas divisiones aquí.
‫Entonces, la división de entrenamiento se creará con el 70 por ciento de los datos, los conjuntos de validación y prueba
‫contendrán 15 cada uno y obtendremos algunos resultados de referencia.
‫Así que ya los tenemos, pero lo haremos de nuevo, obtendremos algunos resultados de referencia y
‫luego veremos cómo podemos ajustar los parámetros híbridos de los modelos a mano.
‫Y dado que vamos a evaluar algunos modelos, creo que es importante que creemos una función de
‫evaluación.
‫Así que esto es lo que quizás quieras hacer.
‫Cualquiera que sea el modelo en el que esté trabajando es crear funciones si sabe que desea hacer algo más de
‫una vez.
‫Por lo que ahorra escribir mucho código.
‫Pero, de nuevo, eso probablemente sea un poco diferente a lo que hemos visto en el pasado.
‫Sabemos que nos gusta escribir todo a mano.
‫Solo dejamos un poco de doctor aquí.
‫Comparación de la evaluación del rendimiento sobre por qué las etiquetas verdaderas, las etiquetas generalizadas.
‫Y ahora, como vimos en la sección de evaluación, lo principal que hace la evaluación del modelo de
‫aprendizaje automático es comparar sus predicciones con las etiquetas verdaderas.
‫Entonces eso es lo que va a hacer esta función.
‫Entonces, debido a que estamos trabajando con el clasificador, queremos precisión, precisión, puntaje.
‫¿Por qué es cierto?
‫¿Por qué desfiles?
‫También queremos precisión.
‫Y ahora podríamos notar aquí en nuestro modelo de clasificación, porque si usamos estos diferenciales de evaluación
‫en un modelo de regresión, estamos colocando métricas de clasificación, obtendremos errores porque un modelo
‫de regresión predice cosas diferentes a lo que una clasificación modelo predice precisión.
‫Y luego no recordaremos, por supuesto, es igual a la puntuación de recuerdo.
‫Y ahora, nuevamente, podría ajustar esto, evaluar los desfiles, funcionar para lo que necesita.
‫Pero solo voy a incluir algunas de las métricas más comunes que hemos cubierto para los modelos de clasificación,
‫algunas de las cosas a las que debe prestar atención básicamente para todos sus modelos de clasificación.
‫¿Por qué desfiles?
‫Y luego crearemos un diccionario para que pueda devolver la predicción para que podamos
‫compararlas con otras predicciones más adelante.
‫La precisión llegará a dos decimales.
‫Sí, precisión, precisión redonda.
‫Para.
‫Ahora, recuerde siempre, si esto parece mucho, es porque, en primer lugar, es mucho para asimilar
‫de un golpe.
‫Y lo segundo es que he tenido un poco de práctica con esto, así que inherentemente sé qué
‫usar.
‫Una vez más, siempre estoy aprendiendo, pero acabo de tener un poco de práctica en la construcción de este tipo de sistemas específicos.
‫Y estos patrones surgen una y otra vez.
‫Ve a imprimir.
‫Solo queremos darnos una pequeña impresión de lo que está sucediendo.
‫Ach, precisión.
‫Veces 100, y luego solo queremos dos lugares decimales que sean suficientes, entonces iremos a
‫lo mismo si es precisión.
‫Esto puede ser precisión, no necesitaremos multiplicar eso por 100 que puede permanecer en dos lugares decimales.
‫Necesitamos una cadena con una letra maravillosa y vamos a recordar que, para empezar, es mucho para escribir.
‫Pero debido a que podremos reutilizarlo, nos salvará en el futuro.
‫Y finalmente, queremos a Trent.
‫Si una escuela.
‫Lo estamos logrando finalmente lo estamos haciendo un esfuerzo excelente.
‫Aquí vamos.
‫está bien.
‫Y finalmente, queremos devolver nuestra fecha métrica.
‫Ahora bien, ¿qué está pasando aquí?
‫Bueno, esencialmente, esta función solo toma algunas etiquetas verdaderas y algunas etiquetas de predicción de nuestros modelos de clasificación.
‫Sabemos esto por la cadena aquí.
‫Va a calcular diferentes funciones de evaluación aquí y luego devolverá un diccionario de métricas para que podamos
‫guardarlo para más adelante.
‫Y también imprimirá algunas métricas para que podamos obtener una impresión tan pronto como ejecutemos esta función.
‫Entonces es solo una función de evaluación para nuestros modelos de clasificación.
‫Maravilloso.
‫Y voy a guardar el cuaderno aquí, como siempre.
‫Ahora, ¿cómo crearíamos exactamente estos pilotos de prueba y validación de trenes?
‫Bueno, nuestra función de división de prueba de trenes que hemos visto antes.
‫¿Recuerdas esta exhibición de un tren?
‫Así que este solo devuelve, entrena divisiones, matrices de matrices en subconjuntos aleatorios de entrenamiento y prueba.
‫Este solo se divide en conjuntos de prueba y de tren.
‫Entonces, lo que debemos hacer es dividir manualmente nuestros datos en la validación del tren en el sentido de la prueba.
‫Y así hacer esto.
‫Podemos, cómo podemos hacer esto porque nuestros datos están en un marco de datos, enfermedad cardíaca, deberíamos poder
‫hacerlo usando algunas buenas matemáticas e indexación.
‫Veamos cómo diríamos desde Ascalon, importaremos nuestro modelo primero, aunque ya hemos instanciado un clasificador
‫de bosque aleatorio.
‫Vamos.
‫Vaya a la semilla aleatoria MPLX, y luego barajaremos los datos.
‫¿Por qué estamos barajando los datos aquí si los estamos dividiendo en validación de trenes y probamos donde queremos mezclarlos? Asegúrate de que
‫no sea lo mismo, los registros vienen en el orden en que ingresan.
‫Si estamos usando la división para crear nuestra validación de tren y probar lo que queremos, asegurarnos de que todos
‫estos registros estén mezclados.
‫Entonces eso es lo que haremos.
‫Podemos mezclarlo usando la función de muestra de pandas o difractar la de águilas para el 100 por ciento de los datos.
‫Esto solo tomará la muestra de la enfermedad cardíaca de forma aleatoria y luego reasignará el marco de
‫datos de la enfermedad cardíaca a su variable normal.
‫Por lo tanto, tomará este ejemplo de un grupo de filas al azar y luego lo reasignará a esta variable, a. k. una.
‫barajar los datos.
‫Ahora, ahora los datos se están barajando, se dividirán en X e Y.
‫De hecho, podríamos guardar eso para las enfermedades del corazón.
‫Mezclado como una mejor idea.
‫X es igual a esta vez, necesitamos barajar las enfermedades del corazón y luego vamos a dejar la columna de destino aquí.
‫Este video se basa un poco, pero este es un concepto importante, ¿verdad?
‫Vamos a ver aquí.
‫Todo valdrá la pena porque podremos mejorar nuestros modelos mediante la sintonización de alto
‫rendimiento, dividir la validación de datos y los conjuntos de pruebas.
‫Maravilloso.
‫Entonces el tren se partió, ¿cómo vamos a hacer esto?
‫Bueno, necesitamos crear un número que podamos usar para cortar.
‫Entonces queremos el 70 por ciento de la longitud de nuestros datos.
‫Entonces ves lo que está pasando aquí.
‫Intente dividir cuando necesite un número.
‫Necesitamos el 70 por ciento.
‫Así que se barajaron cero coma siete veces la duración de la enfermedad cardíaca.
‫Y esto será el 70 por ciento de los datos y luego necesitamos una división válida.
‫¿Cuál va a ser recuerdas?
‫¿Recuerda cuál es la división, el 15 por ciento?
‫Eso es lo que acordamos.
‫Maravilloso.
‫Entonces podemos hacer eso de la misma manera que se dividirá en tren porque queremos indexar.
‫Queremos el próximo 15 por ciento.
‫Así que intente dividir más cero punto cinco uno cinco.
‫La duración de nuestra enfermedad cardíaca se barajó.
‫Marco de datos, esto es el 15 por ciento de los datos, maravilloso, por lo que el tren X y el tren serán los datos X.
‫Hasta la división del tren.
‫Y el por qué los datos hasta los trenes serían maravillosos y luego son válidos, ¿por qué válidos?
‫Lo siento, serán los datos de la división del tren.
‫A la división válida y lo mismo de por qué será el por qué los datos de la división del tren.
‫A la división válida.
‫Y luego vamos a tener la prueba X y por qué la prueba serán los datos X desde la división válida
‫en adelante.
‫Entonces, el resto de los datos y luego por qué desde la división válida en adelante, quién se perdió hasta ahora, veamos qué está
‫pasando.
‫Bien, vámonos.
‫Len imprimió el tren X y luego queremos que Lenn X sea válido.
‫Y luego queremos la prueba de Glenn X.
‫está bien.
‫Entonces ese centro de capacitación tiene el 70 por ciento de los datos, a. k. una. 212 subió, el conjunto de validación
‫tiene 46 subió, el 15 por ciento de los datos y el conjunto de prueba tiene 46 subió.
‫Eso es el 15 por ciento de los datos.
‫Aquí hay diferentes cantidades, incluso que son ambas del 15 por ciento porque hemos usado Rand.
‫Tenemos un número impar de muestras en el conjunto de datos barajados de enfermedades cardíacas.
‫Entonces habrá un desbordamiento de uno en algún lugar que está perfectamente bien.
‫Bien, ahora tenemos nuestras divisiones.
‫Podemos hacer CLF instanciar un clasificador de bosque aleatorio.
‫Y ahora que no hemos pasado nada aquí, esto lo va a instanciar con los parámetros de línea de base.
‫Entonces, si hacemos esto, CLF no recibirá a Perens.
‫Oh, eso no es un atributo, es una función, así que sin pasar nada para escuchar nuestro primer clasificador aleatorio e instancia el clasificador de forma aleatoria con los
‫parámetros de línea de base, a. k. una. esta.
‫Y eso es lo que queremos porque queremos hacer algunas predicciones de referencia.
‫Así que vamos a lo alto, vamos a encajar en los datos de entrenamiento como de costumbre, y luego
‫haremos predicciones.
‫Entonces, ¿por qué desfiles es igual a Cele después de predecir?
‫No, vamos a predecir los datos de validación porque volvemos aquí.
‫Queremos ajustar nuestro modelo en la división de validación.
‫Entonces, en eso estamos basando nuestra métrica, primero crearemos una métrica de referencia, que es ejecutando nuestra función de evaluación
‫en la división de validación, luego ajustaremos los hiperparámetros y probaremos nuestro modelo nuevamente en la división de
‫validación y veremos cómo se comparan.
‫Así que sigamos adelante y hagamos predicciones, las llamaremos predicciones de referencia y luego evaluaremos el
‫clasificador en el conjunto de validación.
‫Así que obtuvimos métricas de referencia y aquí es donde nuestra función de evaluación será útil.
‫Métricas Eagles evalúan tintos y válidos.
‫Veo cómo publicamos el por qué del conjunto de validación y las tarifas.
‫Y luego queremos ir a las métricas de referencia.
‫Bueno, qué tenemos, referencia de precisión de variable local antes, oh, esto es lo que nos hemos perdido.
‫Esta debe ser la puntuación de precisión de esto nuevamente.
‫Está hecho terrible.
‫Ahora, ¿qué está pasando aquí en el mismo punto a dos?
‫¿Hemos hecho esto correctamente?
‫Oh, ahí vamos.
‫Es por eso que hemos usado nuestra C original que era así.
‫Necesitamos usar la reproducción aleatoria de enfermedades cardíacas porque, de lo contrario, nuestro modelo predecía las etiquetas originales en lugar
‫de mezclar las etiquetas ahora.
‫Así que eso es lo que nos perdimos.
‫Tienen un tipo que, así que estamos recibiendo esta advertencia aquí de que el valor de una estimación cambiará
‫de 10 inversión, cero punto dos a cien y punto a dos.
‫Así que estas son nuestras métricas de referencia.
‫Ahora, lo que hemos hecho es crear una validación de tren y una división de prueba.
‫Hemos creado instancias y modelado solo si lo hubiéramos hecho antes con los datos de entrenamiento aquí.
‫Y luego evaluamos los parámetros de referencia, el tipo de parámetros de referencia en el conjunto de validación
‫y obtuvimos estas métricas.
‫Entonces, si intentáramos mejorar nuestros resultados, si intentáramos ajustar nuestros modelos, hiperparámetros.
‫Estos aquí en nuestro bosque aleatorio a mano, porque eso es lo que es esta sección, ajustar los parámetros a
‫mano.
‫¿Cómo lo haríamos?
‫Tomemos esta advertencia como un ejemplo de cambio de un hiperparámetro.
‫Cambiémoslo de nuevo.
‫Si está usando psicodelia y señala el recorrido anterior, no recibirá esta advertencia.
‫Pero como lo estamos, estamos recibiendo esta advertencia, vamos a intentar ajustarnos.
‫Nuestros parámetros híbridos cambiarán.
‫Una estimación es ¿cuál es este aquí?
‫Lo cambiaremos de la línea base de 10 a 100 y veremos si obtenemos
‫una puntuación diferente en el conjunto de validación, gran semilla aleatoria, semilla aleatoria 40 a lo que vamos a hacer es crear un
‫segundo clasificador con diferentes tipos de parámetros. porque recuerda.
‫Instanciar nuestro lanzamiento aleatorio de primera clase aquí, sin pasarle nada, instancia el clasificador con los hiperparámetros de línea
‫de base con los que viene desde el primer momento.
‫Así que como usar la configuración predefinida de su Arvind cuando sale de la caja para cocinar su plato favorito.
‫Estas escuelas realmente no nos están ayudando aquí.
‫Queremos un mejor modelo que también creará CLF, y vamos a ajustar los hiperparámetros como lo
‫haría con su horno para tratar de mejorar ese delicioso plato de pollo asado favorito que está preparando.
‫Tal vez te estés preparando para una gran función a la que vendrán tus amigos o tú y les has prometido
‫un gran plato.
‫Entonces estás tratando de perfeccionarlo.
‫Eso es lo que estamos haciendo con nuestro modelo de aprendizaje automático.
‫Entonces, nuevamente, lo mismo, los mismos datos encajados en los datos de entrenamiento.
‫Pero esta vez tenemos CLF dos, que utiliza una estimación de 100 en lugar de 10.
‫Y ahora, nuevamente, podríamos probar diferentes configuraciones para todas estas funciones aquí, las que
‫vamos a probar y ajustar, pero podríamos comenzar con solo una, ver un ejemplo de ella, y luego
‫haremos predicciones.
‫Entonces, ¿por qué desfiles también? Porque nos estamos usando a nosotros mismos para ayudar a predecir.
‫Es valido.
‫Estamos haciendo lo mismo aquí arriba, las predicciones de referencia están en el conjunto de
‫validación y ahora hacen predicciones con diferentes parámetros.
‫El mismo día, hay un modelo diferente, los mismos datos y ahora vamos a evaluar el segundo
‫clasificador.
‫Dejó dos métricas, Eagles, ya estamos usando nuestra función de valoración de nuevo, la que creamos antes,
‫y estamos ahorrando unas pocas líneas de código con solo extraerlo así.
‫Está bien.
‫Ahora echemos un vistazo.
‫Ah, está bien, ahora si comparamos usando los hiperparámetros de referencia con los que vino nuestro modelo, ¿qué podemos decir que sea
‫diferente aquí?
‫Todo lo que hemos cambiado es una estimación igual a 100, por lo que hemos ajustado un dial en nuestro modelo.
‫Así que, como ajustar un dial en su horno, podemos ver un ligero aumento en la precisión de los mismos datos.
‫Entonces CAFTA tiene una precisión ligeramente mayor.
‫Va a una mayor precisión.
‫Pero un recuerdo menor y en la misma F una escuela.
‫Hmm, está bien, eso nos da un pequeño indicio de que tal vez si seguíamos con diferentes parámetros
‫altos, seguíamos intentando ajustarlos.
‫A mano, eventualmente, con suerte, seguiríamos mejorando estas métricas.
‫Entonces, ¿qué crees que haríamos a continuación si subimos aquí?
‫Quizás intentamos cambiar la profundidad máxima.
‫Entonces, ¿cuál es la profundidad máxima predeterminada?
‫Lo encontramos aquí, Max.
‫La profundidad es ninguna.
‫Entonces, tal vez miremos la documentación y vayamos a las diferentes variables que la longitud máxima puede tomar para que
‫pueda tomar enteros o ninguno.
‫El valor predeterminado es ninguno.
‫La profundidad máxima del árbol y haciendo nuestra investigación, leyendo la documentación, vemos algunos valores diferentes para
‫la profundidad máxima.
‫Entonces volveremos a nuestro modelo aquí y tal vez creemos un clasificador de bosque aleatorio de tres iguales.
‫Esta vez mantendremos una estimación de que lo mismo es igual a cien y luego cambiaremos la profundidad máxima de
‫nueve a 10.
‫Ahora, no he inventado este número, investigué un poco, leí la documentación y descubrí diferentes ideas
‫para la profundidad máxima, y luego podríamos hacer lo mismo que hemos hecho aquí.
‫Evalúe nuestro tercer clasificador, como puede haber adivinado, como podría haber pensado, si revisamos
‫y ajustamos todos estos a mano, ajustando todas las perillas a mano, eso llevará un poco
‫de trabajo.
‫Derecha.
‫Así que, al igual que perfeccionar su plato en la vida real, como si estuviera preparando su plato de pollo favorito, todo el
‫mundo vendría a cenar, tratando de ajustar la configuración de su horno.
‫Puede que tenga que pasar por un poco de prueba y error.
‫Derecha.
‫Puede cocinarlo una vez y luego no es tan bueno.
‫Y luego, por décima vez, empiezas a ser realmente bueno.
‫Pero eso podría llevar mucho más tiempo con lo que estamos tratando de hacer aquí.
‫Escribiendo código, si tenemos todas estas configuraciones diferentes aquí arriba, tratando de cambiarlas, tratando de encontrar
‫las mejores configuraciones que podrían tomar mucho más tiempo de lo que tenemos.
‫Y la regla está en código, no se repita.
‫Así que podría haberlo adivinado.
‫Así que no puedo aprender tiene una forma, un método incorporado que puede hacer esto por nosotros.
‫Pruebe un montón de configuraciones diferentes para nosotros.
‫Y esa es la búsqueda aleatoria c. v.
‫Vamos a ver eso en el próximo video.
‫Este ya se está haciendo demasiado largo.
‫Pero la conclusión principal aquí es que cuando ajustamos un tipo de modelo de parámetros, puede pensar en el conjunto
‫de capacitación como en los materiales del curso en los que está aprendiendo los datos básicos.
‫Ese es el conjunto de entrenamiento.
‫Y luego, en el examen de práctica, refina lo que sabe.
‫Entonces, ya aprendió todos los patrones de línea de base como nuestro modelo.
‫Y luego, con el conjunto de validación, estamos ajustando la configuración.
‫Así que estamos refinando lo que sabe el modelo, cómo aprende diferentes cosas antes de ponernos a prueba en
‫el examen final.
‫Entonces.
‫Bien, antes de que evaluemos nuestro modelo en el conjunto de prueba.
‫Ahora, no se preocupe, si se siente un poco abrumado, revise el código
‫que hemos escrito, compruébelo.
‫Puede intentar ajustar algunos parámetros diferentes usted mismo, pero no se preocupe.
‫Veremos en el siguiente video cómo podemos usar un módulo en Saikat, aprende a probar diferentes tipos de
‫parámetros por nosotros.