파이프 라인과 GridSearchCV를 사용하여 기능을 자동으로 선택합니다. 데이터 세트가 작기 때문에 GridSearchCV에서 'cv'매개 변수를 StratifiedShuffleSplit으로 설정합니다.GridSearchCV의 전체 데이터 대신 파이프 라인의 변압기가 학습 데이터에 작용합니다.
selection = SelectKBest()
clf = LinearSVC()
pipeline = Pipeline([("select", selection), ("classify", clf)])
cv = StratifiedShuffleSplit(n_splits=50)
grid_search = GridSearchCV(pipeline, param_grid=param_grid, cv = cv)
grid_search.fit(X, y)
SelectKBest 대신 전체 데이터 세트의 각 분할의 훈련 데이터에 작용 보인다 I '는 별도의 경우 결과가 다른되기 때문에 (후자는 내가 원하는 것입니다) : 다음과 같은 코드가 보인다 Select 'and'classify '를 선택하면 StratifiedShuffleSplit은 분류 자에 대해서만 작동합니다.
이 경우 파이프 라인 및 GridSearchCV을 사용하는 올바른 방법은 무엇입니까? 고마워요!
이이 주제에 대해 설명 종이 http://dx.doi.org/10.1093/bioinformatics/btp621에 대한 올바른 링크입니다. –