WIL : Weekly I Learned
지난 일주일을 돌아봄으로써 나의 현재 상태를 파악하고
더 나은 다음 주를 만들기 위해 어떤 부분을 어떻게 채워나갈지 고민하는 것
내가 한 일(Facts)
- SQL 코드카타 149~160, 파이썬 코드카타 43~45 문제풀이
- [spark를 이용한 빅데이터 분석] 완강 및 1주차 실습 코드 복습
- 클러스터링 수준별 학습 1~3차 강의 수강 및 복습
- TIL 작성
느낀점(Feelings)
- 금주 스파크 강의를 수강했다. 스파크는 큰 규모의 데이터를 처리할 때 필요한 프로그램인데, 어렵다고 명성이 자자했다. 총 3주차 중 1~2주차는 컴퓨터의 메모리나 코어의 개념을 바탕으로 스파크를 쓰지 않고 파이썬 판다스로 최대한 버틸 수 있는 팁들이 담겼다. 3주차는 어려워서 귀동냥하는 마음으로 듣고 넘겼다. 1주차 코드는 기가 단위 데이터를 경량화 할 수 있는 팁과 코드가 있어서 무척 유용했다. 2주차 병렬/분산처리와 샘플링 및 분할처리 실습 코드는 차주중 세세하게 뜯어보고자 한다. 다만 프로젝트 시작되면 짬이 날까 걱정이다.
- 수준별 학습으로 클러스터링 강의도 시작되었다. 아직 '내적(dot product)'의 개념이 완전히 이해가 되지 않는다. 그냥 정해진 식에 따라 계산 함수를 만드는 것 자체는 할 수 있는데, 각 수식이 함의하는 바와 각 거리 개념을 실제 클러스터링 작업에 어떻게 쓸지 감이 잘 잡히지 않는다. 내적에 대해서는 구글링으로 글을 몇 개 찾아보았지만 큰 도움은 안됐다. 우선 차주중에 t-SNE 함수 과제를 해보고 모르는 부분을 정확히 정리해봐야겠다.
- 차주 최종 프로젝트가 시작된다. 주제 선정 및 기획이 중요할 테니 앞으로 바쁜 한 달이 될 것 같다.
배운점(Findings)
- 파이썬
└ 코드카타
: ord(), chr()를 활용해 아스키 코드 문자/숫자열 변환
: 변수 크기별 조건 적용이 필요할 때 if a > b: & elif b > a와 같이 조건을 2개로 걸 수도 있지만 a, b = b, a와 같이 변수 재할당하여 간결하게 코드 작성 가능
└ 클러스터링
① 거리 측정
: 유클리디안, 맨해튼, 코사인, 자카드 유사도 구하는 법(수식 함수로 구현 & sklearn 라이브러리 활용)
: set()으로 집합 만들어 union(|), intersection(&), difference(-), symmetric_difference(^) 구하기
② 주성분 분석(PCA)와 t-SNE
: 주성분 분석 개념과 장단점, sklearn으로 데이터 표준화 및 PCA 계산하는 법, Scree Plot 그리기
: t-SNE 기본 개념 (파이썬 코드는 차주 보충)
└ 스파크
: 구성 원리 및 메모리 경량화 기법, 병렬/분산처리, 샘플링, 분할처리 방법 등
: glob()로 다수 파일 한 번에 불러오기, tqdm()으로 진행률 체크하기, 데이터 타입 변경하여 메모리 경량화하기
앞으로의 방향성(Future)
- 클러스터링 t-SNE 코드 복습 및 과제 제출
- 스파크 2주차 실습 코드 뜯어보기(병렬/분산처리, 샘플링 등)
- SQL & 파이썬 코드카타
- 최종 프로젝트 주제 서치 및 방향 설정
- TIL & WIL 작성
'WIL' 카테고리의 다른 글
[240401주차] 본캠프 W16 (0) | 2024.04.05 |
---|---|
[240325주차] 본캠프 W15 (0) | 2024.04.01 |
[240311주차] 본캠프 W13 (0) | 2024.03.15 |
[240304주차] 본캠프 W12 (0) | 2024.03.13 |
[240226주차] 본캠프 W11 (0) | 2024.02.29 |