inflearn logo
강의

Course

Instructor

Complete Mastery of Big Data Analysis Certification Practical Exam Past Questions [Includes all previous sessions · Continuous updates · Dedicated practice environment provided]

Round 7 Type 3 Number 2

7회 3유형 2번문제 질문

38

parkjh980226

6 asked

1

다중회귀, 로지스틱에서 독립변수에 범주형이 나오고, "회귀계수가 가장 큰 변수를 구하라"와 같은 문제가 나오면 해당 변수를 원핫인코딩/라벨인코딩 어떤걸 선택하는지, 원핫인코딩이라면 기준범주가 무엇인지, 라벨인코딩이라면 각각 어떤 값으로 매핑했는지에 따라 답이 달라지지 않나요?

python pandas statistical-test sklearn 빅데이터분석기사

Answer 2

0

algolearn

안녕하세요. parkjh980226님.


알고런입니다. 질문 주셔서 감사합니다.


일반적으로 순서가 없는 범주형 데이터에는 원핫인코딩을, 순서가 있는 범주형 데이터는 라벨 인코딩을 사용합니다. 예를 들어 순위가 있는 학점 A+, A, B, C, D, F 와 같은 것은 라벨 인코딩을 쓰는 거죠.


다만, 문제 자체가 회귀계수의 값이 가장 큰 변수를 찾는 것입니다. 이때 원핫인코딩을 사용하면 변수의 이름이 각 카테고리별로 별도 생성되는 문제가 있습니다.

예를 들어, 해당 문제에서 원핫인코딩을 하면 fuelType 하나가 fuelType_Petrol, fuelType_Hybrid처럼 여러 변수로 쪼개집니다. 그러면 문제에서 요구하는 "독립변수 중 회귀계수가 가장 큰 변수"를 구할 때:

  • 원본 독립변수는 year, transmission, mileage, fuelType, tax, mpg, engineSize 7개인데

  • 원핫인코딩 후에는 fuelType_Hybrid, fuelType_Petrol, transmission_Manual 등 이름과 개수가 바뀌어버림

그래서 문제의 의도(원본 변수 기준으로 답 출력)와 답 형식이 맞지 않게 됩니다.

라벨인코딩은 원본 변수명(fuelType, transmission)을 그대로 유지한 채 숫자로만 치환하기 때문에 문제 의도에 맞는 답 ('engineSize', 13051.49) 형태로 출력할 수 있습니다.


사실, 통계적으로는 순서 의미가 없는 범주형 변수에 라벨인코딩을 쓰는 게 이론적으로는 맞지 않습니다. 하지만, 빅분기 실기 시험에서는 이 방식이 관례라고 할 수 있습니다.


감사합니다.

0

parkjh980226

답변주셔서 감사합니다. 그런데 라벨인코딩을 하더라도 매핑을 어떻게 하느냐에 따라 회귀변수,pvalue 등이 달라지지 않는가 하여 여쭤보았습니다.

0

algolearn

라벨인코딩을 할 때 변수 값을 매핑 하는 순서에 따라 회귀계수, pvalue 등이 달라질 수 있습니다. 일반적으로는 순서에 따라서 매핑을 하기 때문에 걱정하실 필요는 없을 것 같긴 합니다. 감사합니다.

0

communityai8509

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

회귀 분석을 수행할 때, 독립변수로 범주형 변수가 포함되는 경우 일반적으로 원핫인코딩(One-Hot Encoding)을 사용하는 것이 표준입니다. 그 이유는 원핫인코딩은 범주형 변수를 서로 다른 이진 변수들로 변환하여 사용하기 때문에 회귀 계수가 해석 가능하도록 합니다.

라벨인코딩(Label Encoding)의 경우, 범주형 변수의 크기 정보가 없다면 부적절할 수 있습니다. 라벨인코딩은 고유 범주를 정수로 변환하기 때문에, 회귀 분석에서는 순서에 의미가 있을 때만 사용할 수 있습니다. 따라서 잘못 사용하면 회귀 계수의 해석에 잔여 편향이 생겨 원하지 않는 정보를 줄 수 있습니다. 즉, 라벨인코딩 시 매핑하는 값에 따라 답이 달라질 수 있습니다.

회귀 계수가 가장 큰 변수를 구하라는 문제가 주어졌을 때, 원핫인코딩을 수행한 후, 각 더미 변수의 회귀 계수를 비교하는 것이 바람직합니다. 그렇다면 범주형 변수가 있을 때도 일관되고 명확한 해석을 제공할 수 있습니다.

이와 관련된 실전 문제나 다른 예제에서 어떻게 다루는지 익혀 보시고, 다중회귀 분석 및 범주형 변수 인코딩에서 더 많은 팁과 예제를 확인해 보시기 바랍니다. 이 링크에서는 면밀한 분석과 인코딩 방법에 대한 설명이 포함되어 있어 학습에 큰 도움이 될 것입니다.

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

41강 30:10

0

11

1

이론 공부법 질문 있습니다.

0

17

1

부모의 생성자 관련 질문

0

10

1

시험지 문제에 필기해도 되나요?

0

17

3

41강 11:23

0

19

2

4강파이썬 질문입니다

0

10

2

try-catch 핸들러명

0

20

2

36강 3:48

0

27

2

35강 18:27

0

23

2

강의 문의드립니다.

0

15

2

llm_decision_logs 저장 실패(실적 컬럼 불일치)를 어떻게 해결할까요?

0

25

0

자식 코드 내 super() 생략

0

23

2

출력질문

0

30

2

31강 4:06

0

28

2

7강 강의 학습자료에 대해서 질문있습니다.

0

14

1

아무래도 다음 시험 연장은 어렵겠죠?

0

22

1

29강 while(3-1) 5분 20초 강의 영상 질문

0

22

0

파이썬 학습자료가 강의 자료와 다릅니다.

0

56

3

섹션 2 - 9강 강의자료 다운로드 문제

0

39

3

첨부파일이 열리지 않습니다.. .pdf.json 파일로 받아지네요ㅠ

0

34

2

11회차 2유형 질문.

1

54

1

알고런io 이용 관련 문의

0

50

1

강의내용관련

0

53

1

기출문제 pdf 없음

0

61

2