강의

멘토링

로드맵

Inflearn brand logo image

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

김지수님의 프로필 이미지
김지수

작성한 질문수

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

2회 기출유형(작업형1)

2회 기출유형 3번 문제

작성

·

28

0

3번문제에 이렇게 코드를 짜봤는데 결과값이 다르게 나옵니다ㅠ 어디를 수정해야 할까요?ㅠ

q3 = df['age'].quantile(0.75)
q1 = df['age'].quantile(0.25)

IQR = q3 - q1

line1 = q1 - 1.5 * IQR
line2 = q3 + 1.5 * IQR

print(sum(df['age'] < line1))
print(sum(df['age'] > line2))

답변 2

0

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

문제에 "표준편차*1.5" 라고 적혀있어요!

quantile은 표준편차를 구하는 함수가 아니에요! 풀이 코드를 참고해 주세요

0

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

질문 주신 코드의 주요 목적은 IQR (Interquartile Range) 방법을 사용하여 age 컬럼에서 이상치를 탐지하는 것입니다. 제공하신 코드는 기본적으로 이상치를 계산하기 위해 알맞은 방법을 사용하고 있으나, 몇 가지 고려해야 할 부분이 있습니다.

고려해야 할 사항:

  1. 조건 표현: 코드에서 이상치를 계산하기 위해 line1 아래와 line2 위의 데이터를 찾고 있습니다. 각각의 조건을 사용하여 해당하는 개수를 합산하실 경우, 특정 범위를 넘어서는 이상치의 수가 확실히 잘 계산되고 있습니다.

  2. 출력 확인: print(sum(df['age'] < line1))print(sum(df['age'] > line2)) 라인에서 두 조건에 해당하는 각각의 행 수를 출력하고 있습니다. 이상치의 전체 수를 알고 싶다면 이 두 값을 더해서 sum((df['age'] < line1) | (df['age'] > line2))와 같이 사용할 수도 있습니다.

이와 같은 IQR 방법을 활용한 이상치 검출과 관련된 유사한 문제와 솔루션을 제공한 링크를 참고하시면 이해에 도움이 되실 것입니다:

위 링크들은 조건 설정, 데이터 탐색과 관련한 실질적 예시를 제공하고 있으니 추가적으로 참고해 보시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김지수님의 프로필 이미지
김지수

작성한 질문수

질문하기