| 781 | self.trees[i, c] = tree |
| 782 | |
| 783 | def predict(self, X): |
| 784 | Y_pred = np.zeros((X.shape[0], self.out_dims)) |
| 785 | # 生成预测 |
| 786 | for c in range(self.out_dims): |
| 787 | y_pred = np.array([]) |
| 788 | for i in range(self.n_estimators): |
| 789 | update = np.multiply(self.weights[i, c], self.trees[i, c].predict(X)) |
| 790 | y_pred = update if not y_pred.any() else y_pred + update |
| 791 | Y_pred[:, c] = y_pred |
| 792 | if not self.is_regression: |
| 793 | # 分类问题输出最可能类别 |
| 794 | Y_pred = Y_pred.argmax(axis=1) |
| 795 | return Y_pred |
| 796 | |
| 797 | def score(self, X, y): |
| 798 | y_pred = self.predict(X) |