목록Programming Language/Python (11)
091
1. 시계열 분석- 시계열 분석은 시간 순서대로 발생한 데이터를 이용해 패턴•추세•변동성을 파악하고 미래 값을 예측하는 방법, X축은 시간, y축은 데이터-> 정상성의 조건은 평균 일정, 분산 일정, 자기상관(패턴)이 시간에 따라 변하지 않음, 즉 시간에 따라 통계적 성질이 바뀌지 않는 상태를 의미합니다. 이후에 사용할 ARIMA 모델의 경우 정상성을 만족하기 위해 차분을 통해 데이터를 안정적 패턴으로 변환합니다. - ARIMA란 시계열 데이터를 예측하기 위해 추세를 제거해 정상화한 뒤, 자기회귀+이동평균 구조를 결합한 모델-> ARIMA의 핵심 3요소는 (p,d,q)로, 이후 코드에서 order=(1,1,1)의 형태로 구현됩니다. - ARIMA 코드import pandas as pdimport matp..
* https://ddongwon.tistory.com/114에서 일부 내용을 차용하여 작성하였습니다.* 1. 주성분 분석- 주성분 분석(PCA)은 고차원의 데이터를 낮은 차원의 데이터로 바꿔주는 것으로, 중복되는 정보를 합쳐서 새로운 변수로 압축하는 방법import numpy as npfrom sklearn.decomposition import PCA몸무게 = [30,35,40,45,50]팔길이 = [45,48,51,54,57]원본_데이터 = np.array([몸무게, 팔길이]).T# .T는 2행 5열인 원본 데이터를 5행 2열로 행과 열을 뒤집는 속성print("===원본 데이터===")print(" 몸무게 팔길이")print(원본_데이터)pca = PCA(n_components=2) #몇 개의 주성..
1. 선형회귀분석- 선형회귀분석이란 독립변수(X)와 종속변수(Y) 간의 선형적 관계를 모델링하는 통계적 방법, 최적의 직선을 찾아 변수 간의 관계를 설명하는 특징 -> 인과 관계 파악 및 예측과 추정에 활용독립변수: 실험이나 관찰에서 원인 역할을 하는 변수종속변수: 실험이나 관찰에서 결과 역할을 하는 변수 공부 시간 시험 점수연령, 수입, 학력, 주거구매 성향가격, 광고시간, 점포수매출액근무년수, 상여금, 교육판매원 업적 - 회귀식란 데이터 관계를 수학식으로 표현한 것, 독립변수와 종속변수의 관계식이라고도 함-> 종속변수, 독립변수는 입력변수, 회귀계수, 회귀상수(절편)은 추정할 수 있는 값인 모수, 오차항은 추정할 수 없는 확률변수 - 선형회귀분석 수행 단계 : 변수 설정 -> 결정계수 확인(결정계수가..
1. 상관분석 - 상관분석이란 두 변수 간의 선형적 관계가 얼마나 강하고 어떤 방향인지를 수치로 나타내는 분석- 상관계수는 이 변수가 얼마나 강하게 연결되어있는지 숫자로 표현하는 것으로 -1~1 사이값 -> 절댓값 1에 가까울수록 두 변수는 강한 관계를 가지며 양수(+)면 같이 방향으로 움직이는 양의 상관관계/ 음수(-)면 반대 방향으로 움직이는 음의 상관관계 (1) 피어슨 상관분석 : 가장 일반적인 상관분석으로 연속형 변수 간 선형 관계를 측정할 때 주로 사용(2) 스피어만 상관분석 : 변수 값의 순위를 기준으로 계산, 비선형적이거나 순위 데이터에도 사용(3) 켄달 상관분석 : 순위 기반 상관계수이나 순위 일치 정도를 비교하여 데이터가 작거나 이상치가 있을 때 유리=> 만약 동점자가 나오며 켄달은 순위..
1. 데이터 전처리(1) 결측치 : 데이터가 관측되지 않아서 값이 없는 상태import pandas as pdimport numpy as npdf = pd.DataFrame({'A':[1,2,np.nan]})dfdf_drop_nan = df.dropna()#df_fill_nan = df['A'].fillna(0) -> Series, (name: A,dtype: float64)df_mean = df.fillna(df.mean()) #평균값으로 열 결측치 대체print(df)print()print(df_mean)- 열이 여러개인 상황에서 df.fillna를 사용하면 해당하는 열의 평균값이 NaN(결측값)을 채웁니다.(2) 이상치 : 다른 값들과 크게 벗어난 값- IQR(Interquartile Range, ..
1. 넘버스 라이브러리- Numpy(Numerical Python)은 수치계산을 빠르게 수행하도록 만들어진 Python 라이브러리로, 리스트보다 효율적인 배열 연산을 제공합니다. -> 배열을 생성할 때는 .array(),arange(),zeros(),ones() 등을 이용했습니다. => ndarrayimport numpy as npa = np.array([1,2])b = np.array([1,2], dtype=np.float64)print(a,b) #[1 2] [1. 2.]print(a.dtype, b.dtype) #int64 float64c = np.arange(0,10,2)d = np.array([[1,2],[3,4],[5,6]])print(c) #[0 2 4 6 8]print(d)#[[1 2]# [..
1. 데이터 시각화- 데이터를 시각화하기 위해서는 그래프를 사용해야합니다. 구글 코랩에서 matplotlib.pyplot를 이용하여 값을 시각화해보겠습니다. 참고로 matplotlib은 Python의 대표적인 시각화 라이브러리입니다. - 꺾은선 그래프 : plt.plot(), 시간 데이터를 x축에 두고 연속형 변수의 추세를 살펴볼 때 사용import matplotlib.pyplot as pltyear = [2,5,8]price = [10,20,15]plt.plot(year, price, 'rs:')#plt.plot(year,price,color='r',marker='s',linestyle=':')#plt.axis([xmin, xmax, ymin, ymax])plt.axis([1,10,5,20]) # 축..
* 구글 코랩에서 사용되는 명령어입니다. *1. time, datetime 모듈- time 모듈은 주로 시간 측정, 지연, 구조적 시간 처리용으로 사용되고, datetime 모듈은 날짜와 시간을 객체 단위로 편리하게 처리하기 위해 사용되는 모듈입니다. time.sleep(time) # 프로그램 실행을 잠시 멈추는 함수now = datetime.datetime.now() #datetime 객체yymmdd = now.strftime('%Y-%m-%d')hhmmss = now.strftime('%H-%M-%S')-> 저는 이번 웹크롤링 활용해서 두가지 모듈에서는 이 기능만을 사용했습니다.-> datetime 객체는 마이크로초까지 출력하기 때문에 strftime()을 통해 원하는 포맷으로 만들어 넣어야합니다. ..