103. νμ΄λ νλ‘μ νΈ (9)μκ΄λΆμ
λ°μ΄ν°
μμΉν
- μ΄μ°ν : μ μ μλ μλ£ 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