2016-08-11 4 views
2

문제의 원인은 일반적입니다.Sklearn Fit 모델 여러 번

청크로 읽은 많은 열차 데이터가 있습니다. 관심 대상은 청크 된 데이터 세트에 원하는 모델을 순차적으로 맞추고 이전 피팅 상태를 유지하는 것입니다.

다른 데이터에 sklearn을 사용하여 모델에 맞게 partial_fit()을 제외한 방법이 있습니까? 또는이 문제를 해결하기 위해 fit() 코드를 다시 작성하는 트릭이 있습니까? 또는 somekow는 pickle으로 실현 가능합니까?

+1

에 대한()'를 예측해야합니까? – 0x60

+0

@ 0x60, partial_fit은 모델의 하위 집합에서만 작동하기 때문일 수 있습니다. – miku

+0

정확히 사용할 수있는 방법의 범위가 제한되어 있기 때문에 –

답변

4

일부 모델에는 partial_fit()이 노출되는 이유가 있습니다. 모든 모델은 다른 기계 학습 알고리즘이며,이 알고리즘의 많은 부분에서 모델을 처음부터 다시 계산하지 않고 요소를 추가하는 방법은 없습니다.

따라서 모델을 점진적으로 맞추려면 partial_fit() 인 증분 모델을 선택하십시오. this documentation page에서 전체 목록을 찾을 수 있습니다.

또는 앙상블 모델을 만들 수 있습니다. 보유하고있는 데이터 덩어리마다 Classifier() 또는 Regression()을 별도로 만드십시오. 그런 다음, 때 뭔가 할 수 있습니다 단지

for classifier in classifiers: 
    votes[classifier.predict(X)] += 1 
prediction = numpy.argmax(votes) 

또는, 왜`partial_fit을 피하려고하는 회귀

prediction = numpy.mean([regressor.predict(X) for regressor in regressors] 
+0

예, 이것이 내가 궁금해 한 점입니다. ML 알고리즘 중 일부는 재구성 될 가능성이 거의 없음을 알고 있습니다. 그래서'partial_fit()'가없는 메쏘드에 대해 큰 RAM을 갖는 다른 방법은 없을까요? 맞춤 결과를 저장하고 새로운 맞춤을 거친 결과와 어떻게 든 비교할 수있는 방법이있을 것이라고 생각했습니다. –

+0

알겠습니다. 대답에 다른 아이디어를 던지십시오. – 0x60