반응형

분류 전체보기 339

[Python] 파이썬으로 파일 첨부하여 메일 보내기(Gmail)(SMTP / MIME)

이번 포스팅에서는 파이썬으로 구글메일 API를 활용하여 메일을 보내고 파일까지 첨부하는 것을 알아보겠습니다. 권한설정 1. 보안 설정 변경 보안 -> 엑세스 사용 설정 -> 보안 수준이 낮은 앱 허용(사용)으로 바꾸기 2. GMail IMAP값 변경 Gmail -> 설정(톱니바퀴) -> 모든 설정보기 클릭 전달 및 POP/IMAP -> IMAP 사용안함을 사용으로 바꾸고 -> 저장 개념설명 SMTP(Simple Mail Transfer Protocol) : 인터넷에서 메일을 주고 받기 위해 이용하는 프로토콜(메일 서버간 전송 규약) POP3 : 받는 메일, 서버에 메일을 저장해 두지 않음 IMAP : 받는 메일, 서버에 메일을 저장해두어서 언제든 원하는 메일 열람 가능 MIME : 이메일을 보낼 때 형식..

[Python] 데이터를 MYSQL DB에 적재/ 업데이트 하는 방법 (MYSQL WORKBENCH / Upsert / to_sql)

데이터를 MYSQL DB에 적재/ 업데이트 하는 방법파이썬으로 데이터를 MYSQL의 DB에 적재하는 여러가지 방법을 알아봅니다.데이터를 한번에 밀어넣는 방법과, 데이터를 업데이트 시켜주는 upsert 방법을 소개합니다 데이터 세팅 및 MYSQL WORKBENCH 연결활용데이터캐글의 bike 데이터를 활용https://www.kaggle.com/c/bike-sharing-demand/data?select=train.csv사전 작업 1: MYSQL WORKBENCH DB 연결workbench에서 local DB를 연결합니다connection name를 지정합니다hostname : 로컬로 연결하려면 로컬 ip인 "127.0.0.1"(자동입력 되어있음), AWS RDS로 연결하려면 RDS의 hostname을 입..

[시계열 분석] Prophet

Prophet 알고리즘 Paper: https://peerj.com/preprints/3190.pdf Quick Start: https://facebook.github.io/prophet/docs/quick_start.html 기본가정 자동화 된 기술은 상황에 맞게 튜닝하기 어렵고 경험적 지식을 반영하기 어려움 분석가들은 도메인 지식만 풍부한 편이며 분석을 쉽게 다루지 못함 비전문가가 경험적 특성을 반영할 수 있도록 필요한 부분을 자동화 Prophet 모델의 주요 구성요소 : Trend, Seasonality, Holiday 공식 : y(t)=g(t)+s(t)+h(t)+ϵi g(t) : 반복적인 요소가 없는 트랜드 s(t) : 반폭적인 요소를 가지고 있는 변화(계절성) h(t) : 불규칙적으로 영향을 미..

[Python] 다양한 함수를 활용하여 파생변수(새로운 컬럼) 만들기(apply, map, lambda)

데이터프레임에 메소드를 적용하여 새로운 컬럼을 만드는 방법을 알아보겠습니다. 물론 반복문을 사용해서 데이터프레임에서 한줄씩 읽어와서 처리한 다음 컬럼을 만드는 방법도 있지만 이러한 방법은 시간이 오래걸린다는 단점이 있습니다. 따라서 함수를 활용해서 데이터프레임을 가공하는 여러가지 방법을 알아보겠습니다. 데이터프레임은 아래 예시 데이터를 활용하였습니다. # 사전 세팅코드 import pandas as pd data = pd.read_csv("data.csv") 하나의 컬럼만 활용하여 하나의 새로운 컬럼을 만들때 apply나 map 함수 활용 - 예시 : referrer에서 media(ex. naver, daum)을 뽑아내는 메소드를 적용시켜보겠습니다. # 적용 함수 def split_data(referre..

[시계열분석] 시계열 알고리즘 - 선형확률과정의 분석사이클 자동화 (Auto ARIMA)(2) - 항공사 승객수요 Auro-ARIMA 모델링

항공사 승객수요 데이터 모델링 # 라이브러리 호출 import pandas as pd import numpy as np import matplotlib.pyplot as plt import statsmodels.api as sm %reload_ext autoreload %autoreload 2 from module import stationarity_adf_test, stationarity_kpss_test # 데이터 준비 data = sm.datasets.get_rdataset("AirPassengers") raw = data.data.copy() # 데이터 전처리 ## 시간 인덱싱 if 'time' in raw.columns: raw.index = pd.date_range(start='1/1/1949..

[시계열분석] 시계열 알고리즘 - 선형확률과정의 분석사이클 자동화 (Auto ARIMA)

