profile-img
The merit of an action lies in finishing it to the end.
slide-image

λ°μ΄ν„°μ˜ μ’…λ₯˜

λ°μ΄ν„°λŠ” 크게 λ²”μ£Όν˜•, μˆ˜μΉ˜ν˜• λ‘ 가지 λΆ„λ₯˜λ‘œ λ‚˜λˆŒ 수 μžˆλ‹€.

 

λ²”μ£Όν˜• λ°μ΄ν„°λŠ” λ²”μ£Ό/μΉ΄ν…Œκ³ λ¦¬λ₯Ό κ΅¬λΆ„ν•˜λŠ” 각각의 이름을 κ°–λŠ” 데이터 μ’…λ₯˜λ‹€.

ex) 성별 - μ—¬μ„±, 남성 / ν•™λ ₯ - 초쑸, 쀑쑸, λŒ€μ‘Έ, λŒ€ν•™μ›μ‘Έ / μΆœμ‹  학ꡐ - κ³ λ €λŒ€ν•™κ΅, μ—°μ„ΈλŒ€ν•™κ΅, ...

반면 μˆ˜μΉ˜ν˜• λ°μ΄ν„°λŠ” λ§κ·ΈλŒ€λ‘œ 숫자둜 ν‘œμ‹œλ˜λŠ” μžλ£Œλ“€μ΄λ‹€.

ex) λ‚˜μ΄ - 1μ‚΄, 2μ‚΄, ... / ν‚€ - 160cm, 161cm, ... / λͺΈλ¬΄κ²Œ - 50kg, 51kg, ...

 

λ²”μ£Όν˜• 데이터(질적 자료)

λ²”μ£Όν˜• λ°μ΄ν„°λŠ” 또 μˆœμœ„ν˜•, λͺ…λͺ©ν˜•μ΄λΌλŠ” 두 가지 ν•˜μœ„ λΆ„λ₯˜λ‘œ λ‹€μ‹œ λ‚˜λˆ„μ–΄μ§„λ‹€.

 

μˆœμœ„ν˜• λ°μ΄ν„°λŠ” 각 λ°μ΄ν„°λ³„λ‘œ μˆœμœ„κ°€ λ‚˜λˆ„μ–΄μ Έ μžˆλŠ” 데이터듀이닀.

예λ₯Ό λ“€μ–΄ λ§Œμ‘±λ„ 데이터λ₯Ό 생각해보면, 5점과 1점은 λ™λ“±ν•œ μžκ²©μ„ κ°–λŠ” 데이터가 μ•„λ‹ˆλ‹€. 보톡 5점이 1점보닀 더 높은 μˆœμœ„λ₯Ό 가지기 λ•Œλ¬Έμ΄λ‹€. λ”°λΌμ„œ λ§Œμ‘±λ„ λ°μ΄ν„°λŠ” μˆœμœ„ν˜• 데이터이닀.

λͺ…λͺ©ν˜• λ°μ΄ν„°λŠ” λ°˜λŒ€λ‘œ 각 데이터별 μˆœμœ„κ°€ μ—†λŠ” 데이터이닀.

성별 λ°μ΄ν„°λŠ” μ—¬μ„±κ³Ό λ‚¨μ„±μœΌλ‘œ μ΄λ£¨μ–΄μ§€λŠ”λ° λ‘˜ μ‚¬μ΄μ˜ μˆœμœ„λ₯Ό 맀길 수 μ—†μœΌλ―€λ‘œ λͺ…λͺ©ν˜• 데이터이닀.

 

μˆ˜μΉ˜ν˜• 데이터(양적 자료)

μˆ˜μΉ˜ν˜• 데이터 μ—­μ‹œ μ΄μ‚°ν˜•, μ—°μ†ν˜•μ΄λΌλŠ” 두 ν•˜μœ„ λΆ„λ₯˜λ‘œ λ‚˜λˆŒ 수 μžˆλ‹€.

 

