2012-10-24 2 views
2

나는 분류 자의 매개 변수를 결정하기 위해 GridSearchCV를 사용하고자하며, 파이프 라인을 사용하는 것이 좋은 옵션처럼 보입니다.교차 유효성 검사를 위해 사용자 정의 파이프 라인 사용하기 scikit-learn

응용 프로그램은 Bag-of-Word 기능을 사용하는 이미지 분류를위한 것이지만 문제는 교육 또는 테스트 예제의 사용 여부에 따라 다른 논리 파이프 라인이 있다는 것입니다.

훈련 세트의 경우 KMeans를 실행하여 테스트에 사용할 어휘를 생성해야하지만 테스트 데이터의 경우 KMeans 프로세스가 실행되지 않습니다.

파이프 라인의 동작에서이 차이를 어떻게 지정하는지 알 수 없습니다.

답변

3

당신은 아마 당신의 어휘 논리를 사용하는 KMeans 클래스에서 파생 다음과 같은 방법을 재정의해야 :

    fit_transform

  • transform가 호출됩니다 기차 데이터에 호출됩니다

  • 테스트 데이터

아마도 클래스 유도가 항상 최선의 선택은 아닙니다. 또한 임베디드 KMeans 모델로 호출을 래핑하는 자체 트랜스 포머 클래스를 작성하고 Pipeline 클래스에서 첫 번째 스테이지로 예상되는 fit/fit_transform/transform API를 제공 할 수 있습니다.

+0

아, 내가 놓친 부분일지도 모른다고 생각합니다. 테스트/기차에 따라 다른 행동을 수행 할 수있는 방법이 있어야한다는 것을 알고있었습니다. 감사 – phil0stine

1

우리는 워크 플로우와 같이 복잡한 그래프를 만들기 위해 Pipeline의 확장 인 PipeGraph를 개발했습니다. 그리드 검색 중에 워크 플로우 연결을 변경할 수 있습니다 (예제 갤러리 https://mcasl.github.io/PipeGraph/ 참조). 특히, 하나는 적합하고 다른 하나는 예측에 대한 두 개의 서로 다른 연결 세트를 정의 할 수 있습니다.

관련 문제