주제
프로젝트 과정
EDA 프로젝트 전처리 과정(2)
학생들이 사는 곳의 특성, 살아온 배경이 성적에 어떤 영향을 주는가
- 우선 주소의 특성을 성별에 따라 분류.
- 주소 컬럼은 U(도시), R(시골)로 분류되어있음
select address, avg(g3) as avg_score
from student_data
group by address
order by avg_score desc;
-- 성별에 따른 분류
select (case
when address = 'U' then '도시' else '시골'
end) as '주소',
sex as '성별',
avg(g3) as avg_score
from student_data
group by 1, 2
order by 2;


- 도시에 사는 학생들의 성적이 높지만 유의미한 차이는 아니었다
- 성별로 나누어 보니, 여학생들의 경우 큰 차이가 없었지만 남학생들의 경우에는 눈여겨볼만한 차이가 있었다
- 남학생은 도시에 사는 학생들의 평균 성적이 조금 더 높았다.
- 가족의 수도 3명 이하인 집과 3명 초과인 학생들의 평균 성적이 약 1점 정도였기 때문에 가족의 수가 성적에 영향을 미친다고 볼 수는 없었다.

등하교 시간과 성적의 관계
- 팀원분이 등하교 시간에 따른 성적 차이가 있는지 궁금하다고 하셔서 비교해보았다
select traveltime, avg(g3) as avg_score
from student_data
group by traveltime
order by avg_score desc;
-- 성별에 따른 평균 성적
select traveltime as '등하교시간', sex as '성별', avg(g3) as '평균 성적'
from student_data
group by 1, 2
order by 1;
- 첫번째 쿼리는 단순하게 등하교시간에 따른 평균 성적 비교를 위한 것이고, 두번째 쿼리는 성별로 분류한 데이터다.
- (1 - 5분 미만, 2 - 15분에서 30분 사이, 3 - 30분에서 한시간, 4 - 한시간 초과)
- 결과는 아래와 같다 :


- 우선 등하교 시간이 짧을수록 학생들의 평균 성적이 높았다.
- 등하교 시간이 길어지면 몸이 피로해지고, 공부할 시간이 적어져 성적에 영향을 미친다고 볼 수 있다.
- 성별로 나누면, 남학생들의 경우 등하교 시간이 4(한시간 초과)인 아이들보다 1(5분 미만)인 아이들의 성적이 무려 3.3점이나 높았다.
- 등하교 시간에서도 마찬가지로 여학생보다 남학생이 더 큰 영향을 받는다고 볼 수 있다.
경제적 부분
학업적 도움과 가족의 경제적 도움을 받은 학생들의 평균 성적
- 우선 학업적 도움이라는 칼럼의 의미가 조금 애매했다.
- 데이터 오너에 따르면 schoolsup의 칼럼은 "school support"인데 이게 장학금을 말하는건지 확실하진 않았다.
- 의미가 애매한 칼럼을 쓰는 건 좋은 생각이 아니라고 생각했지만 혹시나 큰 차이가 있을까해서 확인해봤다.

- 다행히도..? 받은 학생과 받지 않은 학생은 큰 차이를 보이지 않았다.
- 눈여겨볼만한 점은 남학생은 2점정도 차이가 났는데, 오히려 도움을 받지 않은 남학생들의 성적이 더 높았다.
- 가족의 경제적 도움도 성적에는 큰 영향을 미치지 않았다.
- 하지만 과외의 경우 남학생은 유료 수업을 받는 학생들의 점수가 약 1.5점 높았다.
- 대외활동은 좋은 대학을 가기 위해서는 필수적이다.
- 따라서 대학 진학을 꿈꾼다면 대외활동을 할 확률이 높다
select activities, avg(g3) as avg_score
from student_data
group by 1
order by avg_score desc;
-- 성별 별 평균 성적
select activities, sex, avg(g3) as avg_score
from student_data
group by 1, 2;

- 하지만 놀랍게도 대외활동을 하는 학생과 아닌 학생 사이의 평균 성적이 큰 차이를 보이지 않았다. (남여 동일)
- 여학생의 경우는 오히려 대외활동을 하지 않는 학생들의 성적이 더 높았다.
- 대외활동은 가족의 경제적 도움이 필요하기 때문에, 그 두 조건을 함께 비교해봤다.
select famsup, activities, avg(g3) as avg_score
from student_data
group by 1, 2
order by avg_score desc;
-- 성별 별 평균 성적
select famsup, activities, sex, avg(g3) as avg_score
from student_data
group by 1, 2, 3
order by avg_score desc;

- 그 결과, 놀라운 점이 있었다.
- 평균 성적을 내림차순으로 정렬해보니, 가족의 경제적 도움과 대외활동이 모두 없는 여학생들의 평균 성적이 가장 높았다.
- 따라서 이 세가지 조건을 모두 충족하는 여학생의 수가 적거나 한명이면 평균이 높아질 수 있으니 총 몇 명이 존재하는지 조회해봤다.
select count(*)
from student_data
where famsup = 'no' and activities = 'no' and sex = 'F';

- 조회 결과 32명이 있었다. 무시할만한 데이터의 양은 아니라고 볼 수 있었다.
'Data Science > TIL (Today I Learned)' 카테고리의 다른 글
| 프로그래머스 데이터분석 데브코스 1기 - 19일차 (0) | 2023.12.14 |
|---|---|
| 프로그래머스 데이터분석 데브코스 1기 - 18일차 (0) | 2023.12.13 |
| 프로그래머스 데이터분석 데브코스 1기 - 16일차 (0) | 2023.12.11 |
| 프로그래머스 데이터분석 데브코스 1기 - 15일차 (0) | 2023.12.08 |
| 프로그래머스 데이터분석 데브코스 1기 - 14일차 (2) | 2023.12.07 |