3주차에는 첫 번째 미니 프로젝트를 하고, 웹 크롤링을 배웠다.
미니프로젝트로 화면상으로만 뵙던 분들을 오프라인에서 만난다고 해서 떨렸다.
(항상 새로운 사람들을 만날 때면 긴장된다.)
친해지고 싶다고 생각했는데 막상 가니 어색하고, 무슨 말을 해야할지도 모르겠어서 내내 무표정으로 말도 잘 못 했던 것 같다ㅋ 어렵다.
1️⃣ 미니 프로젝트 1차
🚌 서울시 생활 정보 기반 대중교통 수요 분석
1~2일차는 서울시 생활 정보 기반 대중교통 수요 분석, 3일차는 따릉이 수요 예측 분석을 진행하였다. 강사님께서 따로 도메인 이해를 위한 강의를 해주셨는데, 나는 수도권 사람이 아니라 도메인 지식에서 불리하지 않을까 생각했다. 내가 수도권 살았으면 하도 돌아다녀서 어느 동네 대중교통이 아사리판인지 가설 세울 때 하나라도 더 제시할 수 있었을텐데 그러지는 못했다.
하지만 실무에서 항상 내가 아는 데이터가 나오기는 없는 법. '감'과 '경험'보다 '검색을 통한 확실한 도메인 지식'을 얻는다는 점에서 오히려 비수도권이 유리할지도? (그래도 경험은 무시 못한다.)
첫 번째 날은 개인으로 주어진 Tabular 데이터를 전처리하고 분석하였다. 구별 버스정류장, 구별 유동인구, 구별 주민등록인구, 구별 업종 등록 등 다양한 데이터가 있었고, 구별로 주어진 데이터를 시각화하는 데 주력했던 것 같다. 배웠던 코드들을 복기하느라 살짝 시간이 걸렸지만, 그래도 무사히 데이터 분석을 마칠 수 있었다.
두번째날은 KT 북대구지사에 오프라인으로 모여 데이터 분석을 진행했는데, 다들 ZOOM에서 만났을 때와 다를 것 없이 조용히 자기에게 주어진 할일들을 착실히 하셨다.
팀별로 미션 진행 시 OD 이동량을 사진처럼 시각화하면 다른 팀이랑 확실히 차별화될 것 같아서 해보고 싶었는데, 하려면 geocoding도 해야하고, 대한민국 행정지역 좌표 파일 받아와서 matplotlib에 나타내야 되고... 시간이 영 없었다.
미니 프로젝트의 장점은 각 문제마다 정해진 답을 위한 가이드라인이 주어지기 때문에 배웠던 것들을 빠짐 없이 써먹어 볼 수 있다는 점인 것 같다.
다만, 단점은 미니프로젝트가 주어진 시간에 주어진 미션만 해야하다보니, 미션만 착실히 하기에도 시간이 부족해서 더 참신한 가설이나 시각화 아이디어를 낼 수 없다는 것이었다. 데이터 자체가 주어진거다보니 '인구수가 많은 곳에 버스노선 수가 많을 것이다'와 같이 꽤 직관적이고 담백한(?) 가설이나 barplot, histogram 등 기본적인 그래프들만 낼 수 밖에 없었다. (그리고 이것만 하기에도 시간이 부족할 수 있다.)
미니 프로젝트보다 좀 더 고도화된 시각화나 더 좋은 아이디어를 내고싶다면, 따로 팀을 꾸려서 데이터 분석 공모전을 나가보는 게 고착을 해결하는 길일 것 같다.
(공모전 나간다고 잘 할 자신은 없지만, 적어도 시간은 많이 주어지니까...ㅋㅎ)
🚲 서울시 따릉이 수요 분석
마지막 세 번째 날은 항상 적자인 우리 따릉이를 위한 수요 분석을 진행했다.
그 전과 같은 방식으로 팀프로젝트를 진행하였고, 날씨 요소가 어떻게 수요에 영향을 끼치는지 다양하게 데이터 분석을 진행해보았다.
그 전이랑 비슷해서 긴장 놓고 있었는데, 이번에는 '파생변수'를 만들어보는 것까지 추가되어서 또 시간이 살짝 모자랐다;; 첫 파일에서 데이터 전처리를 다 했다고 생각했는데 나중에 데이터 분석 파일의 문제들을 보니 새로운 파생변수들이 생각나서 또 다시 데이터 전처리 파일로 돌아갔어야 했다.
이렇게 많이 쓸 줄 알았으면 어차피 변수명만 바뀌는 거, 그냥 모듈 하나 만들어서 전처리와 시각화에 많이 쓰는 함수들을 모아놓고, import로 불러와서 쓸 걸 그랬다. 이런 상황에서는 미리 데이터 전처리 파이프라인을 구축해 놓는 게 시간 절약에 좋을 것 같다.
다른 조들의 결과 발표를 보니까 부족했던 점도 보이고, 새로운 시각이 속속들이 보였다. 초반이 쉬우니까 오히려 발표를 하는 게 좋았텐데 하는 후회감이 훈련과정 뒤로 갈수록 느껴진다.
🧾 웹 크롤링
박두진 강사님께서 하시는 웹 크롤링 강의를 들었다.
물고기 잡는 법을 배우는 것 같은 유용한 강의였다.
API로 데이터를 끌어오면 공공데이터가 아닌 이상 항상 과금 걱정이 있기 마련인데, 웹 크롤링은 그런 게 없다는 점이 굉장한 강점인 것 같다.
이렇게 대량으로 데이터를 긁어가는 걸 방지하기 위해 서버에서 해놓은 조치가 있다면 UserAgent를 조작해서 가져오는 방법도 있다는 걸 배웠는데, 사실 이렇게 Http 요청을 임의로 조작한다는 게 조금 꼬롬한 느낌이 있긴 하다.
크롤링 배우고나서는 '세상 모든 데이터를 다 끌어올 수 있겠구먼 ' 생각했지만, 크롤링도 상대 봐가면서(robots.txt를 참고하여...) 긁어야 한다는 것도 배웠다. 잘못하면 서버측에서 고소를 할 수도 있고, 잘 모르고 하면 불법이 될수도 있을 것 같아서 무섭다ㅜ
어떤 곳은 자기 데이터를 가지고 인공지능을 학습하면 안된다고 아예 명시해놓은 곳도 있는데, 예전에 부산대에서 만든 맞춤법 검사기 같은 사례들이 속출하기 때문인 것 같다. 인공지능 학습을 위한 크롤링이나 대량의 데이터를 위한 크롤링은 좀 더 주의해야겠다는 생각이 들었다.
✅ 이벤트
📰 에이쁠 기자단
꾸준히 할 수 있을까 고민 많이 했는데, 3월 6일 마지막날에 신청했다. 기회가 주어지면 잡아야된다는 생각에 일단 질렀다. 밀도 높은 글을 쓰고 싶었는데 결국 이런 공부일기 형식으로 쓰는 게 회고에 도움이 될 것 같아서 이런 방식을 선택했다.
👩💻 1차 코딩마스터스 (03.04 ~ 03.29)
1차 코딩 마스터스가 시작되었다. 문제들을 살펴보는데, 중급부터는 어정쩡한 알고리즘 배경지식 가지고는 풀 수 없을 것처럼 보였다. 일단 기초 ~ 초급 문제부터 부딪혀가면서 풀어봐야겠지만, 나에게는 아직 알고리즘이 너무 큰 벽처럼 느껴진다... 책을 사서 순차대로 배워야하나 생각이 드는데 여기는 문제가 알고리즘대로 분류되어 있지 않아서 걱정이다.
⚾ KT Wiz 홈 개막전 응원 이벤트
KT wiz 홈 개막전으로 수원 경기장에 에이블러들을 위한 응원석이 마련되었다. 선착순으로 신청을 받았는데, 나는 야구에 관심이 없고, 수원이라 가는 데 비용이 엄청 깨질 것 같아 신청하지 않았다. 삼성 라이온즈랑 대결이라던데 당첨된 대구경북 에이블러는 KT wiz 응원석에서 은근슬쩍 속마음으로 삼성 라이온즈를 응원하고 있을지도...
'Bootcamp > 2024 KT Aivle School' 카테고리의 다른 글
[KT AIVLE School 5기] AI 개발자 트랙 5주차 후기 (0) | 2024.05.25 |
---|---|
[KT AIVLE School 5기] AI 개발자 트랙 4주차 후기 (0) | 2024.05.24 |
[KT AIVLE School 5기] AI 개발자 트랙 2주차 후기 (0) | 2024.05.19 |
[KT AIVLE School 5기] AI 개발자 트랙 1주차 후기 (0) | 2024.05.19 |
[KT AIVLE School 5기] AI 개발자 트랙 최종 합격 후기 (4) | 2024.03.26 |