강의

멘토링

커뮤니티

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

민지님의 프로필 이미지
민지

작성한 질문수

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

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

작성

·

34

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

 

답변 2

0

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

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

우선 정리하면

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

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


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

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

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

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

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

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

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

 

0

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

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

두 가지 접근법 비교

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

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

발생할 수 있는 오차의 이유

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

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

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

제안

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

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

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

민지님의 프로필 이미지
민지

작성한 질문수

질문하기