분포의 특성
왜도(skewness)
꼬리가 한쪽 방향으로 늘어진 정도(0이면 좌우대칭)
from scipy.stats import skew
skew(df.price)
첨도(kurtosis)
- 꼬리의 두터움 또는 이상치의 존재
- 평균에서 ±1 표준편차 이내의 점들은 4제곱을 하면 거의 0이 됨 → 영향 X
- 평균에서 벗어난 점들이 많거나, 멀리 벗어날 수록 영향이 큼
- 초과(excess) 첨도: 위의 수식 -3
- 정규분포의 첨도 = 3이므로 비교를 위해 → 정규분포의 초과 첨도 = 0
- python에서도 대부분 이 방식을 사용
- 첨도 = 0
- 첨도가 높다(첨도 > 0) → 정규분 포보다 꼬리가 두껍거나 이상치가 있음
- 첨도가 낮다(첨도 < 0) → 정규분포보다 꼬리가 얇음
from scipy.stats import kurtosis
kurtosis(df.price)
히스토그램 (histogram)
데이터를 구간별로 나눠, 각 구간의 사례 수를 막대그래프로 그린 것
import seaborn as sns # 시본 임포트
sns.histplot(
x='price', # x축(가로) 변수
data=df) # 데이터
막대기 수는 bins로 설정
sns.histplot(x='price', data=df, bins=30)
seaborn을 포함해 Python의 대다수 시각화 라이브러리는 matplotlib에 의존
import matplotlib.pyplot as plt
# 가로축 눈금을 100에서 2100까지 200 간격으로 설정
xs = list(range(100, 2100, 200))
sns.histplot(x='price', data=df, bins=xs)
plt.xticks(xs)
커널 밀도 추정 (kernel density estimation)
데이터 밀도 추정 기법 kde=True로 설정하면 데이터의 밀도를 추정하여 표시
sns.histplot(x='price', data=df, kde=True)