sklearn.ensemble.VotingRegressor?

class sklearn.ensemble.VotingRegressor(estimators, *, weights=None, n_jobs=None, verbose=False)

[源碼]

對未擬合估計器的預測投票回歸。

0.21新增功能。

投票回歸器是一個集成元估計器,它適合幾個基本回歸器,每個基本回歸器都在整個數據集上。然后它平均每個預測結果,形成一個最終的預測結果。

用戶指南中閱讀更多內容。

參數 說明
estimators list of (str, estimator) tuples
VotingRegressor調用fit方法將你和存儲在類屬性self.estimators_中的原始估計器的克隆體。可以使用set_params將評估器設置為“drop”。
- 版本0.21中的更改:“drop”收錄進該版本。
自版本0.22以來已棄用: 使用None刪除評估器在0.22中已棄用,在0.24中刪除了該功能并使用字符串'drop'代替。
weights array-like of shape (n_classifiers,), default=None
權重序列(floatint),用于在平均(soft voting)之前對預測的類標簽(hard voting)或類概率的出現進行加權。如果沒有,使用統一的權重。
n_jobs int, default=None
int, default=None 所有并行estimators fit作業數量。除非在joblib.parallel_backend中,否則None表示是1。-1表示使用所有處理器。參見Glossary了解更多細節。
0.18版本新功能
verbose bool, default=False
如果為True,擬合時經過的時間將在擬合完成時打印出來。
屬性 說明
estimators_ list of estimators
估計器參數的元素,已在訓練數據上擬合。如果一個估計器被設置為“drop”,那么它將不會出現在estimators_中。
named_estimators_ Bunch
屬性來按名稱訪問任何擬合的子估計器。

另見

VotingClassifier 針對非擬合估計器的Soft Voting/Majority規則分類器。

實例

>>> import numpy as np
>>> from sklearn.linear_model import LinearRegression
>>> from sklearn.ensemble import RandomForestRegressor
>>> from sklearn.ensemble import VotingRegressor
>>> r1 = LinearRegression()
>>> r2 = RandomForestRegressor(n_estimators=10, random_state=1)
>>> X = np.array([[11], [24], [39], [416], [525], [636]])
>>> y = np.array([2612203042])
>>> er = VotingRegressor([('lr', r1), ('rf', r2)])
>>> print(er.fit(X, y).predict(X))
3.3  5.7 11.8 19.7 28.  40.3]

方法

方法 說明
fit(X[, y, sample_weight]) 擬合估計器。
fit_transform(X[, y]) 擬合估計器和變換數據集。
get_params([deep]) 從集成中得到估計器的參數。
predict(X) 為X預測回歸目標。
score(X, y[, sample_weight]) 返回預測的決定系數R^2。
set_params(**params) 從集成中設置估計器的參數。
transform(X) 返回每個估計器X的類標簽或概率。
__init__(estimators, *, weights=None, n_jobs=None, verbose=False)

[源碼]

初始化self。有關準確的簽名,請參見help(type(self))

fit(X, y, sample_weight = None)

[源碼]

擬合估計器。

參數 說明
X {array-like, sparse matrix} of shape (n_samples, n_features)
訓練向量,其中n_samples為樣本數量,n_features為特征數量。
y array-like of shape (n_samples,)
目標值。
sample_weight array-like of shape (n_samples,), default=None
樣本權重。如果沒有,那么樣本的權重相等。注意,只有當所有的潛在估計器都支持樣本權值時,才支持此方法。
返回值 說明
self object
擬合后的估計器。
fit_transform(X, y=None, **fit_params)

[源碼]

擬合數據,然后轉換它。

使用可選參數fit_params將transformer與X和y匹配,并返回X的轉換版本。

參數 說明
X {array-like, sparse matrix} of shape (n_samples, n_features)
訓練向量,其中n_samples為樣本數量,n_features為特征數量。
y ndarray of shape (n_samples,), default=None
目標值。
**fit_params dict
其他擬合參數。
返回值 說明
X_new ndarray array of shape (n_samples, n_features_new)
轉化后的數組。
get_params(deep=True)

[源碼]

從集成中得到估計器的參數。

參數 說明
deep deep : bool, default = True
將其設置為True將獲得各種分類器以及分類器的參數。
predict(X)

[源碼]

為X預測回歸目標。

輸入樣本的預測回歸目標計算為估計器在集成中的平均預測回歸目標。

參數 說明
X {array-like, sparse matrix} of shape (n_samples, n_features)
輸入樣本。
返回值 說明
y array-like of shape (n_samples,)
預測后的值。
score(X, y, sample_weight=None)

[源碼]

返回預測的決定系數R^2。

決定系數R^2為(1 - u/v),其中u為((y_true - y_pred) ** 2).sum()的殘差平方和,v為(y_true - y_true.mean()) ** 2).sum()的平方和。最好的可能的分數是1.0,它可能是負的(因為模型可以任意地更糟)。常數模型總是預測y的期望值,而不考慮輸入特征,得到的R^2得分為0.0。

參數 說明
X array-like of shape (n_samples, n_features)
測試樣本。對于一些估計器,這可能會被一個預先計算的內核矩陣或一列通用對象替代,而不是shape= (n_samples, n_samples_fitted),其中n_samples_fitted是用于擬合估計器的樣本數量。
y array-like of shape (n_samples,) or (n_samples, n_outputs)
X的正確值。
sample_weight array-like of shape (n_samples,), default=None
樣本權重。
返回值 說明
score float
self.predict(X)關于 y的決定系數R^2。

注意:

調用回歸變器的score時使用的R2 score,與0.23版本的multioutput='uniform_average'中r2_score的默認值保持一致。這影響了所有多輸出回歸的score方法(除了MultiOutputRegressor)。

set_params(**params)

[源碼]

從集成中設置估計器的參數。

有效的參數鍵可以用get_params()列出。

參數 說明
**params keyword arguments
使用例如set_params(parameter_name=new_value)的特定參數。此外,為了設置堆料估算器的參數,還可以設置疊加估算器的單個估算器,或者通過將它們設置為“drop”來刪除它們。
transform(X)

[源碼]

返回對每個估計量X的預測。

參數 說明
X {array-like, sparse matrix} of shape (n_samples, n_features)
輸入樣本。
返回值 說明
predictions ndarray of shape (n_samples, n_classifiers)
每個回歸變量預測的值。

sklearn.ensemble.VotingRegressor使用示例?