κ°œμΈκ³΅λΆ€/Python

103. νŒŒμ΄λ„ ν”„λ‘œμ νŠΈ (9)상관뢄석

LEE_BOMB 2022. 1. 12. 22:43
데이터

μˆ˜μΉ˜ν˜•

- μ΄μ‚°ν˜• : μ…€ 수 μžˆλŠ” 자료 ex) 사고 건수

- μ—°μ†ν˜• : 연속적 자료 ex) ν‚€, λͺΈλ¬΄κ²Œ

주의! 기둝된 값이 μ΄μ‚°μ˜ ν˜•νƒœμ—¬λ„ μ‹€μ œλ‘œ κ΄€μΈ‘ κ°€λŠ₯ν•œ 값은 연속적인 μ²™λ„μ΄λ―€λ‘œ μ—°μ†ν˜• 자료라고 ν•œλ‹€

 

λ²”μ£Όν˜•

- μˆœμœ„ν˜• : λ²”μ£Ό κ°„ μˆœμ„œμ— μ˜λ―Έκ°€ μžˆλŠ” 자료 ex) 평점, μ„ ν˜Έλ„

- λͺ…λͺ©ν˜• : λ²”μ£Ό κ°„ μˆœμ„œμ— μ˜λ―Έκ°€ μ—†λŠ” 자료 ex) ν˜ˆμ•‘ν˜•, 성별

주의! λ²”μ£Όν˜• 자료λ₯Ό μˆ˜μΉ˜ν˜• 자료처럼 ν‘œν˜„ν•  수 μžˆμœΌλ‚˜, λ‚¨μž1 μ—¬μž0일 λ•Œ μ–΄λŠ ν•œμͺ½μ΄ 더 μ„ ν˜Έλ˜κ±°λ‚˜ μš°μœ„μ— μžˆλŠ” 것은 μ•„λ‹ˆλ‹€.

 

 

상관뢄석?

2개 λ³€μˆ˜κ°€ μ–΄λ–€ μ„ ν˜•μ  관계λ₯Ό λ§ΊλŠ”μ§€ λΆ„μ„ν•˜λŠ” 톡계적 츑도 (원인이 μ•„λ‹˜)

곡뢄산 κ°’ μžμ²΄μ˜ μ˜λ―Έλ³΄λ‹€λŠ” λΆ€ν˜Έκ°€ μ€‘μš”ν•œ μ˜λ―Έλ₯Ό κ°€μ§ (곡뢄산은 λ°©ν–₯μ„±λ§Œ νŒŒμ•…)

산점도(scatter plot)와 μƒκ΄€κ³„μˆ˜(correlation coefficient)

 

01. ν”Όμ–΄μŠ¨ μƒκ΄€κ³„μˆ˜
μ—°μ†ν˜• <-> μ—°μ†ν˜• λ³€μˆ˜

두 λ³€μˆ˜ λͺ¨λ‘ μ •κ·œμ„±μ„ λ”°λ₯Έλ‹€λŠ” 가정이 κΌ­ ν•„μš”ν•© =λͺ¨μˆ˜μ  방법

02. μŠ€ν”Όμ–΄λ§Œ μˆœμœ„ μƒκ΄€κ³„μˆ˜

μ—°μ†ν˜• <-> μ—°μ†ν˜• λ³€μˆ˜
두 λ³€μˆ˜κ°€ μ •κ·œμ„±μ„ λ”°λ₯΄μ§€ μ•Šμ„ λ•Œ =λΉ„λͺ¨μˆ˜μ  방법

* μˆœμœ„ν˜• λ³€μˆ˜μ—λ„ 적용 κ°€λŠ₯

03. 켄달 μƒκ΄€κ³„μˆ˜

μ—°μ†ν˜• <-> μ—°μ†ν˜• λ³€μˆ˜ (μˆœμœ„ λΉ„κ΅ν•˜μ—¬ μ—°κ΄€μ„± 계산)

μƒ˜ν”Œ μ‚¬μ΄μ¦ˆκ°€ μž‘κ±°λ‚˜ λ°μ΄ν„°μ˜ 동λ₯ μ΄ 높을 λ•Œ 유용

 


04. 점 μ–‘λΆ„ μƒκ΄€κ³„μˆ˜
λ²”μ£Όν˜• <-> μ—°μ†ν˜• ex) 성별과 μˆ˜ν•™μ μˆ˜

 

05. μ–‘λΆ„ μƒκ΄€κ³„μˆ˜

λͺ…λͺ…척도 <-> μ—°μ†ν˜•

λͺ…λͺ…척도 유λͺ©μ€ μΈμœ„μ  κ΅¬λΆ„ν•˜λŠ” μ΄λΆ„λ³€μˆ˜ ex) μš°μ—΄λ°˜ νŽΈμ„± 여뢀와 쀑간고사 점수

 

06. λ‹€μ—° μƒκ΄€κ³„μˆ˜

λͺ…λͺ…척도 <-> μ—°μ†ν˜•

λͺ…λͺ…μ²™λ„μ˜ 유λͺ©μ€ λΉ„μΈμœ„μ μ΄κ³ , 3개 이상 ex)인쒅과 ν‚€

 


07. 파이 κ³„μˆ˜

λ²”μ£Όν˜• <-> λ²”μ£Όν˜•

비ꡐ λŒ€μƒμ˜ λ²”μ£Ό λŒ€μƒμ΄ 2개인 경우 ex) 남여, OX

