
하잉- 두 번째 개인 분석 프로젝트로 돌아왔어요. 오늘은 지난 시간부터 하고 싶었던 회귀분석을 진행할 예정인데요. 꽤 긴 여정이 될 수 있으니 끝까지봐주시면 말도 안 되게 감사하겠습니다.
분석에 앞서, 회귀분석이 무엇인지 간단하게 짚고 넘어갈게요.

회귀분석
은 머신러닝의 종류 중 하나인 지도 학습(정답이 주어지는 학습)의 일종이며, 하나의 독립변수 값이 변할 때 종속변수의 평균적인 값이 어떻게 변하는지 이해하기 위해 사용된다. 다시 말해 한 변수(x)를 통해 다른 변수(y)를 예측할 수 있다.
단순 선형회귀분석
은 독립변수(x)와 종속변수(y)가 선형 관계를 가지고, 독립변수(x)가 한 개인 경우를 이야기합니다. 오늘은 회귀 분석의 종류 중 하나인 단순 선형회귀분석을 진행할 거예요.
회귀분석에 대한 보다 자세한 정보가 궁금하신 분들이 있다면 아래 링크를 참고해 주세요! → https://brunch.co.kr/@gimmesilver/64
희희. 결국 회귀분석을 사용하면 변수 사이의 관계를 알 수 있다는 건데요. 이 분석 기법을 사용해 지금부터 어떤 분석을 진행할지 소개해 드리겠습니다.
개요
선정 데이터
8차 인체 치수 조사 데이터
*한국인 인체 치수를 조사하는 사이즈 코리아에서 데이터셋 확보
목표
단순 선형회귀분석을 사용해 발 사이즈로 신장 예측해 보기
분석 과정

데이터 로드

로드를 위해서 1. 파일명 영어 변환 2. 열 이름 영어 변환 3. 필요 없는 열 삭제
← 이번에는 발 사이즈와 신장, 두 가지 변수만 있으면 되기 때문에 대부분의 열을 삭제했어요.
이번에는 총 4,546개의 행이 로드되었어요. 참고로 키와 발 사이즈의 단위는 mm예요.
기술 분석 / 전처리
추가로 요약 통계량을 확인하기 전, 성별 나이 칼럼은 아무래도 필요 없을 것 같아서 select column을 이용해 필요한 열만 선택해 주었어요.


statistic summary는 데이터의 통계적 특성을 보여주는 함수인데요, 숫자형 변수에 대해 특성을 산출해 줍니다. 특이사항은 없지만 null 값이 발견되었네요.
*문자형 변수 분석 함수 : string summary


delete missing data를 사용해 제거해 주었습니다.
모델링


본격적인 분석을 진행하기 위해서 전체 데이터를 Train 데이터(7) / Test 데이터(3)로 나눌게요. Train 데이터는 회귀 모델을 생성하고, Test 데이터는 회귀 모델에 대한 평가에 이용할 거예요.


Y에 해당하는 종속변수 height와 X에 해당하는 독립변수 foot_size를 알맞게 선택한 후 회귀분석을 진행했어요. 옆은 회귀 분석에 대한 요약 정보가 나와있는데요 한 번 볼게요.

모형의 설명력
R-squared는 모형의 설명력을 나타내며 1에 가까울수록 좋은 모형입니다.
현재 모형에서는 신발 사이즈가 키를 예측하는 데 72.1%의 설명력을 가진다고 생각하면 되겠습니다. 제가 생각했던 것보다 높은 설명력을 가지고 있네요! 신기하네용
회귀 모형의 유의성 검정
F통계량에 대한 p-value인 Prob(F-statistic) 수치를 보면 0.05보다 작은 것으로 보아 회귀 분석이 유의미한 결과를 가진다고 보면 됩니다.





train 데이터로 만든 회귀 모형을 test 데이터에 적용해 신발 사이즈에 따른 키 예측값을 만들어보도록 할게요. 이를 위해서 input에 test 데이터와 회귀 모형이 들어가 있어야 해요. run을 누르면 아래와 같이 발 사이즈에 대한 예측치(키)를 볼 수 있습니다.

모형 평가



모형의 평가는 실제 키와 예측된 키를 비교해서 만들어진 모형이 좋은 모형인지, 그렇지 않은 모형인지 평가하는 단계입니다.
이 부분에서 자꾸 r2_score 값이 -267.7987987987... 어쩌고가 엥 뭐지 했었는데 label column에 발 사이즈를 입력해서 그런 거였더라고요 ㅎ,ㅎ
r2_score은 약 72.1%고, 이 값이 클수록 좋은 모형이라고 할 수 있습니다.
<전체 데이터 플로우>

오늘은 이렇게 발 사이즈를 통해 키를 예측해 보았습니다. 생각보다 빠르게 모델 평가 까지 마칠 수 있었는데, 브라이틱스가 손에 더 익으면 매우매우매우 짧은 시간 내에 분석을 진행할 수 있겠다는 기대감이 듭니다. 굿굿.
벌써 두 번째 개인 분석 미션까지 마쳤는데요! 다음 주에 또 다른 주제와 분석 기법으로 돌아올게요 **
+++) 추가로! 새로운 발 사이즈에 따른 키가 궁금할 경우

create table로 임의의 테이블을 만들어, linear regression predict를 사용하면

이렇게 발 사이즈에 따른 키 예측값이 나온답니다. 이제부터 친구들 발 사이즈는 아는 데 키를 모를 경우 이 방법을 사용해 친구의 키를 가늠해 봐야겠어요??..

새로운 테이블에 대한 연결은 이렇게 진행하면 됩니다.
그럼 진짜 빠잉 -!
'삼성 SDS Brightics 서포터즈 3기' 카테고리의 다른 글
[Brightics 서포터즈] 팀 분석 프로젝트 (1편) (0) | 2022.08.16 |
---|---|
[Brightics Studio] 영화 데이터로 군집 분석 진행하기(K-means_개인미션③) (0) | 2022.07.12 |
[Brightics studio] 브라이틱스로 인기 쇼핑물 시장 변화 살펴보기 _ 개인분석(1) (0) | 2022.06.28 |
[Brightics 서포터즈] 3기 발대식 다녀왔어요! (0) | 2022.06.26 |
[Brightics Studio] 시작하기 (다운로드부터 맛보기 체험까지!) (0) | 2022.06.19 |