Hailey's TIL

데이터 분석 및 의미 찾기 2 본문

AI

데이터 분석 및 의미 찾기 2

0_hailey_0 2024. 2. 29. 16:51

1. Anova

 


<Chapter5. 이변량 분석: 범주 -> 범주 >

 

1.교차표(pd.crosstab)

범주 vs 범주 를 비교하고 분석하기 위해서는 먼저 교차표를 만들어야 함.

 

  • pd.crosstab(행, 열)
pd.crosstab(titanic['Survived'], titanic['Sex'])
  • pd.crosstab(행, 열, normalize = )

pd.crosstab(titanic['Survived'], titanic['Sex'], normalize = 'columns')

 

 

2. 시각화

 

1) Mosaic

  • mosaic plot
    • mosaic(dataframe, [ feature, target])
mosaic(titanic, [ 'Pclass','Survived'])
plt.axhline(1- titanic['Survived'].mean(), color = 'r')
plt.show()

① X축 길이는 각 객실등급별 승객비율을 나타낸다.
② 그 중 3등급 객실에 대해서 보면, y축의 길이는, 3등급 객실 승객 중에서 사망, 생존 비율을 의미한다.

 

2) 100% Stacked Bar

  • 먼저 crosstab으로 집계 : pd.crosstab(feature, target, normalize = 'index')
  • .plot.bar(stacked = true)
  • 전체 평균선 : plt.axhline()
temp = pd.crosstab(titanic['Pclass'], titanic['Survived'], normalize = 'index')
print(temp)
temp.plot.bar(stacked=True)
plt.axhline(1-titanic['Survived'].mean(), color = 'r')
plt.show()
  •  

✔️ 비율만 비교하므로 양에 대한 비교는 할 수 없다!

 

 

3. 수치화 

 

1) 카이제곱검정

  • 카이제곱검정 : 범주형 변수들 사이에 어떤 관계가 있는지, 수치화 하는 방법

 

  • 카이 제곱 통계량은
    • 클수록 기대빈도로부터 실제 값에 차이가 크다는 의미.
    • 계산식으로 볼 때, 범주의 수가 늘어날 수록 값은 커지게 되어 있음.
    • 보통, 자유도의 2~3배 보다 크면, 차이가 있다고 본다.
      • 기대빈도: 아무런 관련이 없을 때 나올 수 있는 빈도수
      • 실제 데이터: 관측된 값들
  • 범주형 변수의 자유도 : 범주의 수 - 1
  • 카이제곱검정에서는
    • x 변수의 자유도 × y 변수의 자유도
    • 예 : Pclass --> Survived
      • Pclass : 범주가 3개, Survived : 2개
      • (3-1) * (2-1) = 2
      • 그러므로, 2의 2 ~ 3배인 4 ~ 6 보다 카이제곱 통계량이 크면, 차이가 있다고 볼수 있음.

 

# 1) 먼저 교차표 집계
table = pd.crosstab(titanic['Survived'], titanic['Pclass'])
print(table)
print('-' * 50)

# 2) 카이제곱검정
spst.chi2_contingency(table)

 

 


<Chapter6. 이변량 분석: 범주 -> 범주>

 

1. 시각화

 

1) sns.kdeplot( )

  • kdeplot에는 두가지 방법이 있다.
    • ① kdeplot( , hue = 'Survived')
      • 생존여부의 비율이 유지된 채로 그려짐
      • 두 그래프의 아래 면적의 합이 1
    • ② kdeplot( , hue = 'Survived', common_norm = False)
      • 생존여부 각각 아래 면적의 합이 1인 그래프
    • ③ kdeplot( , hue = 'Survived', multiple = 'fill')
      • 나이에 따라 생존여부 비율을 비교해볼 수 있음. (양의 비교가 아닌 비율!)

 

 

  • 그래프1 에서 생존자와 사망자 그래프가 만나는 부분 -> 다섯 군데
  • 그래프 2의 빨간색은 전체 평균 생존율
  • 겹치는 부분은 전체 평균과 같은 지점

 

  • 약 15세 이하는 생존율이 전체 평균보다 높다.
  • 20~30대는 생존율이 전체 평균보다 낮다.
  • 60~70대는 대부분 사망.

 

[2주차 04]

'AI' 카테고리의 다른 글

웹 크롤링 2  (0) 2024.03.09
웹 크롤링 1  (0) 2024.03.07
데이터 분석 및 의미 찾기 1  (2) 2024.02.28
데이터 처리 2  (1) 2024.02.27
데이터 처리 1  (1) 2024.02.26