강의

멘토링

커뮤니티

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

kjm15105님의 프로필 이미지
kjm15105

작성한 질문수

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

사이킷런 소개와 머신러닝 분류 예측 모델 개요

[19강] dataset에서 feature과 target 지정 관련 궁금한것이 있습니다.

작성

·

3.8K

1

안녕하세요.

이번에 부산에 있는 대학의 통계학과를 졸업하고 조교로 근무할 예정인 학부생입니다.

이번 강의를 듣고 iris dataset을 dataframe으로 만드는 과정에서 궁금증이 생겨서 질문을 하게 되었습니다.

iris.data와 iris.target을 사용하여 iris데이터셋의 피쳐와 레이블값을 Numpy형태로 이루어진 것으로 가져온다는 것을 알게되었습니다.

여기서 (데이터셋.data) 변수와 (데이터셋.target) 변수는 Sklearn.dataset 모듈에 내장되어 있는 데이터셋에 한해서만 자동적으로 피처와 레이블을 나눠서 Numpy형태로 가져온다는 것인지 궁금합니다.

그리고 csv 파일로 되어있는 데이터를 파이썬으로  불러온 뒤에 분류나무를 학습할 경우 강의 영상대로 dataframe을 피쳐, 피쳐 이름, 레이블, 레이블 이름으로  나눠서 DecisionTreeClassifier함수와 fit함수를 이용하여 분류나무를 학습하면 되는지 궁금합니다.

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

1. 여기서 (데이터셋.data) 변수와 (데이터셋.target) 변수는 Scikit_learn.dataset 모듈에 내장되어 있는 데이터셋에 한해서만 자동적으로 피처와 레이블을 Numpy형태로 가져온다는 것인지 궁금합니다.

=> 자동적으로 피처와 레이블을 Numpy형태로 가져온다는 것이 어떤 의미인지 제가 질문을 잘 이해하지 못했습니다만 아래와 같이 가능한 답변을 적어 봅니다. 의도하신 질문이 아니면 다시 기재 부탁드립니다.

sklearn.dataset의 load_iris()가 반환하는 객체는 Bunch 객체인데, 이는 파이썬의 Dictionary와 거의 유사합니다.

from sklearn.datasets import load_iris

iris = load_iris() 에서 iris는 이 Bunch 객체이고, 이 중에 iris.data는 피처가 이미 Numpy형태로 데이터가 들어가 있습니다. iris.target 역시 레이블이 Numpy 형태로 들어가 있으므로 이것을 그대로 가져와서 학습과 예측에 사용하게 됩니다.

2. csv 파일로 되어있는 데이터를 파이썬으로  불러온 뒤에 분류나무를 학습할 경우 강의 영상대로 dataframe을 피쳐, 피쳐 이름, 레이블, 레이블 이름으로  나눠서 DecisionTreeClassifier함수와 fit함수를 이용하여 분류나무를 학습하면 되는지 궁금합니다.

=> 사이킷런의 상당수의 API들은 DataFrame과 Numpy 모두와 호환이 됩니다. 이들 API는 DataFrame을 넣으면 자동으로 내부에서 Numpy로 변환하여 사용합니다. 또 필요하다면 내부 변환된 Numpy를 다시  DataFrame으로 변환하여 반환합니다.

DecisionTreeClassifier의 fit(), predict() 모두 DataFrame, Numpy 호환 되므로 DataFrame을 그대로 사용해도 무방합니다.

감사합니다.

kjm15105님의 프로필 이미지
kjm15105

작성한 질문수

질문하기