순서가 있다고 하여, Sequential Data라고도 한다.
csv 등으로 데이터셋을 불러왔을 때, 숫자로 변환할 수 없는 값들은 데이터프레임에서 모두 문자열 object로 저장된다.
pd.to_datetime(df['Date'])
함수를 통해 변환 가능한 문자열 object를 datetime으로 변환할 수 있다.
format=
옵션을 통해 파이썬에 어떤 것이 년/월/일인지 알려줄 수 있다.
datetime.dt.
로 년, 월, 일, 요일 등 다양한 날짜 정보를 추출할 수 있다.종류가 엄청 많다. 판다스 공식문서를 참고하자.
아래의 메서드는 모두 시계열 데이터를 처리할 때만 사용하는 메서드이다.
df['열이름'].shift(n)
shift(3)
이면 3일씩 밀려 현재 행에 3일 전 데이터가 오게 된다.shift()
df['열이름'].rolling(n).집계함수
현재 행부터 n행 전까지를 묶어서 집계한다.
3일 이동평균선 예시 : df['MA'] = df['price'].rolling(3).mean()
min_periods
옵션 : 예를들어 rolling(3)의 경우 1행, 2행에서는 rolling에 들어갈 값이 부족해 값이 NaN이 된다. 하지만 min_periods = 1
을 하면 최소 하나의 값으로도 집계가 가능해서 NaN이 생기지 않는다.
`df['열이름'].diff(n)
CRISP-DM은 한 번 수행하는 것으로 끝나는 것이 아니라, 계속 반복하는 사이클이다.
한 사이클을 완료한 시점에서 도메인과 데이터에 대해 더 많은 것을 알게되기 때문에 새로운 인사이트를 얻을 수 있다.
※ 파일럿 프로젝트 : 전체 프로젝트에 앞서 간결하고 축소된 형태의 프로젝트를 통해 전체 프로젝트의 가능성을 판단하는 프로젝트이다 (Go & Stop)
비즈니스의 이해
문제정의 : 해결하고자 하는 문제(target)를 정의하고, 평가지표를 선정한다.
분석 목표
초기 가설 수립 : 문제를 설명하는 요인(feature)를 선정한다.
초기 가설인 이유는 이후 추가 가설이 수립되거나 가설이 수정될 수 있기 때문
데이터의 이해
데이터 원본 식별 : 데이터의 원본이 어디에 있는지 확인한다.
이미 갖고있는 데이터와 현재 없지만 취득 가능한 데이터를 '가용한 데이터'라고 한다.
가용한 데이터를 한데 모아 분석 가능한 하나의 df로 만든다. 데이터 처리의 한 과정이다.
데이터 탐색(EDA, CDA)을 통해 데이터셋을 분석하고, 가설을 검정한다.
데이터 탐색 단계
데이터 전처리
모델링
평가
배포
matplotlib
과 seaborn
을 통해 데이터프레임을 시각화 하는 것이 가능하다.
시각화를 구현하는 방법보다는 데이터에 맞도록 적절한 시각화를 선택하는 방법을 아는 것이 중요하다.
데이터의 단순 해석을 넘어 비즈니스의 인사이트를 파악하는 것
df.describe
를 통해 기초통계량을 한번에 요약하여 확인할 수 있다.기초 통계량 : Box plot
도수 분포표 : 히스토그램, KDE(커널 밀도 추정)
plt.hist(변수명, bins=구간 수)
sns.histplot(x='변수명', data=df, bins = 구간 수)
x축은 시각화하고자 하는 정보, y축은 빈도수를 나타낸다.
히스토그램에서 제일 중요한 것은 구간수로, 구간수에 따라 플롯의 모양이 바뀔 수 있다.
정해진 정답은 없으며, 여러 구간 수를 보면서 적절히 해석 하는 것이 중요하다.
모든 x값에 대해 데이터의 밀도를 추정한 플롯으로, 그래프의 넓이를 합하면 1이다.
a~b 구간의 넓이가 a~b 구간에 데이터가 존재할 확률을 나타낸다.
seaborn에서 kde=True
옵션을 통해 히스토드램과 KDE를 함께 표시할 수 있다.
plt.boxplot(변수명, vert)
sns.boxplot(변수명)
vert=
는 박스플롯의 방향을 설정하는 옵션이다.x=
, y=
옵션을 통해 가능하다.파란색 상자는 Q1과 Q3 사이의 값을 나타낸다.
IQR은 이상치 후보를 추려내는데 사용하며 Q3 - Q1과 같다.
Box Plot에서는 펜스를 통해 이상치 후보를 찾아낸다.
- 왼쪽 펜스는 Q1 - 1.5IQR
과 데이터의 최소값중 더 큰 값
- 오른쪽 펜스는 Q3 + 1.5IQR
과 데이터의 최대값중 더 작은 값
펜스를 벗어난 데이터는 이상치 후보가 되며 이상치 결정이 필요하다.