데이터로 Deep Dive

데이터 분석과 개발 경험을 공유합니다.

데이터분석 3

요식업 매출 베이스로 제주 맛집 추천 웹앱 만들기(feat. Streamlit)

작년 말 즈음에 빅콘테스트 주최로 '제주 맛집'을 추천하는 'LM활용 제주도 맛집 추천 대화형 AI서비스 개발'에 참여한 적이 있다.  이때, 첫 공모전이기도 하고LLM에 막 발을 담가봤던 시기이기도 해서굉장히 재미있지만서도 어려워서 밤을 새어 가며내 친구 Cursor와 함께 뚝딱뚝딱 만들어보았던 시기가 있었다.  이때, 다른 친구 한 명과 같이 참여했는데, 다행스럽게도 둘 다 LLM이란 기술에 매료되어서 고군분투하며 어떻게든 Streamlit까지 만들고, 영상도 찍었었다.  결론적으론, 입상은 하지 못했다.  아이디어는 좋았으나, 우리의 기술력 한계로 인해 영상도, 제출 코드도 엉망인 채로 제출해 버렸다. 왜냐하면.. 우린 LLM구현이 잘 된 줄 알았으나 알고 봤더니 LLM 이 자체적으로 답변을 생성하..

앙상블(보팅, 배깅, 부스팅)

보팅(Voting)Hard Votiing: 다수의 Classifeir간 다수결로 최종 class 결정Soft Voting: 다수의 Classifier들의 class 확률을 평균하여 결졍(*일반적으로 많이 사용) -> predict prob가 있어야 가능SVC 모델은 predict proba가 없으므로 Soft Votingd 참여 불가 배깅(Bagging): Bootstrap Sampling의 줄임말, 기존 학습 데이터 세트로부터 랜덤하게 복원추출하여 동일한 사이즈의 데이터 세트를 여러 개 만드는 것과대적합되며 훈련이 진행됨대표 모델: 랜덤포레스트부스팅(Boosting): 과소적합된 모델을 사용하여 순차적으로 반복학습을 진행함, 예측한 데이터 혹은 학습 트리에 가중치 부여를 통해 오류를 개선해 나가면서 학..

API 통해 데이터 수집(feat. 크롤링은 지양한다..)

데이터 수집 방법크롤링: 추천 x (*불법 소지 다분함, 최근까지도 다수 기업의 법적 분쟁 사례 있음)크롤링의 최종목표: 웹데이터를 DataFrame으로 변환API: 추천 o (*고비용, 이용 제한 x, 이용매뉴얼만 잘 익히면 API 크롤링 완)부동산 데이터 수집(서울시 빅데이터 센터, 공공데이터 포털) https://data.seoul.go.kr/together/guide/useGuide.do공공데이터 요청 시, 응답할 때 두가지 컨셉으로 응답 (XML, JSON)일괄처리 함수 만들기 (처리.py)자동 적용배치 처리 윈도우에서는 스케쥴러 프로그램Linux에서는 Crontab 설정해당 스크립트 (처리.py)가 정해진 시간에 코드가 돌아감웹 스크래핑 시, 주의점1. 어떤 웹 페이지를 스크래핑 하고자 한다면..