인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

sunjoon020님의 프로필 이미지
sunjoon020

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

배깅(Bagging)과 랜덤 포레스트(Random Forest)의 이해

예제 코드와 관련해서

작성

·

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 데이터 세트를 다시 다운로드 한 후 수행 부탁드립니다.

감사합니다.

sunjoon020님의 프로필 이미지
sunjoon020

작성한 질문수

질문하기