본문 바로가기

WIL

[240318주차] 본캠프 W14

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