def fit(self, X, y):
sdim, fdim = X.shape
for i in range(self.n_estimators):
ridge = Ridge(alpha=self.alpha, normalize=self.normalize, random_state=self.random_state)
fidx = self._random_feature_idx(fdim, self.random_state+i*100)
sidx = self._random_sample_idx(sdim, self.random_state+i*10)
X_tmp = X[sidx][:,fidx]
if self.poly:
X_tmp = PolynomialFeatures(degree=2).fit_transform(X_tmp)[:,1:]
ridge.fit(X_tmp, y[sidx])
self.ridge_list[i] = ridge
self.feature_idx_list[i] = fidx
return self
评论列表
文章目录