분석싸이클 자동화(Non-seasonal) "Hyndman-Khandakar algorithm for automatic ARIMA modelling" 차수가 높지않은 SARIMA 알고리즘을 자동화 한 것으로 Hyndman-Khandakar 알고리즘(2008)을 기반으로 함 정상성변환(Unit Root Calculation), 검증지표 최적화(AIC) 및 MLE 방법을 사용한 모수추정을 모두 포함 자동화 과정: 일반화 분석싸이클의 2~4단계만 자동화 1. KPSS 검정통계량(정상성 테스트)을 사용한 독립변수(Y_t)의 적분차수/차분차수 결정(0 ≤ d ≤ 2) 2. 차분된 독립변수 (1 - L)^d Y_t에 AIC를 줄여가며 초기모형 후보들 적합을 통한 Base모형의 차수 p와 q를 선택 만약 d ≤ 1,..

[시계열분석] 시계열 알고리즘 - 선형확률과정의 분석사이클

분석싸이클 정리(Non-seasonal) 1. 분석싸이클 제시: 1) 모형의 모수추정(Model Identification): - 시계열 데이터의 정상성을 확인하고 계절변동이 있는지도 확인 - ACF/PACF 를 사용해서 자기회귀이동평균 모형 p,q 차수를 결정 2) 모델링 및 검증(Parameter Estimation): - 회귀분석과 기계학습 등의 검증지표를 마찬가지로 사용 - 모형 추정은 최소제곱방법과 유사하지만 가우스-뉴튼 아이디어에 기초한 수치해석방법을 적용 3) 잔차진단(Model Diagnostics): - 자기회귀이동평균 모형을 적용시키고 남은 잔차의 정상성을 확인하는데 중점 - 잔차가 서로 독립이고 시간에 따라 평균과 분산이 일정한지 검증 - 시계열 데이터의 자기상관을 검정하기 위해 다양..

[시계열분석] 시계열 알고리즘 - 적분 선형확률 과정(3) - SARIMA 모델링 해석

SARIMA 모델링 해석 원 데이터 ADF 정상성 테스트 -> p가 0.05보다 작으므로 정상상태임. 테스트는 정상으로 나오지만, 계절성과 추세가 있는 것으로 보임 p:2? (PACF 기준 lag 2까지 유의하고 그 뒤로는 유의하지 않음) d:1? (ACF를 봤을때 추세가 어느정도 보이므로 추세 1차 차분) q:1? (ACF 기준 필요성 인지) P:1? (PACF 기준 lag 24 간격 유의성으로 필요성 인지) D:1? (계절성 차분 필요함 인지) Q:2? (ACF 기준 lag 24 간격 유의성으로 필요성 인지) m:24 (ACF/PACF 기준 lag 24 간격으로 유의한 진동 존재) 계절 차분 후 데이터 ADF 정상성 테스트 -> p가 0.05보다 작으므로 정상상태임. 하지만 계절성이 반복되고 있기 때..

[시계열분석] 시계열 알고리즘 - 적분 선형확률 과정(2) - SARIMA

SARIMA(Seasonal ARIMA) ARIMA 모형은 Non-seasonal 데이터 또는 Non-seasonal ARIMA 모델을 가정 -> 계절성 패턴 반영 모델 필요 SARIMAX 클래스 이용하면 Multiplicated SARIMA(p,d,q)x(P,D,Q,m) 모형 추정 및 예측 가능 SARIMAX의 fit 메서드는 모수를 추정하여 그 결과를 SARIMAX Result 클래스 인스턴스로 반환 매개변수 설명 p : ARIMA의 AR 성분과 동일 d : 연속 차분 작업이 수행되는 횟수 q : ARIMA의 MA 성분과 동일 m : 계절성 시차 P (계절적 AR 구성 요소) :현재 관측치에 대한 과거 시차의 영향. p 와 달리 과거 시차는 m 시차의 배수로 현재 시차와 분리. 예를 들어, m = 1..

[시계열분석] 시계열 알고리즘 - 적분 선형확률 과정(1) - ARIMA

ARIMA(Auto-Regressive Integrated Moving Average) ARIMA(p,d,q): 1이상의 차분이 적용하여 알고리즘의 차수(p and q)가 유한한 AR(p)와 MA(q)의 선형조합"** 비정상성인 시계열 데이터 Y_t를 차분한 결과로 만들어진 위 식이가 정상성인 데이터이고 ARMA 모형을 따르면 원래의 Y_t를 ARIMA 모형이라고 함 => d ≥ 1 : Y_t는 비정상성 시계열 데이터이다(단위근을 갖는다) d번 차분한 시계열이 정상성인 데이터이고 ARMA(p,q) 모형을 따른다면 적분차수(Order of Integrarion)가 d인 ARIMA(p,d,q)로 표기함 p=0: ARIMA(0,d,q) = IMA(d,q) q=0: ARIMA(p,d,0) = ARI(p,d) A..

반응형