μ΄μ‚°ν˜• λ°μ΄ν„°λŠ” 데이터와 데이터 사이에 λŠμ–΄μ§μ΄ μžˆλ‹€.

물건의 κ°œμˆ˜μ™€ 같은 μ˜ˆμ‹œλ₯Ό λ“€ 수 μžˆλ‹€. 1κ°œμ™€ 2개 사이인 개수λ₯Ό μ •μ˜ν•  수 μ—†μœΌλ―€λ‘œ 물건의 κ°œμˆ˜λŠ” μ΄μ‚°ν˜• 데이터이닀.

반면 μ—°μ†ν˜• λ°μ΄ν„°λŠ” 데이터와 데이터 사이에 λŠμ–΄μ§μ΄ μ—†λ‹€.

ν‚€λŠ” 160cm와 161cm 사이에 무수히 λ§Žμ€ 값을 κ°€μ§ˆ 수 μžˆμœΌλ―€λ‘œ, 연속적이라고 λ³Ό 수 있으며 λ”°λΌμ„œ μ—°μ†ν˜• 데이터에 ν•΄λ‹Ήν•œλ‹€.

 

λ²”μ£Όν˜• 데이터 μ‹œκ°ν™”

λ²”μ£Όν˜• 데이터λ₯Ό μ‹œκ°ν™”ν•˜κΈ° μœ„ν•΄μ„œ seaborn, matplotlib을 μ΄μš©ν•œλ‹€.

import seaborn as sns
import matplotlib.pyplot as plt

data.csv
0.00MB

μƒλ‹¨μ˜ νŒŒμΌμ„ μ‚¬μš©ν•˜μ˜€λ‹€.

 

1) λ²”μ£Όν˜• λ³€μˆ˜ 1개

λ²”μ£Όν˜• λ³€μˆ˜λ₯Ό μ‹œκ°ν™”ν•˜κΈ° μœ„ν•΄μ„œ λ§‰λŒ€κ·Έλž˜ν”„λ‚˜ μ›κ·Έλž˜ν”„λ₯Ό 그릴 수 μžˆλ‹€.

λ§‰λŒ€κ·Έλž˜ν”„μ˜ 경우 pandas의 κΈ°λŠ₯ 쀑 ν•˜λ‚˜μΈ plot.bar()λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€.

image = df['grade'].value_counts().plot.bar()
grade λ³€μˆ˜λŠ” 1, 2, 3, 4, 5λ“±κΈ‰ 쀑 ν•˜λ‚˜μ˜ 값을 κ°–λŠ”λ‹€. μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κ·Έλž˜ν”„κ°€ λ„μΆœλœλ‹€.

λ§‰λŒ€κ·Έλž˜ν”„λ₯Ό κ·Έλ¦¬λŠ” λ‹€λ₯Έ λ°©λ²•μ—λŠ” seaborn의 μΉ΄μš΄νŠΈλ„ν‘œ sns.countplot()이 μžˆλ‹€.

sns.countplot(x = 'grade', data = df)

μ›κ·Έλž˜ν”„λŠ” plt.pie()λ₯Ό μ΄μš©ν•œλ‹€.

plt.pie(x = df['grade'].value_counts(), labels = [1, 2, 3, 4, 5], autopct='%.1f%%')

 

2) λ²”μ£Όν˜• λ³€μˆ˜ + μˆ˜μΉ˜ν˜• λ³€μˆ˜ μ‹œκ°ν™”

β‘  sns.lineplot(): λͺ…λͺ©ν˜• + μˆ˜μΉ˜ν˜•(μ—°μ†ν˜• + μ΄μ‚°ν˜•)

β‘‘ sns.scatterplot(): λͺ…λͺ©ν˜• + μˆ˜μΉ˜ν˜•(μ—°μ†ν˜• + μ—°μ†ν˜•)

β‘’ sns.barplot(): λͺ…λͺ©ν˜• + μ—°μ†ν˜•

β‘£ sns.pointplot(): λͺ…λͺ©ν˜• + μ—°μ†ν˜•

