for p in combinations(self.indices_, r=dim-1):
                    score = self._calc_score(X_train, y_train,
                                             X_test, y_test, p)
                    scores.append(score)
                    subsets.append(p)
    
                best = np.argmax(scores)
                self.indices_ = subsets[best]
                self.subsets_.append(self.indices_)
                dim -= 1
                self.scores_.append(scores[best])
            self.k_score_ = self.scores_[-1]
    
            return self
    
        def transform(self, X):
            return X[:, self.indices_]
    
        def _calc_score(self, X_train, y_train, X_test, y_test, indices):
            self.estimator.fit(X_train[:, indices], y_train)
            y_pred = self.estimator.predict(X_test[:, indices])
            score = self.scoring(y_test, y_pred)
            return score
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.