작성
·
245
0
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
# 결정 트리에서 사용한 get_human_dataset( )을 이용해 학습/테스트용 DataFrame 반환
X_train, X_test, y_train, y_test = get_human_dataset()
get_human_dataset()
# 랜덤 포레스트 학습 및 별도의 테스트 셋으로 예측 성능 평가
rf_clf = RandomForestClassifier(random_state=0)
rf_clf.fit(X_train , y_train)
pred = rf_clf.predict(X_test)
accuracy = accuracy_score(y_test , pred)
print('랜덤 포레스트 정확도: {0:.4f}'.format(accuracy))
해당 코드 실행시 나오는 에러 구문입니다.
제가 타이핑 한 구문도 아니고 퍼펙트 가이드에 있는 주피터 노트북 구문 그대로 복사 붙여넣기를 했음에도 불구하고 에러가 나옵니다.
그 전에도 이런 상황과 비슷하게 퍼펙트 가이드 폴더에 있는 주피터 노트북으로 실행을 했음에도 불구하고 에러가 나오는 경우가 몇번 있었습니다.
답변 1
0
안녕하십니까,
get_human_dataset() 으로 반환된 X_train 데이터 세트에 tBodyAcc-mean()-X 컬럼이 string(object) type 으로 들어가 있군요. 원래 number type이 되어야 하는데 왜 그렇게 되었는지 잘 모르겠습니다.
해당 주피터 노트북은 작년 10월에 pandas 버전 upgrade로 인한 소스 코드 수정을 하였습니다. 먼저 주피터 노트북 커널의 restart를 다시 해주신 후 예제를 수행해 주시고, 그래도 오류가 발생하면 다시 한번 github에서 해당 노트북을 다운로드 받으신 후 수행 부탁드립니다. 그래도 안될 경우에는 human activity 데이터 세트를 다시 다운로드 한 후 수행 부탁드립니다.
감사합니다.