λ³€μˆ˜λ“€μ˜ 비ꡐ λŒ€μƒ 개수 λ˜ν•œ λͺ…λͺ©ν˜•일 λ•Œ μ€‘μš”

 

08. 크래머 V κ³„μˆ˜

λ²”μ£Όν˜• <-> λ²”μ£Όν˜•

비ꡐ λŒ€μƒμ˜ λ²”μ£Ό λŒ€μƒμ΄ 3개 이상 3x)10λŒ€ 20λŒ€ 30λŒ€ / 단독 연립 볡합 μ•„νŒŒνŠΈ

 

 

 

 

 

ν”„λ‘œμ νŠΈ 데이터 상관뢄석

0. λͺ¨λ“ˆ μž„ν¬νŠΈ

import pandas as pd
import matplotlib.pyplot as plt 
import seaborn as sns



1. 데이터

movie = pd.read_csv(r'경둜\파일λͺ….csv')



2. one-hot encoding ν›„ 이어뢙이기 (μž₯λ₯΄, λ“±κΈ‰, 배급사, λΆ„κΈ°, μ£Όμ—° μ’…λ₯˜)

movie = pd.get_dummies(data = movie, columns = ['μž₯λ₯΄'], prefix = ['μž₯λ₯΄'])
movie = pd.get_dummies(data = movie, columns = ['λ“±κΈ‰'], prefix = ['λ“±κΈ‰'])
movie = pd.get_dummies(data = movie, columns = ['배급사'], prefix = ['배급사'])
movie = pd.get_dummies(data = movie, columns = ['λΆ„κΈ°'], prefix = ['λΆ„κΈ°'])
movie = pd.get_dummies(data = movie, columns = ['μ£Όμ—° μ’…λ₯˜'], prefix = ['μ£Όμ—° μ’…λ₯˜'])
movie #[99 rows x 47 columns]
movie.to_csv(r'경둜\파일λͺ…', sep=',', na_rep='NaN', encoding='utf-8-sig', mode='a', header=True, index=True)



3. 상관뢄석

corr = movie.corr()

re_corr = corr['μ²œλ§Œκ΄€κ°λŒνŒŒμ—¬λΆ€']
re_corr
re_cor_sorted = re_corr.sort_values(ascending = False)

감독top40               0.863122
μΌμΌμ΅œλŒ€ μŠ€ν¬λ¦°μˆ˜             0.678723
μ£Όμ—°top50               0.657531
μ˜ν™” μ˜ˆκ³ νŽΈ μ‘°νšŒμˆ˜            0.618806
ꡬ글T평균                 0.564805
일평균 λ‰΄μŠ€ κ±΄μˆ˜             0.534342
T평균                   0.511894
넀이버 μ˜ν™” ν‰μ              0.490033
일평균 TV κ±΄μˆ˜             0.482803
μ œμž‘λΉ„                   0.431395
μ™“μ±  ν‰μ                  0.300708
λΆ„κΈ°_3                  0.285714
μ£Όμ—° μ’…λ₯˜_남주 νˆ¬νƒ‘           0.201481
μ£Όμ—° μ’…λ₯˜_μ—¬λŸ¬ λͺ…            0.189667
λ“±κΈ‰_15                 0.156368
배급사_μ‡Όλ°•μŠ€               0.145135
배급사_CJ ENM            0.145049
배급사_CJ ENM            0.115728
μž₯λ₯΄_μ•‘μ…˜                 0.109524
μ£Όμ—° μ’…λ₯˜_μ—¬μ£Ό νˆ¬νƒ‘           0.102041
배급사_μ΄μ‹­μ„ΈκΈ°ν­μŠ€μ½”λ¦¬μ•„(μ£Ό)      0.102041
배급사_NEW               0.102041
μž₯λ₯΄_사극                 0.100000
:
배급사_λ©”κ°€λ°•μŠ€μ€‘μ•™ν”ŒλŸ¬μŠ€μ—        -0.219391
μ£Όμ—° μ’…λ₯˜_μ—¬μ£Ό μ›νƒ‘          -0.285714
λΆ„κΈ°_2                 -0.305396

 

 

4-1. μ–‘μ˜ 상관관계

re_cor_sorted2 = re_cor_sorted['감독top40':'μž₯λ₯΄_사극']
re_cor_sorted2 #0.1 이상


4-2. 음의 상관관계

re_cor_sorted[-3:]

 

 

 

배운 점

1. λ”λ―Έλ³€μˆ˜ 생성방법
2. 더미 λ³€μˆ˜λ₯Ό 많이 λ„£μœΌλ©΄ λ³€μˆ˜μ˜ 전체 μˆ˜κ°€ μ¦κ°€ν•˜κ³ , μ°¨μ›μ˜ μ €μ£Όκ°€ 생길 μš°λ €κ°€ 있음.
3. μƒκ΄€κ³„μˆ˜μ˜ κΈ°μ€€ (1~3이 μ•½ν•œ, 3~7이 κ°•ν•œ, 7~10이 맀우 κ°•ν•œ) κ·ΈλŸ¬λ‚˜ μ ˆλŒ€μ μΈ 것은 μ•„λ‹ˆλ‹€

 

 

 

 

 

μ°Έκ³ 

λ”λ―Έλ³€μˆ˜ λ§Œλ“€κΈ° https://quickdata.tistory.com/64