sklearn NaN 처리방법

미해결질문
Seungman Baek 프로필

안녕하세요. 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').



해결방법이 있을 지 문의드립니다.
박조은 프로필
박조은 3달 전

안녕하세요.

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

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

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

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

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

감사합니다.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스