β‘€ sns.boxplot(): λͺ…λͺ©ν˜• + μ—°μ†ν˜• 

β‘₯ sns.violinplot(): λͺ…λͺ©ν˜• + μ—°μ†ν˜•

ꡉμž₯히 λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ μ‹œκ°ν™”κ°€ κ°€λŠ₯ν•˜λ―€λ‘œ λ•Œμ— 따라 μ μ ˆν•˜κ²Œ μ‹œκ°ν™” 방법을 κ³ λ₯΄λ©΄ λœλ‹€.

μ΄μ€‘μ—μ„œ scatterplot을 ν•œ 번 그렀보자.

sns.scatterplot(x = 'weight', y = 'height', data = df, hue = 'grade')

weight와 height μ‚¬μ΄μ˜ scatterplot을 κ·Έλ Έμ§€λ§Œ, hueλ₯Ό 톡해 gradeλ³„λ‘œ λ‹€λ₯΄κ²Œ ν‘œμ‹œν•˜μ˜€λ‹€.

gradeλŠ” λ²”μ£Όν˜• λ³€μˆ˜μ΄κ³  λ‚˜λ¨Έμ§€λŠ” μˆ˜μΉ˜ν˜•μ΄λ―€λ‘œ λ²”μ£Όν˜•, μˆ˜μΉ˜ν˜• 사이 데이터λ₯Ό μ‹œκ°ν™”ν•˜λŠ” 방법이 될 수 μžˆλ‹€.

 

μˆ˜μΉ˜ν˜• 데이터 μ‹œκ°ν™”

1) μˆ˜μΉ˜ν˜• λ³€μˆ˜ 1개

νžˆμŠ€ν† κ·Έλž¨μ„ κ·Έλ €μ„œ μˆ˜μΉ˜ν˜• λ³€μˆ˜λ₯Ό μ‹œκ°ν™”ν•΄λ³΄μž. plt.hist()λ₯Ό μ΄μš©ν•  수 μžˆλ‹€.

plt.hist(df['height'])

κ΅¬κ°„μ˜ κ°œμˆ˜λŠ” hist의 인자인 bins에 값을 λ„£μ–΄μ£Όλ©΄ λœλ‹€.

νžˆμŠ€ν† κ·Έλž¨μ— ν™•λ₯ λ°€λ„ν•¨μˆ˜λ₯Ό μΆ”κ°€ν•˜μ—¬ κ·Έλ¦¬λŠ” 방법도 μžˆλ‹€. sns.displot()λ₯Ό μ΄μš©ν•˜λ©΄ λ‹€μŒκ³Ό κ°™λ‹€.

sns.distplot(df['weight'])

sns.boxplot()을 톡해 λ°•μŠ€ν”Œλ‘―μ„ 그릴 수 μžˆλ‹€. min, max, Q1, Q2, Q3, outlierλ₯Ό 확인할 수 μžˆλ‹€.

plt.figure(figsize = (6, 8))
sns.boxplot(y = 'weight', data = df)
plt.show()

 

2) μˆ˜μΉ˜ν˜• λ³€μˆ˜ 2개

β‘  sns.lineplot(): μ—°μ†ν˜• + μ΄μ‚°ν˜•

β‘‘ sns.scatterplot(): μ—°μ†ν˜• + μ—°μ†ν˜•

β‘’ sns.regplot(): μ—°μ†ν˜•+ μ—°μ†ν˜•

λ‹€μ–‘ν•œ λ°©λ²•μœΌλ‘œ μ‹œκ°ν™”κ°€ κ°€λŠ₯ν•˜λ‹€. μ–΄λ–€ λ°©λ²•μœΌλ‘œ μ‹œκ°ν™”λ₯Ό ν–ˆμ„ λ•Œ 데이터가 κ°€μž₯ 잘 λ“œλŸ¬λ‚˜λŠ”μ§€λŠ” μ—°μŠ΅ν•΄λ³Ό ν•„μš”κ°€ μžˆλŠ” 것 κ°™λ‹€.

 

'CS study/기타' Related Articles +
1