오늘은 오전에 잠깐 진도를 나가고, 이후부터는 하루종일 팀프로젝트를 진행하였다.
주말 동안 배웠던 내용을 바탕으로 데이터 선정부터 분석, 결론 도출까지 팀원들과 함께 했다.
[Part 1] 앙상블 학습과 비지도 학습
1. 지도 학습 - 앙상블 학습
: 여러 모델을 사용해서 예측값의 신뢰도를 높이는 방법
1) 복원추출 Bagging (Bootstrap Aggregation)
: 학습 데이터를 여러 개 만들어서 분류기 별로 모델을 학습하고, 학습된 분류기들의 결과를 수합하여, 예측결과를 판정
2) 부스팅 (Boosting)
: 분류기들이 순차적으로 학습하여, 복원추출에 비해 높은 성능
3) 투표 (Voting)
: 다수의 서로 다른 분류기를 생성하여 동일한 학습 데이터에 대해서 개별로 학습 (분류나 로지스틱 회귀에서 사용가능)
4) 스태킹 (Stacking)
: 다수의 서로 다른 분류기를 생성하여 동일한 학습 데이터에 대해서 개별로 학습하고, 그 결과를 2차 데이터로 사용하여 학습모델을 만드는 방법
5) 에이다부스트
: 약한 학습기를 여러개 사용해서 분류의 성능을 높임 (최종적인 학습모델은 결합된 분류기의 모습)
2. 비지도학습 - 군집화 (Clustering)
: 레이블이 없는 데이터세트에 대해서 데이터
1) K-평균 군집화
: 학습 데이터로부터 K개의 대표적인 중심점을 구하는 방법
- 초기에 설정한 군집의 개수(K), 데이터의 분포에 따라 성능차 발생 (군집된 데이터일수록 높은 성능)
2) 계층적 군집 분석 (Hierachical Clustering)
: 군집갯수인 K를 초기에 설정하기 않고, 데이터 간의 거리에 기반하여 군집화 수행
[Part 2] 팀프로젝트
지금까지 배운 내용을 바탕으로 실제 프로젝트에 적용 시켜보는 것이다.
데이터셋을 선정하여 분석하고, 유의미한 정보를 도출해 내는 것이 목표이다.
데이터 선정 → orange3 사용하여 데이터 분석 → 데이터 분석 보고서 작성 → 발표
오전에 잠깐 이론 수업하고, 4시 반까지 발표준비까지 마쳐야했다. 즉, 점심시간과 쉬는 시간을 빼면 4시간 정도?
1. 주제 선정하기
주어진 데이터셋을 사용해도 되고, 원하는 데이터셋을 찾아서 정해도 된다.
우리 팀의 데이터셋은 kaggle이라는 사이트에서 찾았다. 다양한 주제, 종류 등 굉장히 많고 유용한 데이터셋이 있다.
시간이 많지 않기 때문에 비교적 간단한 '날씨 예측'을 주제로 선정했다.
- 날씨 데이터셋 링크: https://www.kaggle.com/datasets/ananthr1/weather-prediction
- Columns: date(날짜), precipitation(강수량), temp_max(최고 기온), temp_min(최저 기온), wind(풍속), weather(drizzle, rain, sun, snow, fog)
2. 응답 변수 설정 (Select Columns)
타깃 변수는 weather로 설정하고, 날짜는 필요 없기 때문에 숨겨주자.
3. 범주형에서 숫자형으로 (Continuize)
weather는 현재 5가지 항목으로 범주형이기 때문에, 범주마다 1개의 특징을 사용하는 one-hot 인코딩 방법으로 숫자형 변환을 해줘야 한다.
4. 상관계수
차원 간의 상관 정도를 보기 위해서 파이썬 코드를 작성해주고, 표로 확인해 본다.
5. 여러가지 모델 비교 (Test and Score)
정확도(AUC)는 logistic 회귀가 가장 높지만, F1 점수는 RF가 가장 높다.
6. 여러가지 모델 비교 (ROC Analysis)
가장 극명한 차이가 나는 'sun'과 'rain' 항목을 비교했다.
7. 사용 모델 선정
최종적으로, Logisistic Regression과 Random Forrest, 두 가지를 사용하기로 했다.
8. 결론
※ 해당 카테고리는 딥노이드, 오픈놀, 앙트비에서 주최하는 '<스타트업 유니버시티: DX Challenge 교육> AI+X 역량 강화 트랙'에 대한 기록입니다.
'[AI+X 역량 강화] 인공지능 > 3) 실전 챌린지: 스마트 트랜스폼' 카테고리의 다른 글
인공지능을 활용한 자율비행 드론 프로그래밍 // Tello Drone (0) | 2023.09.23 |
---|---|
컴퓨터비전을 활용한 자율자동차 AI 프로그래밍#2 // 동키카 데이터 수집 방법 (0) | 2023.09.17 |
컴퓨터비전을 활용한 자율자동차 AI 프로그래밍#1 // 동키카로 데이터 수집, 처리, 저장, 학습 (0) | 2023.09.16 |
데이터 분석 워크숍(orange3 활용)#2 // 분류, 알고리즘, 회귀, 예측 (0) | 2023.09.09 |
데이터 분석 워크숍(orange3 활용)#1 // 기술 통계, 정규화, 범주화, 숫자형 및 범주형 변환 (0) | 2023.09.09 |