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使用示例