kaggle机器学习模型集成中的报错
#模型集成
class AverageWeight(BaseEstimator, RegressorMixin):
def init(self,mod,weight):
self.mod = mod
self.weight = weight
def fit(self,X,y):
self.models_ = [clone(x) for x in self.mod]
for model in self.models_:
model.fit(X,y)
return self
def predict(self,X):
w = list()
pred = np.array([model.predict(X) for model in self.models_])
for data in range(pred.shape[1]):
single = [pred[model,data]*weight for model,weight in zip(range(pred.shape[0]),self.weight)]
w.append(np.sum(single))
return w
#给不同的模型赋予权重
weight_avg = AverageWeight(mod = [lasso,ridge,svr,elasticNet,KRR],weight=[0.07,0.24,0.29,0.06,0.34])
#输出预测结果
pred = weight_avg.predict(test_X_scaled)
pred = np.expm1(pred)
AttributeError: 'AverageWeight' object has no attribute 'models_'
如何解决这个报错,并输出结果
AverageWeight' 对象没有属性 'models_'