post-custom-banner

✍🏻 22일 팀스터니 내용 정리.

👀 공부한 실습 코드는 아래 깃허브에 올려두었습니다.

https://github.com/castlemi99/ZeroBaseDataSchool/tree/main/%EC%BA%90%EA%B8%80%20%ED%95%84%EC%82%AC%20%EC%8A%A4%ED%84%B0%EB%94%94


자소서/면접 스터디가 지나고 캐글 필사 스터디로 넘어왔다 :)

그동안 미뤄왔기만 했던 자기소개서 작성을 지난 스터디를 계기로 건드려보기만 한 것 자체로 뿌듯하다 ㅎㅎ

그래도 아직 빈약한 부분이 많아서 다음주에 있을 자기소개서 특강을 잘 듣고 살을 덧붙여봐야겠다.



캐글 필사 스터디로 넘어왔다. 캐글 문제는 대학 생활 때 많이 건드려보긴 했는데 어딘가에 작성이라도 해둘걸😭 너무 아쉬웠다.

머신러닝의 기본 예제라고 할 수 있는 타이타닉을 첫 번째 캐글 필사로 정하고 강의 진도에 맞게 EDA 부분만 필사해보기로 했다.

캐글 API를 사용해 데이터를 다운받는 것은 👀 이 분 사이트를 참고해서 다운받아따😀


필사하면서 몇 가지 배운점을 정리하자면

결측치를 확인하기 쉬운 라이브러리 : mano

결측치를 확인하는 과정에서 mano라는 라이브러리를 배웠다.

https://github.com/ResidentMario/missingno

단순히 수치적으로 확인하는 .isnull().sum()을 많이 사용했었는데
mano는 결측치를 시각화해서 보여준다.

msno.matrix(df = 데이터프레임, figsize = , color = )

이렇게 보고자하는 데이터프레임과 색상값을 넣어주면 결측치가 있는 곳이 비어져 출력된다.

bar는 컬럼별 결측치의 누적값을 볼 수 있어 AgeCabin 컬럼에 결측치가 있고 Cabin은 결측치가 매우 많은 것을 볼 수 있다.


Factorplot 은 Catplot으로 변경됨

많은 분들이 factorplot을 많이 사용하셨는데 23년도인 지금 그 코드를 사용하면 차트가 출력되지 않는다.

📌 factorplot 공식 사이트
https://www.geeksforgeeks.org/python-seaborn-factorplot-method/

이렇게 공식사이트도 있어서 아직 살아있는줄(?) 알았는데

API가 catplot으로 바뀌었다는 것을 알 수 있었다.

📌 catplot 공식 사이트
https://seaborn.pydata.org/archive/0.11/generated/seaborn.catplot.html#seaborn.catplot

catplotkind옵션을 주어 해당 차트를 그려도 되고 아니면 직접 stripplot 과 같이 직접 호출해 차트를 그려도 된다.

그런데 한 가지 주의해야할 점이 있다. figureaxes를 생성하고 catplot을 통해 차트를 생성하게 되면 catplot 호출 시 새로운 figureaxes를 생성하게 되므로 원했던 목적대로 배경에 차트가 구분되어 출력되는 것이 아닌 두 개의 차트가 별도로 표시되는 것을 볼 수 있다.

따라서 이를 해결하기 위해선 catplot대신 그리려는 차트 함수를 직접 호출해야한다.

📌 차트가 별도로 출력되는 코드

f,ax=plt.subplots(1,2,figsize=(18,6))

# 첫번째 차트 : 가족수 별 생존율
sns.catplot(x = 'FamilySize', y = 'Survived',data=df_train, kind = 'point', ax=ax[0])
ax[0].set_title('FamilySize vs Survived')

# 두번째 차트 : 혼자 탑승했는가의 유무에 따른 생존율
sns.catplot(x = 'Alone', y = 'Survived',data=df_train, kind = 'point', ax=ax[1])
ax[1].set_title('Alone vs Survived')

plt.show()

📌 우리의 목적대로 출력되는 코드



Name 컬럼에서 신분을 추출하고, Parch(부모, 자녀)SibSp(형제 자매) 컬럼을 통해 가족수와 혼자 탑승했는가에 대한 여부 등 여러 컬럼을 생성하여 타겟 데이터에 영향을 끼치는지에 대해 알아보는 것을 통해 과연 내가 혼자 데이터를 분석을 할 때 이정도까지 파악해낼 수 있을까 고민이 되었다.

대학교 과제를 할 때에도 이 EDA 과정에서 시간을 제일 많이 보내기도 했고.. 지금도 그렇고..ㅎㅎ

솔직히 당연히 오랜 시간을 거칠 수 밖에 없는 과정이라고 생각한다. 하지만 우연히 이것저것 해보다가 발견하는 것이 아닌 내가 그 인사이트를 먼저 발견할줄 아는 사람이 되기 위해 생각을 넓고 다양하게 할 수 있어야겠다는 생각이 들었다.👊🏻👊🏻


profile
데이터 분석가(가 되고픈) 황성미입니다!
post-custom-banner

0개의 댓글