마이와 텍스트마이닝

파이썬을 활용한 데이터셋의 기초 통계 개념 본문

카테고리 없음

파이썬을 활용한 데이터셋의 기초 통계 개념

터키언니 2025. 4. 26. 16:30

    데이터에 대한 이해를 높이기 위해 통계 함수와 그 분석은 매우 중요한 역할을 합니다. 또한 머신러닝 알고리즘에서도 필수적으로 사용되며, 중요한 기반이 됩니다. 이번 글에서는 파이썬을 이용해 기본적인 통계 기법들을 살펴보겠습니다. 이러한 기법들은 EDA(탐색적 데이터 분석) 과정에서도 자주 활용됩니다.

 

먼저 데이터를 불러오겠습니다. Kaggle에서 다운로드한 customer churn 데이터입니다.

https://www.kaggle.com/datasets/muhammadshahidazeem/customer-churn-dataset

 

Customer Churn Dataset

Predict Customer's Retention

www.kaggle.com

 

import pandas as pd
import numpy as np
import math
import statistics
import matplotlib
import seaborn as sns
from scipy.stats import gmean
df = pd.read_csv("customer_churn_dataset-testing-master.csv")
df.head()

 

 

 

  • Mean (평균)
    데이터 값들의 합을 데이터 개수로 나눈 값입니다.
# Mean
df.mean(numeric_only=True)
CustomerID          32187.500000
Age                    41.970982
Tenure                 31.994827
Usage Frequency        15.080234
Support Calls           5.400690
Payment Delay          17.133952
Total Spend           541.023379
Last Interaction       15.498850
Churn                   0.473685
dtype: float64

 

  • Geometric Mean (기하 평균)
    모든 데이터 값을 곱한 후, 데이터 개수만큼 루트를 씌운 값입니다.
# Geometric Mean
gmean(df["Age"])
39.44058305604248
  • Harmonic Mean (조화 평균)
    데이터 값들의 역수 평균을 구한 후, 그 값을 다시 역수로 변환한 값입니다.
# Harmonic Mean
statistics.harmonic_mean(df["Age"])
36.78006899556641
  • Mod (최빈값)
    데이터 중 가장 많이 나타난 값을 의미합니다.
# Mode
df[["Tenure"]].mode()

  • Median (중앙값)
    데이터를 크기순으로 정렬했을 때, 중앙에 위치한 값을 의미합니다.
# Median
df["Age"].median()
42.0
  • Variance (분산)
    데이터 값들이 평균으로부터 얼마나 퍼져 있는지를 나타내는 지표입니다.
# Variance
statistics.variance(df["Usage Frequency"])
77.73014447155514

OR

df["Usage Frequency"].var()
77.73014447155514
  • Standard Deviation (표준편차)
    분산의 제곱근으로, 데이터의 흩어짐 정도를 나타냅니다.
# Std Dev
statistics.stdev(df["Payment Delay"])
8.852211096659286
  • Normal Distribution (정규 분포)
    데이터가 평균을 중심으로 좌우 대칭 형태를 이루는 종 모양의 분포입니다.
# Dist Plot
sns.distplot(df["Age"], hist=True, kde=True)

  • Skewness (왜도)
    데이터 분포의 비대칭 정도를 나타내는 값입니다.
# Skewness
df.skew(numeric_only=True)
CustomerID          0.000000
Age                -0.040894
Tenure             -0.126056
Usage Frequency     0.037543
Support Calls      -0.192854
Payment Delay      -0.350714
Total Spend         0.047746
Last Interaction    0.005112
Churn               0.105408
dtype: float64

 

이 글에서는 파이썬을 활용한 데이터셋의 기초 통계 개념을 다뤄보았습니다. 앞으로 남은 통계 방법들에 대해서는 다음 글에서 더 자세히 설명드리겠습니다.