m0_61705011 2021-11-26 14:35 采纳率: 100%
浏览 222
已结题

AttributeError: 'History' object has no attribute 'predict' 做集成时碰到这个问题怎么办呢?

问题遇到的现象和发生背景

做集成算法时出现了下列错误,求帮忙

问题相关代码,请勿粘贴截图
def TrainPredict(self,x_train,y_train,x_test):          #训练基础模型,并返回模型预测结果
    clf = self.estimator.fit(np.array(x_train),np.array(y_train))
    result = clf.predict(x_test)
    return result

def Bagging_clf(self, x_train, x_test, y_train, y_test, sample_type="RepetitionRandomSampling"):
    print("self.Bagging single_basemodel")
    result = ()

    if sample_type == "RepetitionRandomSampling":
        print("选择的采样方法:", sample_type)
        sample_function = self.RepetitionRandomSampling
    elif sample_type == "UnderSampling":
        print("选择的采样方法:", sample_type)
        sample_function = self.UnderSampling
        print("采样率", self.rate)
    elif sample_type == "IF_SubSample":
        print("选择的采样方法:", sample_type)
        sample_function = self.IF_SubSample
        print("采样率", (1.0 - self.rate))
    print(sample_function(train, len(train)))
    for i in range(self.n_estimators):
        sample = sample_function(train, len(train))  # 构建数据集
        x_train = np.array(sample)[:, :, 0:-1]
        y_train = np.array(sample)[:, :, -1]
        list(result).append(self.TrainPredict(x_train, y_train, x_test))  # 训练模型 返回每个模型的输出
    print(np.array(result))
    score = self.Voting(result)
    recall, precision = self.Metrics(score, y_test)
    return recall, precision

recall_self,precision_self = clf_self.Bagging_clf(x_train, x_test, y_train, y_test)
print("recall:",'\n',recall_self)
print("precision",'\n',precision_self)
运行结果及报错内容

Traceback (most recent call last):
File "D:\pycharm\practice\待改进(smote与模仿github中的自写bagging).py", line 236, in
recall_self,precision_self = clf_self.Bagging_clf(x_train, x_test, y_train, y_test)
File "D:\pycharm\practice\待改进(smote与模仿github中的自写bagging).py", line 170, in Bagging_clf
list(result).append(self.TrainPredict(x_train, y_train, x_test)) # 训练模型 返回每个模型的输出
File "D:\pycharm\practice\待改进(smote与模仿github中的自写bagging).py", line 133, in TrainPredict
result = clf.predict(x_test)
AttributeError: 'History' object has no attribute 'predict'

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 12月9日
      • 已采纳回答 12月1日
      • 创建了问题 11月26日

      悬赏问题

      • ¥15 内存管理的一段代码不是很理解
      • ¥20 打开anaconda时卡在Loading applications无法进入界面
      • ¥15 网页超时时间设置失效
      • ¥15 有关绿色信贷毕业论文的问题
      • ¥30 关于#机器人#的问题,如何解决?
      • ¥15 求MATLAB函数ScalarLayerDisplay的代码
      • ¥15 安卓如何自动执行检测到的NFC标签,无需再点确认
      • ¥15 pyHM库mouse模块的ValueError错误
      • ¥15 python opencv 摄像头 传感器
      • ¥30 eMMC&Android&C&Linux