이변량 분석 : 범주 → 범주

2024. 9. 13. 12:11·KT AIVLE School/데이터 분석 및 의미 찾기

 

교차표

 

- pd.crosstab('범주',범주')

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

normalize : 컬럼안에서 비율 계산 (columns, index, all)

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

 

- 외) pd.crosstab(x,y)

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()

 

시각화 : Mosaic Plot

import matplotlib.pyplot as plt
import seaborn as sns
from statsmodels.graphics.mosaicplot import mosaic      #mosaic plot!
import scipy.stats as spst

 

- mosaic(data, ['x범주','y범주'])

temp = data.sort_values('Sex')

mosaic(temp, [ 'Sex','Survived'])
plt.axhline(1- titanic['Survived'].mean(), color = 'r')
plt.show()

 

전체 생존률의 평균 비율 - 빨간색
아무런 관련이 없으면 나오는 그래프

 

수치화 : 카이제곱 검정 : Chi-squared Test

카이제곱 통계량 : 기대빈도(관련이 없을 때 나오는 값)와 실제 데이터의 차이

기대빈도 : 아무 관련이 없을 때 나올 수 있는 빈도수(귀무가설이 참일때 나오는 값 )

 

- 자유도

샘플이나 표본 데이터에서 자유롭게 변할 수 있는 변수의 수

자유도 = 범주의 수 - 1

 

 

- 코드

1. 교차표 집계

교차표 = pd.crosstab(데이터['범주'],데이터['범주'])

※ 비율로 하면 안됌!

table = pd.crosstab(titanic['Survived'], titanic['Pclass'])

 

2. 카이제곱검정

spst.chi2_contingency(교차표)

result = spst.chi2_contingency(table)
print(f'x^2 : {result[0]}')
print(f'pv : {result[1]}')
print(f'dof : {result[2]}')
print(f'ef : {result[3]}')

 

카이제곱 : 높을 수록 차이가 큼

p-value : 0.05 기준

dof 자유도 : (3-1) x (2-1)

기대빈도 : 관련이 없으면 나오는 빈도수

 

 

 

 

'KT AIVLE School > 데이터 분석 및 의미 찾기' 카테고리의 다른 글

시계열 데이터  (0) 2024.09.13
이변량 분석 : 숫자 → 범주  (0) 2024.09.13
이변량 분석 : 범주 → 숫자  (1) 2024.09.12
평균 추정과 신뢰구간  (0) 2024.09.12
이변량 분석 : 숫자 → 숫자  (0) 2024.09.11
'KT AIVLE School/데이터 분석 및 의미 찾기' 카테고리의 다른 글
  • 시계열 데이터
  • 이변량 분석 : 숫자 → 범주
  • 이변량 분석 : 범주 → 숫자
  • 평균 추정과 신뢰구간
Rabet
Rabet
  • 블로그 메뉴

    • 관리자
    • 글쓰기
  • Rabet
    卯
    Rabet
  • 전체
    오늘
    어제
    • Root (139)
      • KT AIVLE School (85)
        • Start (4)
        • Python프로그래밍 & 라이브러리 (6)
        • 데이터 처리 및 분석 (7)
        • 데이터 분석 및 의미 찾기 (7)
        • 웹크롤링 (10)
        • 머신러닝 (10)
        • 딥러닝 (6)
        • 시각지능 딥러닝 (10)
        • 언어지능 딥러닝 (6)
        • JAVA (4)
        • SQL (2)
        • 가상화 클라우드 (5)
        • 프로젝트 (8)
      • QA (2)
        • 오류사항 (1)
      • 웹공부 (14)
        • SPRING (11)
        • React (1)
      • 코딩 알고리즘 스터디 (23)
      • 코딩테스트 (9)
        • JAVA (8)
        • HTML (1)
      • CS공부 (3)
      • 자격증공부 (3)
        • 정보처리기사 (1)
        • 컴퓨터활용능력 1급 (1)
        • AICE Associate (1)
        • CSTS (0)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
Rabet
이변량 분석 : 범주 → 범주
상단으로

티스토리툴바