标签:
class sklearn.ensemble.AdaBoostRegressor(base_estimator=None, n_estimators=50, learning_rate=1.0, loss=‘linear‘,random_state=None)[source]
An AdaBoost regressor.
An AdaBoost [1] regressor is a meta-estimator that begins by fitting a regressor on the original dataset and then fits additional copies of the regressor on the same dataset but where the weights of instances are adjusted according to the error of the current prediction. As such, subsequent regressors focus more on difficult cases.
This class implements the algorithm known as AdaBoost.R2 [2].
Read more in the User Guide.
Parameters: |
base_estimator : object, optional (default=DecisionTreeRegressor)
n_estimators : integer, optional (default=50)
learning_rate : float, optional (default=1.)
loss : {‘linear’, ‘square’, ‘exponential’}, optional (default=’linear’)
random_state : int, RandomState instance or None, optional (default=None)
|
---|---|
Attributes: |
estimators_ : list of classifiers
estimator_weights_ : array of floats
estimator_errors_ : array of floats
feature_importances_ : array of shape = [n_features]
|
See also
AdaBoostClassifier, GradientBoostingRegressor, DecisionTreeRegressor
References
[R123] | Y. Freund, R. Schapire, “A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting”, 1995. |
[R124] |
|
Methods
fit(X, y[, sample_weight]) | Build a boosted regressor from the training set (X, y). |
get_params([deep]) | Get parameters for this estimator. |
predict(X) | Predict regression value for X. |
score(X, y[, sample_weight]) | Returns the coefficient of determination R^2 of the prediction. |
set_params(**params) | Set the parameters of this estimator. |
staged_predict(X) | Return staged predictions for X. |
staged_score(X, y[, sample_weight]) | Return staged scores for X, y. |
Returns: | feature_importances_ : array, shape = [n_features] |
---|
Build a boosted regressor from the training set (X, y).
Parameters: |
X : {array-like, sparse matrix} of shape = [n_samples, n_features]
y : array-like of shape = [n_samples]
sample_weight : array-like of shape = [n_samples], optional
|
---|---|
Returns: |
self : object
|
Get parameters for this estimator.
Parameters: |
deep: boolean, optional :
|
---|---|
Returns: |
params : mapping of string to any
|
Predict regression value for X.
The predicted regression value of an input sample is computed as the weighted median prediction of the classifiers in the ensemble.
Parameters: |
X : {array-like, sparse matrix} of shape = [n_samples, n_features]
|
---|---|
Returns: |
y : array of shape = [n_samples]
|
Returns the coefficient of determination R^2 of the prediction.
The coefficient R^2 is defined as (1 - u/v), where u is the regression sum of squares ((y_true - y_pred) ** 2).sum() and v is the residual sum of squares ((y_true - y_true.mean()) ** 2).sum(). Best possible score is 1.0, lower values are worse.
Parameters: |
X : array-like, shape = (n_samples, n_features)
y : array-like, shape = (n_samples) or (n_samples, n_outputs)
sample_weight : array-like, shape = [n_samples], optional
|
---|---|
Returns: |
score : float
|
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The former have parameters of the form <component>__<parameter> so that it’s possible to update each component of a nested object.
Returns: | self : |
---|
Return staged predictions for X.
The predicted regression value of an input sample is computed as the weighted median prediction of the classifiers in the ensemble.
This generator method yields the ensemble prediction after each iteration of boosting and therefore allows monitoring, such as to determine the prediction on a test set after each boost.
Parameters: |
X : {array-like, sparse matrix} of shape = [n_samples, n_features]
|
---|---|
Returns: |
y : generator of array, shape = [n_samples]
|
Return staged scores for X, y.
This generator method yields the ensemble score after each iteration of boosting and therefore allows monitoring, such as to determine the score on a test set after each boost.
Parameters: |
X : {array-like, sparse matrix} of shape = [n_samples, n_features]
y : array-like, shape = [n_samples]
sample_weight : array-like, shape = [n_samples], optional
|
---|---|
Returns: |
z : float |
A decision tree is boosted using the AdaBoost.R2 [1] algorithm on a 1D sinusoidal dataset with a small amount of Gaussian noise. 299 boosts (300 decision trees) is compared with a single decision tree regressor. As the number of boosts is increased the regressor can fit more detail.
[1] |
|
print(__doc__) # Author: Noel Dawe <noel.dawe@gmail.com> # # License: BSD 3 clause # importing necessary libraries import numpy as np import matplotlib.pyplot as plt from sklearn.tree import DecisionTreeRegressor from sklearn.ensemble import AdaBoostRegressor # Create the dataset rng = np.random.RandomState(1) X = np.linspace(0, 6, 100)[:, np.newaxis] y = np.sin(X).ravel() + np.sin(6 * X).ravel() + rng.normal(0, 0.1, X.shape[0]) # Fit regression model regr_1 = DecisionTreeRegressor(max_depth=4) regr_2 = AdaBoostRegressor(DecisionTreeRegressor(max_depth=4), n_estimators=300, random_state=rng) regr_1.fit(X, y) regr_2.fit(X, y) # Predict y_1 = regr_1.predict(X) y_2 = regr_2.predict(X) # Plot the results plt.figure() plt.scatter(X, y, c="k", label="training samples") plt.plot(X, y_1, c="g", label="n_estimators=1", linewidth=2) plt.plot(X, y_2, c="r", label="n_estimators=300", linewidth=2) plt.xlabel("data") plt.ylabel("target") plt.title("Boosted Decision Tree Regression") plt.legend() plt.show()
标签:
原文地址:http://www.cnblogs.com/chaofn/p/4684176.html