sklearn.ensemble
.AdaBoostRegressor¶
- class sklearn.ensemble.AdaBoostRegressor¶
Un regresor de AdaBoost.
Un regresor de AdaBoost [1] es un metaestimador que comienza por ajustar un regresor en el conjunto de datos original y luego se ajusta a copias adicionales del regresor en el mismo conjunto de datos, pero donde las ponderaciones de las instancias se ajusta de acuerdo con el error de la predicción actual. Como tal, los regresores posteriores se centran más en casos difíciles.
Esta clase implementa el algoritmo conocido como AdaBoost.R2 [2].
Más información en el Manual de usuario.
Nuevo en la versión 0.14.
- Parámetros
- base_estimatorobject, default=None
El estimador base desde el cual se construye el ensemble potenciado. Si es
None
, entonces el estimador base esDecisionTreeRegressor
inicializado conmax_depth=3
.- n_estimatorsentero, default=50
El número máximo de estimadores en los que se termina la potenciación. En caso de ajuste perfecto, el procedimiento de aprendizaje se detiene pronto.
- learning_rateflotante, default=1.
La tasa de aprendizaje reduce la contribución de cada regresor por
learning_rate
. Hay una compensación entrelearning_rate
yn_estimators
.- loss{“linear”, “square”, “exponential”}, default=”linear”
La función de pérdida a usar al actualizar las ponderaciones después de cada iteración potenciadora.
- random_stateentero, instancia de RandomState o None, default=None
Controla la semilla aleatoria dada en cada
base_estimator
en cada iteración potenciadora. Por lo tanto, solo se utiliza cuandobase_estimator
expone unrandom_state
. Además, controla el bootstrap de arranque de las ponderaciones utilizadas para entrenar el “base_estimator” en cada iteración potenciadora. Pasa un entero para salida reproducible a través de múltiples llamadas de función. Ver Glosario.
- Atributos
- base_estimator_estimator
El estimador de base del cual el ensemble crece.
- estimators_lista de clasificadores
La colección de sub-estimadores ajustados.
- estimator_weights_ndarray de flotantes
Ponderaciones para cada estimador en el ensemble potenciado.
- estimator_errors_ndarray de flotantes
Error de regresión para cada estimador en el ensemble potenciado.
feature_importances_
ndarray de forma (n_features,)La importancia de las características basadas en la impureza.
Referencias
- 1
Y. Freund, R. Schapire, «A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting», 1995.
- 2
Drucker, «Improving Regressors using Boosting Techniques», 1997.
Ejemplos
>>> from sklearn.ensemble import AdaBoostRegressor >>> from sklearn.datasets import make_regression >>> X, y = make_regression(n_features=4, n_informative=2, ... random_state=0, shuffle=False) >>> regr = AdaBoostRegressor(random_state=0, n_estimators=100) >>> regr.fit(X, y) AdaBoostRegressor(n_estimators=100, random_state=0) >>> regr.predict([[0, 0, 0, 0]]) array([4.7972...]) >>> regr.score(X, y) 0.9771...
Métodos
Construye un regresor potenciado a partir del set de entrenamiento (X, y).
Obtiene los parámetros para este estimador.
Predice el objetivo de regresión para X.
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
Establece los parámetros de este estimador.
Devuelve predicciones escalonadas para X.
Devuelve las puntuaciones escalonadas para X, y.
- property feature_importances_¶
La importancia de las características basadas en la impureza.
Cuanto más alto, más importante sera la característica. La importancia de una característica se calcula como la reducción total (normalizada) del criterio traído por esa función. También se le conoce como la importancia de Gini.
Advertencia: las importancias de características basadas en la impureza pueden ser no representativas para las características de alta cardinalidad (muchos valores únicos). Ver
sklearn.inspection.permutation_importance
como una alternativa.- Devuelve
- feature_importances_ndarray de forma (n_features,)
La importancia de las características.
- fit()¶
Construye un regresor potenciado a partir del set de entrenamiento (X, y).
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.
- yarray-like de forma (n_samples,)
Los valores objetivo (números reales).
- sample_weightarray-like de forma (n_samples,), default=None
Ponderaciones de muestras. Si es None, las ponderaciones de las muestras se inicializan a ``1 / n_samples.
- Devuelve
- selfobject
- get_params()¶
Obtiene los parámetros para este estimador.
- Parámetros
- deepbool, default=True
Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- predict()¶
Predice el objetivo de regresión para X.
El valor de regresión predicho de una muestra de entrada se calcula como la predicción mediana ponderada de los clasificadores en el ensemble.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.
- Devuelve
- yndarray de forma (n_samples,)
Los valores de regresión predichos.
- score()¶
Devuelve el coeficiente de determinación \(R^2\) de la predicción.
El coeficiente \(R^2\) se define como \((1 - \frac{u}{v})\), donde \(u\) es la suma residual de cuadrados
((y_true - y_pred) ** 2).sum()
y \(v\) es la suma total de cuadrados((y_true - y_true.mean()) ** 2).sum()
. La mejor puntuación posible es 1.0 y puede ser negativa (porque el modelo puede ser arbitrariamente peor). Un modelo constante que siempre predice el valor esperado dey
, sin tener en cuenta las características de entrada, obtendría una puntuación \(R^2\) de 0,0.- Parámetros
- Xarray-like de forma (n_samples, n_features)
Muestras de prueba. Para algunos estimadores puede ser una matriz de núcleo precalculada o una lista de objetos genéricos con forma
(n_samples, n_samples_fitted)
, donden_samples_fitted
es el número de muestras utilizadas en el ajuste para el estimador.- yarray-like de forma (n_samples,) o (n_samples, n_outputs)
Valores verdaderos para
X
.- sample_weightarray-like de forma (n_samples,), default=None
Ponderaciones de muestra.
- Devuelve
- scoreflotante
\(R^2\) de
self.predict(X)
con respecto ay
.
Notas
La puntuación \(R^2\) utilizada al llamar a
score
en un regresor utilizamultioutput='uniform_average'
desde la versión 0.23 para mantener la coherencia con el valor predeterminado der2_score`
. Esto influye en el métodoscore
de todos los regresores de salida múltiple (excepto paraMultiOutputRegressor
).
- set_params()¶
Establece los parámetros de este estimador.
El método funciona en estimadores simples así como en objetos anidados (como
Pipeline
). Estos últimos tienen parámetros de la forma<component>__<parameter>
para que sea posible actualizar cada componente de un objeto anidado.- Parámetros
- **paramsdict
Parámetros del estimador.
- Devuelve
- selfinstancia del estimador
Instancia de estimador.
- staged_predict()¶
Devuelve predicciones escalonadas para X.
El valor de regresión predicho de una muestra de entrada se calcula como la predicción mediana ponderada de los clasificadores en el ensemble.
Este método generador produce la predicción del ensemble después de cada iteración potenciadora y por lo tanto permite el monitoreo, tal como determinar la predicción en un conjunto de pruebas después de cada potenciación.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Las muestras de entrada de entrenamiento.
- Produce
- ygenerador de ndarray de forma (n_samples,)
Los valores de regresión predichos.
- staged_score()¶
Devuelve las puntuaciones escalonadas para X, y.
Este método generador produce la puntuación del ensemble después de cada iteración potenciadora y por lo tanto permite el monitoreo, tal como determinar la puntuación en un conjunto de pruebas después de cada potenciación.
- Parámetros
- X{array-like, sparse matrix} de forma (n_samples, n_features)
Las muestras de entrada de entrenamiento. La matriz dispersa puede ser CSC, CSR, COO, DOK o LIL. COO, DOK, y LIL se convierten en CSR.
- yarray-like de forma (n_samples,)
Etiquetas para X.
- sample_weightarray-like de forma (n_samples,), default=None
Ponderaciones de muestra.
- Produce
- zflotante