En este artículo, aprenderemos sobre los diferentes hiperparámetros que existen en un clasificador de bosque aleatorio. Ya hemos aprendido sobre la implementación de Random Forest Classifier utilizando la biblioteca scikit-learn en el artículo https://www.geeksforgeeks.org/random-forest-classifier-using-scikit-learn/ .
Los hiperparámetros son configuraciones que no se pueden aprender de los datos regulares que proporcionamos al algoritmo, estos están integrados en el algoritmo y cada algoritmo tiene su propio conjunto predefinido de hiperparámetros. Los hiperparámetros a menudo se ajustan para aumentar la precisión del modelo, y podemos usar varios métodos, como GridSearchCV, RandomizedSearchCV, como se explica en el artículo https://www.geeksforgeeks.org/hyperparameter-tuning/ .
Se requiere una comprensión profunda de los hiperparámetros porque son responsables de decidir qué tan rápido un modelo puede ajustarse a los datos para producir resultados precisos. Por otro lado, no encontrar los valores óptimos de los hiperparámetros también puede resultar en una menor precisión debido a un problema de sobreajuste. Por lo tanto, vamos a echar un vistazo más de cerca a los hiperparámetros del clasificador de bosque aleatorio para tener una mejor comprensión de los hiperparámetros incorporados:
- n_estimators: sabemos que un bosque aleatorio no es más que un grupo de muchos árboles de decisión, el parámetro n_estimator controla la cantidad de árboles dentro del clasificador. Podemos pensar que usar muchos árboles para ajustar un modelo nos ayudará a obtener un resultado más generalizado, pero no siempre es así. Sin embargo, no causará ningún sobreajuste, pero sin duda puede aumentar la complejidad temporal del modelo. El número predeterminado de estimadores es 100 en scikit-learn.
- max_ depth: Rige la altura máxima hasta la que pueden crecer los árboles dentro del bosque. Es uno de los hiperparámetros más importantes cuando se trata de aumentar la precisión del modelo, a medida que aumentamos la profundidad del árbol, la precisión del modelo aumenta hasta cierto límite, pero luego comenzará a disminuir gradualmente debido al sobreajuste en el modelo. Es importante establecer su valor adecuadamente para evitar el sobreajuste. El valor predeterminado se establece en Ninguno. Ninguno especifica que los Nodes dentro del árbol continuarán creciendo hasta que todas las hojas se vuelvan puras o todas las hojas contengan menos de min_samples_split (otro hiperparámetro).
- min_samples_split: especifica la cantidad mínima de muestras que debe tener un Node interno para dividirse en más Nodes. Si tenemos un valor muy bajo de min_samples_splits, entonces, en este caso, nuestro árbol continuará creciendo y comenzará a sobreajustarse. Al aumentar el valor de min_samples_splits, podemos disminuir el número total de divisiones, limitando así el número de parámetros en el modelo y, por lo tanto, podemos ayudar a reducir el sobreajuste en el modelo. Sin embargo, el valor no debe mantenerse tan alto que una cantidad de parámetros caigan extremadamente y causen que el modelo no se ajuste. Por lo general, mantenemos el valor min_samples_split entre 2 y 6. Sin embargo, el valor predeterminado se establece en 2.
- min_samples_leaf: especifica la cantidad mínima de muestras que debe contener un Node después de dividirse. También ayuda a reducir el sobreajuste cuando tenemos una gran cantidad de parámetros. Menos número de parámetros también puede conducir a un sobreajuste, debemos tener en cuenta que aumentar el valor a un gran número puede conducir a una menor cantidad de parámetros y, en este caso, el modelo también puede quedar infraajustado. El valor predeterminado se establece en 1.
- max_features: el bosque aleatorio toma subconjuntos aleatorios de características e intenta encontrar la mejor división. max_features ayuda a encontrar la cantidad de características a tener en cuenta para hacer la mejor división. Puede tomar cuatro valores “ auto ”, “ sqrt ”, “ log2 ” y Ninguno .
- En caso de auto: considera max_features = sqrt(n_features)
- En el caso de sqrt: considera max_features = sqrt(n_features), es lo mismo que auto
- En caso de log2: considera max_features = log2(n_features)
- En caso de Ninguno: considera max_features = n_features
- max_leaf_nodes: establece un límite en la división del Node y, por lo tanto, ayuda a reducir la profundidad del árbol y ayuda de manera efectiva a reducir el sobreajuste. Si el valor se establece en Ninguno, el árbol continúa creciendo infinitamente.
- max_samples: este hiperparámetro ayuda a elegir el número máximo de muestras del conjunto de datos de entrenamiento para entrenar cada árbol individual.
Estos son los principales hiperparámetros que están presentes implícitamente en el clasificador de bosque aleatorio que se debe ajustar para aumentar la precisión de nuestro modelo de entrenamiento.
Publicación traducida automáticamente
Artículo escrito por saurabh48782 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA