• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

sklearn NaN 처리방법

20.07.02 14:25 작성 조회수 4.09k

1

안녕하세요. part 2의 아래의 코드 실행 시 오류가 발생합니다. 

%time forest = forest.fit(trainDataVecs, train["sentiment"] )
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-67-0162f257485a> in <module>()
----> 1 get_ipython().magic('time forest = forest.fit(trainDataVecs, train["sentiment"] )')


6 frames
<decorator-gen-60> in time(self, line, cell, local_ns)

<timed exec> in <module>()

/usr/local/lib/python3.6/dist-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan, msg_dtype)
     58                     msg_err.format
     59                     (type_err,
---> 60                      msg_dtype if msg_dtype is not None else X.dtype)
     61             )
     62     # for object dtype data, we only check for NaNs (GH-13254)

ValueError: Input contains NaN, infinity or a value too large for dtype('float32').



해결방법이 있을 지 문의드립니다.

답변 1

답변을 작성해보세요.

0

안녕하세요.

사이킷런을 통해 fit 으로 학습을 시킬때는 결측치가 없어야지 연산의 오류가 발생하지 않아요.

위 오류 메시지를 보면 학습데이터인 trainDataVecs안에 결측치가 있어서 오류가 발생했어요.

일단 trainDataVecs의 결측치를 확인해 보시는게 좋을거 같은데요.

trainDataVecs의 결측치를 0 으로 채워주시는것도 방법중에 하나가 될거 같아요!

해보시고 안 되면 다시 질문 남겨주세요.

감사합니다.