Introducción a árboles de decisión

1

¿Qué son los árboles de decisión?

2

Tu primer árbol de decisión con scikit-learn

3

Análisis de datos para tu primer árbol de decisión

4

Entrenamiento y evaluación de árbol de decisión con scikit-learn

5

¿Cómo funcionan los árboles de decisión?

6

¿Cuándo usar árboles de decisión?

Quiz: Introducción a árboles de decisión

Proyecto práctico: árboles de decisión

7

Conociendo problema a resolver y dataset de clasificación

8

Análisis exploratorio de datos para árbol de decisión

9

Procesamiento de datos para el entrenamiento de árbol de decisión

10

Entrenamiento de modelo de clasificación con árbol de decisión

11

¿Cómo evaluar un modelo de árbol de decisión?

12

Evaluación de resultados del modelo de árbol de decisión

Quiz: Proyecto práctico: árboles de decisión

Introducción a random forest

13

¿Qué son los random forest o bosques aleatorios?

14

Tu primer random forest con scikit-learn

15

Análisis de datos para tu primer random forest

16

Entrenamiento de tu primer modelo de random forest con scikit-learn

17

Evaluación de tu primer modelo de random forest con scikit-learn

18

¿Cómo funcionan los random forest?

19

¿Cuándo utilizar random forest?

Quiz: Introducción a random forest

Proyecto práctico: random forest

20

Entrenamiento de modelo de clasificación de carros con random forest

21

Evaluación de resultados del modelo de clasificación con random forest

Quiz: Proyecto práctico: random forest

Conclusión

22

Proyecto final y cierre

23

Comparte tu proyecto de Random Forest y obtén tu certificado

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Entrenamiento de tu primer modelo de random forest con scikit-learn

16/23
Recursos

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Ctrl Enter para ejecutar jeje

Excelente las explicaciones y el orden y comentarios de los notebook. 10/10

Me encanta la metodología y la forma de explicar de la profe Layla, like para más cursos con ella.

Qúe hace -n_estimators-

n_estimators es un hiperparámetro que se utiliza en algoritmos de conjunto de árboles, como Random Forests y Gradient Boosting, en el contexto de aprendizaje automático. Este hiperparámetro controla el número de árboles que se deben construir en el conjunto. Cada árbol se entrena en un subconjunto aleatorio de los datos de entrenamiento y luego contribuye a las predicciones del conjunto.

La elección adecuada del valor de n_estimators es importante, ya que puede influir en el rendimiento del modelo. Aquí hay algunas consideraciones clave:

  1. Menos árboles: Usar un valor pequeño de n_estimators puede llevar a un conjunto subóptimo de árboles que no capturan bien la estructura subyacente de los datos. El modelo puede tener un alto sesgo y un bajo rendimiento en el conjunto de datos de prueba.

  2. Más árboles: Aumentar el valor de n_estimators generalmente mejora la capacidad del modelo para generalizar y puede reducir el sobreajuste. Sin embargo, agregar demasiados árboles puede aumentar el costo computacional del entrenamiento y la inferencia, sin una mejora significativa en el rendimiento.

  3. Equilibrio: El valor óptimo de n_estimators generalmente se encuentra a través de la validación cruzada. Los practicantes de aprendizaje automático prueban diferentes valores de n_estimators y eligen el que da como resultado el mejor rendimiento en un conjunto de datos de validación o prueba.

  • En el caso de Random Forests, un valor típico para n_estimators podría ser 100 o más, pero esto puede variar según el problema y el tamaño del conjunto de datos. Para algoritmos de aumento (como Gradient Boosting), el valor óptimo de n_estimators puede ser menor que en Random Forests, ya que los árboles se agregan de manera secuencial y se detiene cuando se alcanza un cierto criterio de parada o cuando se logra un rendimiento satisfactorio.

En resumen, n_estimators es un hiperparámetro que controla la cantidad de árboles en un conjunto de árboles y debe ajustarse cuidadosamente para optimizar el rendimiento del modelo. La elección del valor adecuado depende del problema específico y debe determinarse mediante experimentación y validación cruzada.

Es importante tener en cuenta que el dataset con el que estamos trabajando contiene valores nulos implícitos en columnas "*bmi*", "*plasma*", "*blood* *pressure*", "*test*"(quizás en también en otras pero no hay forma de comprobarlo, dado que por ejemplo en pregnancies tiene sentido que exista un 0, aunque dada la estructura del dataset también podrían haber 0's que sean nan's) si reemplazamos los 0's por nan's obtenemos el siguiente conteo: ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-07-28%20a%20la%28s%29%206.55.29p.m.-41abe6d1-371d-4fdf-97c1-215bef64918b.jpg) en cuanto a la proporción de nulos dado el universo del dataset obtenemos las siguientes proporciones: ![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202024-07-28%20a%20la%28s%29%206.56.47p.m.-0eb09df0-f8c5-446a-a206-e78c0b551e5e.jpg) al hacer una matriz de correlación, notamos que estas variables tienen poco peso respecto a si el sujeto tendría o no diabetes en los próximos 5 años. Lo cuál no tendría sentido porque el significaría que tanto el test como la skin thikness son poco significativas para el análisis. Sin embargo esto se explica por la influencia de los nulos A raíz del análisis, mi hipótesis es que la presencia de nulos en skin thikness se explica por la presencia de nulos en el test. Es decir, quienes no se hicieron el test, tampoco se han hecho la medición de skin thickness. Por lo que si entrenamos los datos con nulos podríamos (~48.6%en la columna test) podríamos obtener resultados inválidos
***<u>El parámetro </u>***`n_estimators` en `RandomForestClassifier` indica la cantidad de árboles de decisión que se utilizarán en el bosque. Cada árbol se ajusta de manera independiente a diferentes subconjuntos de datos y luego sus predicciones se combinan para obtener una predicción final. En tu código: pythonCopy code`random_forest = RandomForestClassifier(n_estimators=10, random_state=00000`) * `n_estimators=10`: Esto significa que se crearán 10 árboles de decisión en el bosque. * `random_state=00000`: Esto establece la semilla del generador de números aleatorios para asegurar que los resultados sean reproducibles. La elección específica de `00000` es una convención para indicar que la semilla es 0. Entonces, `random_forest` es un objeto `RandomForestClassifier` que ha sido configurado para utilizar 10 árboles y una semilla específica para la aleatoriedad. Puedes entrenar este modelo en tus datos llamando al método `fit` y luego usarlo para hacer predicciones.
Feliz de seguir aprendiendo.

Si alguien lo necesita ya que no se esta utilizando ninguna notacion de variables(snake_case) como se estaba habituando

#Separamos en X e y
X = df_diabetes.drop('9. Class variable (0 or 1)', axis=1)
y = df_diabetes["9. Class variable (0 or 1)"]