목차(클릭하세요)
1. 기계학습 예시
[광고로 알아보는 기계학습]
•
광고비를 많이 사용하면 클릭수가 증가할 것인가?
•
학습이란?
최적의 모델을 찾아가는 과정
2. 주식 데이터 분석
2-1. 개념
•
앞으로 이 주식, 오를까? 떨어질까?
2-2.핵심 모듈
•
프로빗(Prophet)을 활용
•
네이버금융의 삼성전자 ‘시세’데이터
•
html과 관련된 network를 찾고, Request URL을 복사하여 실행
•
해당주소를 복사하여 새창에서 열면 해당 시세에 관련된 부분만 조회되는 것을 확인할 수 있음
왜 'Mozilla/5.0'을 User-Agent로 사용하는가?
•
① 웹 서버 접근 허용을 위해
◦
일부 웹사이트는 User-Agent가 누락되었거나 비정상적인 경우 요청을 차단함
◦
'Mozilla/5.0'은 일반적인 브라우저의 요청처럼 인식되어 접근 가능함
•
② 크롤링 탐지 회피 목적
◦
Python requests 기본값은 User-Agent 없이 요청하므로 봇(로봇)으로 탐지될 가능성이 높음
◦
'Mozilla/5.0'을 명시하면 사람이 사용하는 브라우저처럼 위장할 수 있어 차단을 피할 수 있음
•
③ 웹 콘텐츠를 제대로 수신하기 위해
◦
몇몇 웹서버는 User-Agent에 따라 **다른 버전의 콘텐츠(모바일/데스크탑)**를 제공함
◦
정확한 HTML 또는 JavaScript를 받아오기 위해서는 브라우저 흉내를 내야 함
3. 이후과정
3-1. 전체 페이지를 스크랩하기
3-2.결측치 처리
3-3.학습에 사용할 데이터 결정하기
4. ARIMA 모델과의 차이점
ARIMA vs Prophet: 예측에 영향을 주는 특성 비교
항목 | ARIMA 모델 | Prophet 모델 |
기본 입력 데이터 | 단일 시계열 데이터 (y, 시간 종속성만 반영) | 단일 시계열 데이터 (ds, y) + 외생 변수도 가능 |
사용하는 특성(feature) | 시간에 따른 과거 값 (자기회귀 + 차분 + 이동평균) | 추세 + 계절성 + 휴일효과 + (추가 외부 변수) |
내부 구성 요소 | 자기회귀(AR), 차분(I), 이동평균(MA)로 구성 | 추세(g), 계절성(s), 휴일효과(h), 오차항(ε) |
외생 변수 추가 가능성 | SARIMAX로 확장해야 가능함 (X: exogenous) | add_regressor() 함수로 쉽게 외부 변수 추가 가능 |
예측값에 영향을 주는 특성 수 | 보통 시간 1개 특성만 반영 | 기본 1개(date) + 여러 영향 요인 반영 가능 |
결론 요약
항목 | 설명 |
ARIMA 모델 | 일반적으로 시간 데이터 하나에 의존함. 외생 변수 사용하려면 확장(SARIMAX) 필요 |
Prophet 모델 | 날짜(ds)를 기반으로 다양한 요인(추세, 계절성, 휴일, 외부 변수 등) 반영 가능 |
따라서 | Prophet은 단일 특성만 사용하는 단순 모델이 아니며, 다중 요인 기반의 직관적인 시계열 예측 도구로 이해해야 함 |