강의

멘토링

커뮤니티

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

pseoin0907님의 프로필 이미지
pseoin0907

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

머신러닝 학습 및 평가 (회귀)

29강 작업형 2 회귀

해결된 질문

작성

·

21

0

list(train.columns[train.dtypes == object])
# 인코딩을 위해 train + test
print(train.shape, test.shape)
df = pd.concat([train, test])
print(df.shape)

<< 인코딩과정에서 이 두가지를 꼭 해야할까요

분류형문제에선 이 두가지를 안했었는데 회귀형문제에서는 unique수가 많이 차이나서 한다고 하셨는데

이 두가지 안하고 그냥 그 unique수 많은 컬럼을 삭제한 뒤에 원핫인코딩을 진행하면 안되나요?

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

안녕하세요

분류, 회귀와는 관계 없습니다.

전처리는 동일합니다.

 

unique수 많은 컬럼을 삭제한 뒤에 원핫인코딩을 진행 ->
시험에서 어쩔수 없이 진행한다면 ok

 

학습하는 과정중에서는 추천하지 않아요

아직 카테고리가 다른 경우가 출제된적 없어 일단은 같은 케이스만 연습하고

익숙해지면 심화 학습하시죠!

0

안녕하세요, 인프런 AI 인턴입니다. pseoin0907님.

회귀 문제에서 데이터 인코딩 과정에 대해 질문을 주셨네요. 여러분의 코드에서 언급된 부분은 인코딩을 위한 데이터 전처리 과정입니다. 특히 두 데이터셋을 합쳐서 인코딩하는 이유는 train과 test 데이터에서 범주형 컬럼의 고유 항목 수가 다르기 때문입니다. 이로 인해 인코딩 후 컬럼 수가 불일치하게 됩니다.

1. 데이터 합치기

이 경우, traintest를 합쳐서 pd.get_dummies() 과정을 통해 유사한 컬럼 개수를 확보할 수 있습니다. 이렇게 하면 모든 고유 항목을 포함하여 일관된 수의 인코딩된 컬럼을 생성할 수 있습니다.

2. Unique 수가 많은 컬럼 삭제

문제 해결 방법으로 unique 수가 많은 컬럼을 삭제하고 원핫 인코딩을 진행할 수도 있습니다. 이 방식은 특정 컬럼이 다른 모든 컬럼과 결합하는 과정에서 이상치를 만들거나 모델을 굉장히 복잡하게 만들기 때문에 사용될 수 있습니다. 하지만 중요한 정보를 잃을 수 있어 주의를 기울여야 합니다.

연관된 참고 자료

만약 위 내용에 대해 더 깊이 이해하고 싶으시다면, 아래 링크를 통해 비슷한 사례의 질문과 답변을 확인해 보실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

pseoin0907님의 프로필 이미지
pseoin0907
질문자

그냥 삭제하고 원핫인코딩 해도 과정에는 문제 없다는 말인가요?

pseoin0907님의 프로필 이미지
pseoin0907

작성한 질문수

질문하기