퇴근하고 급하게 저녁먹고 수업 들으니까 확실히 시간이 없긴 하다.
이 참에 회사 근처 단기 원룸이라도 알아봐야 하나 싶다.
ADP나 정보처리기사처럼 평소에 소홀히 생각한 자격증도 따두면
언젠가는 쓸모가 있을 것 같아서.
01. EDA 및 데이터 전처리 프로세스
- 데이터 출처(고객 대출 데이터)
- EDA 할 때
- 데이터 불러오고 확인하기
- 컬럼별 타입 확인하기
- '수치형' 변수인지, '범주형' 변수인지
- 여기서는 편의상 범주형 변수는 나중에 One-hot encoding으로
처리하더라.
- 중복 제거 하기
- 중복 데이터 확인 df.duplicated()
- 결측치 처리하기
- 이번 교육에서는 mode(최빈값) 계산해서 넣었지만......
- 평균이나 중앙값을 넣어도 된다.
- 결측치에 대해서 모델로 예측해서 넣는 방법도 있긴하다.
- 데이터 전처리 할 때
- Scaling을 한다
- Standard scaling
- Min-max scaling
- Robust scaling
- 범주형 데이터 encoding한다
02. 학습하면서 재밌었던 점
- 뭔가 일반적인 데이터 분석과는 다르게(다 패키지가 있으니까)
직접 구현을 하셔서 흥미로웠다.
if scaling_flag == 'standardization':
print('Standardization of numeircal features\n')
feature_mean = np.mean(numerical_array, axis=0)
feature_std = np.std(numerical_array, axis=0)
feature_std = np.where(feature_std == 0, 1e-5, feature_std)
scaled_data = (numerical_array - feature_mean) / feature_std
elif scaling_flag == 'min-max':
print('Min-max normalization of numeircal features\n')
data_min = np.min(numerical_array, axis=0)
data_max = np.max(numerical_array, axis=0)
data_max = np.where(data_max == data_min, data_min + 1e-5, data_max)
- 교육 과정 때 공부를 위해서 코드는 제공하지만, 그에 대한 주석은
따로 제공되진 않았다.(그래서 더 공부하는데 도움이 된 것 같다.)
03. 복습 포인트
- 데이터 구조 확인
- df.head() : 상위 5개 행, n=3 처럼 숫자 지정도 가능
- df.tail() : 하위 5개 행
- df.shape : 데이터 차원 수 체크
- df.columns : 컬럼명 확인
- df.info() : 데이터 타입 정보
- df.describe() : 기술통계량 확인
- 데이터 처리
- df.isnull().sum() : 결측치 개수 확인
- df.isnull().mean() : 결측치 비율 확인
- df.dropna() : 결측치 제거
- df.fillna() : 결측치 채우기
- df.drop('컬럼명',axis=1) : 컬럼 삭제
- df.drop(['컬럼1','컬럼2'..,''],axis=1) : 컬럼 여러 개 삭제
04. 회고
- '재직자 교육'이라고 해서 python이나 AI서비스에 대해 어느정도 알고 들어오신 교육생들이 많을거라 생각했는데 도리어 그 반대였다.
(python을 거의 처음 배우시는 분들도 많은 것 같았다.)
- 사실 16주짜리 프로그램하고 10주짜리 프로그램하고 뭘 할지 고민
많이 했었다. 근데 16주짜리는 너무 긴 것 같아서 10주짜리 했는데
잘한 것 같다.
- '모두의 연구소' KDT 교육 때는 velog, github 작성을 바로 하지
않았는데(github에는 얼추 정리는 해뒀는데 velog글은 한참 밀려있다.)
이번 재직자용 KDT심화 때는 velog, github 정리는 그때 그때
해둬야겠다.