inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

캐글 [t1-39 퇴근후딴짓 교육 분석] 7번 문제 질문

64

민지

작성한 질문수 8

0

안녕하세요.

 

늦은 시간까지 공부하다가 질문이 생겨 문의 드립니다.. 시간이 시간인지라 시험 전까지 질문에 답변이 없으시면 어쩔 수 없겠죠 ㅠㅠ

캐글 문제를 풀다가 상위 20% 사용자 또는 하위 15% 사용자 필터링 하는 과정의 풀이 방법에 대해 질문 드립니다.

저는 상위 20%의 데이터 추출할 때 특정 컬럼을 기준으로 내림차순 sort를 진행하여 인덱싱으로 추출하였는데 강사님께서는 quantile(0.8) 함수로 데이터를 추출하셨더라구요

답이 다른데.. 제 풀이 방법에 대해 어디에 오류가 있는지 잘 모르겠습니다ㅜㅜ

상위 N% 데이터 추출 시에 제 풀이처럼 풀 수 없나요?

 

#본인의 풀이
top20 = df.sort_values('학습 효율 지수', ascending=False).reset_index(drop=True)
end = int(len(top20)*0.2)
df1 = top20[:end]
result7 = df1['총 결제 금액'].mean()
print("result7:", int(result7)) #답 : 127125

#강사님의 풀이
top_20_cutoff = df['학습 효율 지수'].quantile(0.8)
top_20_df = df[df['학습 효율 지수'] >= top_20_cutoff]
result7=top_20_df['총 결제 금액'].mean()
print("result7:", int(result7)) #답 : 123304

 

python 머신러닝 빅데이터 pandas 빅데이터분석기사

답변 2

0

퇴근후딴짓

실제 문제에서는 동일한 결과가 나오게 만들 것 같습니다.

우선 정리하면

  • end는 개수로 자름 예를 들어, 10개면 딱 10개만 자름 (절대적 개수 기준)

  • quantile(0.8) 예를 들어, 97.3 이라면 10개만 자른것과 차이가 있을 수 있음


퍼센트(%)”라고 적혀 있으면 → 상대 기준(분위수, quantile)

학습효율지수가 높은 상위 20명의 사용자를 추출하시오. -> 절대적인 개수(명수)

0

민지

아하!! 이해했습니다 두 풀이방법 모두 알아둬야겠네요ㅜㅜ

늦은시간에 답변해 주셔서 감사합니다!

0

퇴근후딴짓

시험 잘 보고 오세요!!! 합격 응원해요!

 

0

인프런 AI 인턴

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

상위 N% 사용자를 추출할 때, 두 가지 접근법의 차이에 대해 고민하고 계시는군요.

두 가지 접근법 비교

  1. 셰이프를 이용한 분할:
    본인의 풀이는 데이터를 내림차순으로 정렬한 후, 총 데이터의 20% 지점까지의 데이터를 선택하여 평균을 구하는 방식입니다. 이 방식은 전체 데이터의 정확한 상위 20% (내림차순 정렬 기준)만을 선택하는 데 유리합니다.

  2. Quantile 함수를 이용한 분할:
    강사님의 풀이는 quantile 함수를 통해 특정 지점의 값을 기준으로 원본 데이터에서 필터링하는 방식입니다. 이 방법은 ‘학습 효율 지수’가 포함하는 모든 행의 각 '총 결제 금액'에 대하여 상위 20% 조건을 직접 적용하여 평균을 계산하므로, 데이터의 분포를 기반으로 한 필터링이 가능합니다.

발생할 수 있는 오차의 이유

두 방법 사이의 결과 차이는 데이터의 분포에 따라 다를 수 있습니다.

  • 정렬 후 자르기는 상위 20% 부분만의 평균을 구하기 때문에 특정 구역만의 집중된 평균을 구합니다.
  • Quantile은 실제로 데이터 분포에 기초하여 상위 20%와 해당 기준 이상인 모든 행을 고려하여 평균을 산출합니다.

따라서 두 방법이 다를 수 있는 이유는 데이터의 분포 상태와 커트라인 설정 방식의 차이에서 발생합니다.

제안

본인의 방법도 맞지만, 원하는 결과가 상위 20%에 해당하는 값들의 평균을 구하는 것이라면 quantile을 사용하는 방법이 일반적으로 더 안정적인 결과를 제공합니다.

비슷한 문제 해결에 관한 논의를 다룬 캐글 T1-16 문제 풀이중 질문드립니다 를 참고하시길 추천드립니다. 이 링크는 다른 데이터 프레임 문제 해결 시 어떤 선택지를 둘러볼 수 있는지에 대한 안내 자료로도 유용할 수 있습니다.

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

대응표본검정 레빈

0

13

2

단일표본검정 문제 유형

0

16

2

[작업형 3] 6~7. 카이제곱 검정

0

15

2

9회 작업형3 문제 1-1

0

19

2

최종답안 계산 방식 질문

0

14

1

시험 치기 전 급하게 질문 사항

0

24

2

유형3

0

23

2

작업형 2 연습문제 섹션 3

0

17

2

11 기출문제 ipynb파일

0

21

2

작업형 3 유형

0

21

2

11회 기출 유형(작업형1) 2번 정답

0

18

2

f1 score 질문

0

19

2

10회 작업형 2 인코딩 질의

0

15

2

53번 강의에서 갑자기 수업노트가 없어졌습니다.

0

21

2

28:19 roc_auc이유

0

20

2

수강연장문의

0

23

2

전체적인 머신러닝 순서

0

24

2

빅분기 실기 유형2질문

0

26

1

ID 전처리 이유

0

31

2

데이터제공

0

33

2

예시문제 작업형3 꼬리질문2번

0

22

1

데이터 개수를 구할 때, len과 value_counts 차이

0

28

2

작업형 2 제출방

0

22

2

인코딩 스케일링 순서

0

24

2