순서가 있다고 하여, 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과 데이터의 최대값중 더 작은 값
펜스를 벗어난 데이터는 이상치 후보가 되며 이상치 결정이 필요하다.