2024년 7월 25일 목 오후 4시
인원: 박동채 외 20명
장소: 의양관 B07
불참인원: 정민(특강), 진하(랩실), 지선(랩실)
<공지사항>
1. 다음주 늦출 + 불출 인원 조사 (늦출,결석 구분)
도영 : 7월 29일(해커톤)
철민 : 7월 29일(해커톤)
다경 : 8월 1일(병원)
강수현 : 7월 29일(해커톤)
정민 : 7월 29일 ~ 8월 2일(특강)
채윤 : 7월 29일 ~ 8월 2일(특강)
소희 : 7월 29일 ~ 7월 31일(특강), 8월 1일(늦출), 8월 2일(병원)
진하 : 7월 29,31 8월 1일(회사), 7월 30일(개인일정)
지선 : 7월 29(해커톤) 7월 31일, 8월 2일(랩실)
소현 : 7월 29일(개인일정)
민중 : 8월 1일(늦출)
수환 : 7월 29일 ~ 7월 30일(여행)
시경 : 8월 2일(개인일정)
서희 : 8월 2일(여행)
재헌 : 7월 31일(늦출)
2. 학술 피드백 일정 fix
- 8월 26~30일 사이로 변경, 교수님께 해당 날짜 여쭤보고 다음 주 중으로 확정 지을 예정.
3. 스터디 수요 조사(자격증 + 따로 공부하고 싶은 부분), 아마 자격증 위주로 진행 예정.
- 한달 정도 할 수 있는 간단한 스터디나 자격증(sqld 등) - https://www.dataq.or.kr/www/main.do#none
- 공부하고 싶은 인강이나 유료강의 필요하면 필요한 사람들끼리 팀 꾸려서 말해주면 좋음.
4. 팀 과제 팀 선정
<이미지>
- 동채: 소현, 도영, 상언, 정훈
- 고은님: 승주, 태우
<텍스트>
- 동해: 민중, 서희
- 다경: 수환, 시경
- 지원님: 재헌, 경원
- 주환님: 준엽, 연수
나머지 기존 부원들 최대 3명씩해서 팀구성 요망
5. 선발 재공지
- 8월 23일 전원 발표
- 기존 부원들 신청서 작성했어도 발표 보고 선발 기준에 부합하지 않으면 안 데리고 감.
- 신입 부원들은 정해준 프로젝트 발표(개인 과제나 팀 과제)
- 기존 부원들은 이때까지 했던 우수 프로젝트 하나를 발표해야함.
- 발표를 보고 회원으로 선발할지 말지 교수님이랑 선배님이 결정하심.
- 선발된 회원은 매학기마다 활동에 대한 결과를 발표, 그 발표는 앞으로 준비해야 하는 것들이나 나아갈 방향 지도를 위함.
- 앞으로 어떤 활동을 할 때 교수님께 보고하여 그 대회의 가치와 수상하기 위한 가이드를 듣고 활동 진행.
6. 데싸노트 진도 체크 (불시 점검 예정)
- 멘토가 개인적으로 관리해주기
7. 릴레이 발표
- 해커톤(2팀) 아이디어 및 앞으로의 진행 방향 발표(8월 1일), 채윤
- 철민,다경 + 수환,준엽(8월 8일)
+ 신입부원들은 원하는 것 또는 관심있는 프로젝트 필사(따라적기)하고 아니면 물어보셈
+ 기존부원들은 듣는 사람들이 얻어가는 주제였으면 좋겠음
8. 신입 교육 피드백
- 회장님 발표 하실 때 내용 이해하기가 어려움. 좀 더 쉽게 말해주면 좋겠음.
- 개인과제가 너무 어렵다 (x3)
- 회장님 목소리가 잘 안들림.
- 제출하는 보고서 양식 맞추기 어렵다.
- 월마트 과제 설명이 부족한 것 같다. 상세하게 해주면 좋겠다. (x5)
- 회장님 말을 친절하게 해주면 좋겠다.
9. 디스코드 링크 공유 (비대면 회의할때 유용할 것 같아서 링크 공유함)
https://discord.gg/Hq5UCdXb
<발표>
1. 박동채: 컴퓨터 비전 분야 소개(+ 간단한 코드)
2. 신입부원 발표 안한 사람 발표(5명) - 민중, 소현, 시경, 연수, 재헌
동채 - 컴퓨터 비전 분야 소개(+ 간단한 코드)
컴퓨터 비전에 대해 소개. 행동인식, 객체추적, 해충탐지 등 비전의 종류와 도메인에 대해 소개함.
포켓몬 탐지 모델을 만들었음. cuda를 통해 진행하고, 허깅페이스에서 불러옴.
스트림릿을 통해 사람들이 포켓몬 이미지를 업로드할 수 있게 웹페이지를 약식으로 구현함.
해당 웹페이지는 사진을 올리면 포켓몬을 인식하고 정보를 알려줌.
만약 인식하지 못했다면, 직접 해당 포켓몬의 정보를 입력하고 파인튜닝 가능함.
새로운 포켓몬의 정보는 로컬 csv의 파일에 저장되면서 정보를 지속적으로 수집된다.
민중 - 월마트
분석기간 설정하고 일출, 일몰, 기온 편차, 관측소 기압등 필요없다고 생각하는 칼럼들은 제거하고 시작.
기초통계량, 결측치 등을 확인하는데, 강수량, 강설량에서 M,T의 결측치는 NaN과 0으로 대체하고 object형으로 변경하였다.
화씨 -> 섭씨로 변경하였음. 1인칭 미만의 비와 2인칭 미만의 눈을 제거하였음.
date변수를 연도, 월 칼럼으로 변경하였음
EDA파트에서 폭풍 발생 전 3일 전후로 판매량을 파악하니 폭풍 전에는 판매량이 증가했다가 폭풍후에는 감소함을 확인하였음.
판매량은 월별 판매량으로 확인 했더니, 판매량이 높을 때와 낮을때의 폭풍의 발생여부를 비교했더니 상관이 있음을 확인
각 상점에서 폭풍이 발생한 횟수를 확인함.
16번 가게는 폭풍 강도가 제일 강해서 폭풍 대비로 상품을 가장 많이 구매한다고 유추, 그에 따라 판매량이 높은 5,9번은 폭풍에 대비할 수 있는 아이템이라고 유추함.
폭풍이 발생하면 기온이 일시적으로 하락함.
수치형 변수들 끼리만 히트맵으로 상관관계를 파악함
모든 컬럼에 대한 결측치를 정규분포를 따르면 중앙값, 그렇지 않으면 평균값으로 대체함
그 후 머신러닝을 돌렸는데 결과가 예상보다 좋지 않아서 파라미터 튜닝 진행할 예정.
연수 - 월마트
데이터 칼럼별로 저장 형식 확인 후, 테스트 셋과 겹치는 날짜는 제거함.
date칼럼을 제외한 모든 칼럼들을 object -> 상황에 맞게 변경함.
판매량에 따른 데이터의 개수를 확인함 -> 0값이 많음을 확인.
스토어 별로 0값을 확인 함 -> 평균적으로 균일하게 분포.
날짜별로 unit 합 0값을 확인 -> 추수 감사절에 쉬었다고 판매되는 일부 매장만 행 제거함.
스토어 별로 총 판매량이 0인 아이템들을 확인함 -> 판매량이 없다고 판단되는 아이템은 재고가 없다고 생각되서 데이터를 총 1만개 정도 제거함.
컬럼별로 결측치는 tmax와 tmin은 둘 다 필요하다고 생각하지 않아서 (tmax-tmin)으로 새로운 행을 만듦.
일부 컬럼은 선형보간법을 사용하여 결측치를 메워줌. 모델을 돌려보고 EDA를 하는게 좋다고 생각해, 모델을 먼저 한번 돌려봄.
DT를 돌려보니 오버피팅이 되어서 수정할 예정.
시경 - 월마트
데이터 나누어진거 병합함. info로 데이터 타입 확인, 문자열 데이터가 많아서 데이터 타입 변형함.
강설량과 강수량의 결측치는 눈,비가 안온다고 생각해 0으로 대체함.
일부 데이터의 결측치는 선형보간법으로 채워넣었음. test의 날짜와 train셋의 겹치는 날짜는 제거함.
변수간 시각화 함, 히트맵으로 변수간 상관관계를 파악함. 강수량 1인치 강설량 2인치 이상인 데이터를 필터링해서 데이터 프레임 생성함.
강수량과 강설량 데이터를 시각화 해서 보면 강수량과 강설량이 낮은 날에는 판매량이 높다. 매장별 총 매출액에서 높은 판매량의 매장인 33번 매장과 가장 낮은 매장인 19번 매장의 원인을 확인하기 위해서 기온 데이터를 확인함. 평균기온 데이터를 시각화 해서 보니 더운 날이 많았음.
19번 매장은 강설량이 매우 높고, 기온이 낮은 편이었고, 33번 매장은 강설량이 매우 낮고 기온이 높은 편이었음.
그래프로 시각화 후, 강설량에 따라 매출이 달라짐을 확인함. 33번 매장과 19번 매장의 품목별 판매량을 확인 함.
날짜별 데이터에서 년,월,일에 따른 판매량을 시각화 함. 이를 통해 주말, 월요일에는 판매량이 높음을 확인함.
모델링 해본 결과 날씨 보다는 해당 스토어가 어떤 스토어인지가 가장 중요함을 확인함.
소현 - 월마트
데이터 합치지않고, 따로따로 결측치 처리한 다음에 합칠 예정. 데이터에서 결측치가 절반을 넘는 컬럼은 다 삭제함.
기후는 전날과 다음날의 차이가 크지 않을 거라 생각해 선형보간법으로 결측치를 채워넣음. 기압, 풍속등은 평균값으로 결측치 보강했음.
두번째 데이터 셋 불러와서 결측치 확인하고, 합계가 0인 데이터 확인함 또한, test데이터 셋 불러와서 train셋과 날짜가 겹치는 부분은 제거함.
날짜별 판매량은 월별로 확인함. 일단, 그냥 DT로 모델링을 해당했는데, 결과가 좋지 않아서 추후 결측치 다른 방향으로 보완후 모델링 예정.
재헌 - 월마트
데이터 셋을 불러와서 test과 train의 겹치는 날짜의 데이터는 삭제함. test에는 없지만 train에는 있는 35번 스토어는 삭제함.
로그 스케일링을 해봤지만, 데이터 편향은 해결 되지 않았음. 문자열로 되어있는 결측치를 확인해 숫자형 데이터로 변형해서 정상화 하였음.
결측치가 많은 순으로 그래프를 그려서 확인함. 시계열 데이터인지 코드를 통해 확인하였고 True 라고 떠서 시계열 데이터라고 확인함.
tmax와 tmin의 결측치는 시계열이기에 선형 보간법으로 채워넣음. 일부 데이터를 제외한 대부분의 컬럼은 선형 보간법으로 대체함, 그러나 필요없다고 생각한 컬럼은 삭제했음. 추수감사절과 크리스마스는 판매량이 없어서 해당 요일은 삭제함. 아이템별 판매량을 확인했는데 값이 없는 아이템은 취급하지 않는 아이템으로 판단함. 시각화를 통해 다양한 요인에 따른 판매량과 상관관계들을 꼼꼼하게 확인함.
모델링에서 트리모델들 XGB, LGBM과 선형회귀 등 다양한 모델을 분석 했지만, R^2값이 좋지않았아서 OLS선형회귀(아마 기존 선형회귀랑 코드가 다른 것으로 예상?) 를 통해 분석하니 모델의 성능이 올라왔음.