๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
self-study/์ฝ”๋“œ์ž‡ - ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค

[์ฝ”๋“œ์ž‡ : ๊ธฐ์ดˆ ํ†ต๊ณ„์™€ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”] ํ†ต๊ณ„์™€ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์™„๋ฒฝ ๊ฐ€์ด๋“œ : ํ†ต๊ณ„ ๊ธฐ๋ณธ ์ƒ์‹ | seaborn | seaborn์œผ๋กœ ๊ทธ๋ž˜ํ”„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•

by all_zer0 2025. 1. 25.
๋ฐ˜์‘ํ˜•

 

ํ†ต๊ณ„๋ž€?

- ์–ด๋–ค ์ƒํ™ฉ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆซ์ž๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ

- ๊ธฐ์ˆ ํ†ต๊ณ„(descriptive statisics)์™€ ์ถ”๋ก ํ†ต๊ณ„(Inferential statistics)๋กœ ๋‚˜๋‰จ

  โœ”๏ธ ๊ธฐ์ˆ ํ†ต๊ณ„ : ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ์…‹์„ ์ž˜ ์š”์•ฝํ•˜๊ณ  ํ•ต์‹ฌ์ ์ธ ํŠน์ง•์„ ํŒŒ์•…ํ•˜๋Š” ๋ถ„์•ผ

  โœ”๏ธ ์ถ”๋ก ํ†ต๊ณ„ : ํ‘œ๋ณธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ์ง‘๋‹จ์ด ์–ด๋–จ ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•œ ์ถ”๋ก ์„ ํ•˜๋Š” ๋ถ„์•ผ

- seaborn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์“ฐ๋ฉด matplotlib ๋ณด๋‹ค ๊ทผ์‚ฌํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋จ

 

 

๋ฐ•์Šค ํ”Œ๋กฏ๊ณผ ์ด์ƒ์ 

1. IQR๊ณผ ์ด์ƒ์ ์˜ ๊ฐœ๋…

 

- Interquartile Range(IQR) : ๋ฐ•์Šค์˜ ๊ฐ€์žฅ ์•„๋ž˜ ๋ถ€๋ถ„์€ 25%์ธ 1์‚ฌ๋ถ„์œ„์ˆ˜์ด๊ณ  ์œ„ ๋ถ€๋ถ„์€ 75%์ธ 3์‚ฌ๋ถ„์œ„์ˆ˜๋กœ, ๋‘˜ ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์˜๋ฏธ

- ์ด์ƒ์ (Outlier) : ์œ ๋… ํŠ€๋Š” ๊ฐ’๋“ค

- ์ด์ƒ์ ์˜ ์ •์˜ : Q1 - 1.5 * IQR ~ Q3 + 1.5 * IQR

 

 

2. Jupyter ์‹ค์Šต

[ ์ฝ”๋“œ ]

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data/test_school.csv')
df

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

df['english_score']

 

[ ์ถœ๋ ฅ๋ฌผ ]

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

df['english_score'].describe()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

df['english_score'].plot(kind='box')
plt.show()

 

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# 1์‚ฌ๋ถ„์œ„์ˆ˜
q1 = df['english_score'].quantile(0.25)

# 3์‚ฌ๋ถ„์œ„์ˆ˜
q3 = df['english_score'].quantile(0.75)

# Interquartile Range
iqr = q3 - q1


q1 - 1.5 * iqr
q3 + 1.5 * iqr
[ ์ถœ๋ ฅ๋ฌผ ]

38.75
88.75

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

df.plot(kind='box')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# ๋งŒ์•ฝ ์ˆ˜ํ•™๊ณผ ๊ณผํ•™์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋ณด๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ
df[['math_score', 'science_score']].plot(kind='box')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

 

ํžˆ์Šคํ† ๊ทธ๋žจ

1. ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์ฃผ

(1) ์ˆ˜์น˜ํ˜• ๋ฐ์ดํ„ฐ

- ์ด์‚ฐํ˜• ๋ฐ์ดํ„ฐ

- ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ -> ํžˆ์Šคํ† ๊ทธ๋žจ ์‚ฌ์šฉ

 

(2) ๋ฒ”์ฃผํ˜• ๋ฐ์ดํ„ฐ

- ๋ช…๋ชฉํ˜• ๋ฐ์ดํ„ฐ

- ์ˆœ์„œํ˜• ๋ฐ์ดํ„ฐ

 

[ ์ฝ”๋“œ ]

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('data/body.csv')
df

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

df['height']

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# ๋”ฐ๋กœ ์„ค์ •์„ ํ•˜์ง€ ์•Š์œผ๋ฉด pandas๋Š” ์ž๋™์œผ๋กœ ๊ตฌ๊ฐ„์„ 10๊ฐœ๋กœ ๋‚˜๋ˆ ์คŒ
# ์›ํ•˜๋Š” ๊ตฌ๊ฐ„์˜ ๊ฐœ์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉด bins๋ฅผ ์ด์šฉ

df['height'].plot(kind='hist', bins=7)
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

 

 

ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜์™€ KDE plot

1. ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜

- ํžˆ์Šคํ† ๊ทธ๋žจ์ด ๋Œ€๋žต์ ์ธ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ๋ฅผ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•˜๋Š” ๋ฐ์—๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ๋””ํ…Œ์ผํ•˜๊ฒŒ ์‹ถ์„ ๋•Œ์—๋Š” ์—ฐ์†ํ˜• ๋ฐ์ดํ„ฐ๋ฅผ ์ข€ ๋” ์„ธ๋ฐ€ํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํ™•๋ฅ ๋ฐ€๋„ํ•จ์ˆ˜๊ฐ€ ํ•„์š”

- ํ™•๋ฅ ๋ฐ€๋„ํ•จ์ˆ˜๋Š” ๊ฐ ๊ตฌ๊ฐ„์ด ์ „์ฒด์—์„œ ์ฐจ์ง€ํ•˜๋Š” ๋น„์ค‘์„ ์˜๋ฏธ

 

2. KDE plot(Kernel Density Estimation Plot)

- ์ฃผ์–ด์ง„ ์ •๋ณด๋งŒ ๊ฐ€์ง€๊ณ  ์ „์ฒด ๋ฐ์ดํ„ฐ ๋ถ„ํฌ, ์ฆ‰ PDF์— ๋Œ€ํ•œ ์ถ”์ •์„ ํ•ด์„œ ํ•˜๋‚˜์˜ ๋ถ€๋“œ๋Ÿฌ์šด ๊ณก์„  ๋ชจ์–‘์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ

 

[ ์ฝ”๋“œ ]

import pandas as pd
import matplotlib.pyplot as plt

# ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ bw_method๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ผ๋งˆ๋‚˜ ์„ธ๋ถ€์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ •ํ•  ์ˆ˜ ์žˆ์Œ / ์ˆซ์ž๊ฐ€ ํด ์ˆ˜๋ก ๋‹จ์ˆœํ™”
df['height'].plot(kind='kde', bw_method=0.1)
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

 

๋ฐ์ดํ„ฐ ๋ถ„ํฌ์˜ ๋ชจ์–‘

 

- Right-skewed = Positively-skewed / Left-skewed = Negatively-skewed

- ์™œ๋„์˜ ์ ˆ๋Œ“๊ฐ’์ด ํด์ˆ˜๋ก ๋ฐ์ดํ„ฐ๊ฐ€ ๋” ๋งŽ์ด ์‚๋šค์–ด์ง

 

 

 

๋ถ„์‚ฐ๊ณผ ํ‘œ์ค€ํŽธ์ฐจ

- ๋ถ„์‚ฐ(Variance)

- ํ‘œ์ค€ํŽธ์ฐจ(Standard Deviation)

 

 

seaborn

- seaborn์€ ํ†ต๊ณ„ ์ •๋ณด ์‹œ๊ฐํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋กœ ๊ทธ๋ž˜ํ”„ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅ

- ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ทผ์‚ฌํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์œผ๋ฉด seaborn, ์›ํ•˜๋Š” ๋Œ€๋กœ ์ปค์Šคํ…€ํ•˜๊ฒŒ ๊ทธ๋ž˜ํ”„๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์œผ๋ฉด matplotlib

 

1. seaborn ์„ค์น˜ํ•˜๊ธฐ

!conda install --yes seaborn

 

2. seaborn์œผ๋กœ ๊ทธ๋ž˜ํ”„ ๊ทธ๋ฆฌ๊ธฐ

[ ์ฝ”๋“œ ]

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

df = pd.read_csv('data/bike.csv')
df

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# ๊ทธ๋ž˜ํ”„์˜ ํ…Œ๋งˆ๋ฅผ ์„ค์ •
# rc={'figure.figsize': (8, 4)} : ๊ทธ๋ž˜ํ”„์˜ ํฌ๊ธฐ ์„ค์ •
# style='white' : ๋ฐฐ๊ฒฝ์ƒ‰ ์„ค์ •

sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='total', errorbar=None)
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# ๋ง‰๋Œ€๋ฅผ ์›”๋ณ„๋กœ ๋ณด๋Š” ๋ฐฉ๋ฒ•(0: ์˜์—…์ผ์ด ์•„๋‹Œ ๋‚  / 1: ์˜์—…์ผ์ธ ๋‚ )

sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='total', errorbar=None, hue='workingday')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# registered๋Š” ์ •๊ธฐ๊ถŒ์„ ๊ฒฐ์ œํ•œ ์‚ฌ๋žŒ๋“ค๋กœ, ์˜์—…์ผ์— ์ด์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋งŽ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ

sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='registered', errorbar=None, hue='workingday')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ ]

# ์ •๊ธฐ๊ถŒ ์—†์ด ์ž์ „๊ฑฐ๋ฅผ ๋นŒ๋ฆฌ๋Š” ์‚ฌ๋žŒ์€ ํœด์ผ์— ๋Œ€์—ฌํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ ์ˆ˜ ์žˆ์Œ

sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.barplot(data=df, x='month', y='casual', errorbar=None, hue='workingday')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# ์„ ๊ทธ๋ž˜ํ”„

sns.set_theme(rc={'figure.figsize': (8, 4)}, style='white')
sns.lineplot(data=df, x='month', y='total', errorbar=None, hue='workingday')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

 

3. set_theme() ํ•จ์ˆ˜๋กœ ๊ทธ๋ž˜ํ”„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๊ธฐ

(1) font ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํฐํŠธ ์„ค์ •ํ•˜๊ธฐ

# Windows
set_theme(style='white', font='Malgun Gothic')

# Mac
set_theme(style='white', font='AppleGothic')

- ๊ธฐ๋ณธ ํฐํŠธ์—๋Š” ํ•œ๊ธ€์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธ€์ž๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๊ธ€ ํฐํŠธ๋ฅผ ์„ค์ •ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ๊ธ€์ž๊ฐ€ ๊นจ์ ธ์„œ ๋‚˜์˜ด

- font_scale๋กœ ํฐํŠธ์˜ ํฌ๊ธฐ๋„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ(๊ธฐ๋ณธ๊ฐ’ : 1)

 

(2) ํŒ”๋ ˆํŠธ ์„ค์ •

# ํŒ”๋ ˆํŠธ์˜ ์ข…๋ฅ˜์—๋Š” pastel, muted, bright, dark, colorblind ๋“ฑ์ด ์žˆ์Œ

sns.set_theme(palette='pastel')

 

 

4. ๋ฐ์ดํ„ฐ ๋ถ„ํฌ ์‹œ๊ฐํ™”

(1) stripplot

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

sns.stripplot(data=df, x='month', y='total')

 

[ ์ถœ๋ ฅ๋ฌผ ]

- ์›”๋ณ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ถ„ํฌ๋˜์–ด ์žˆ๋Š”์ง€ ๊ฒฝํ–ฅ์„ฑ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ

- ์˜์—…์ผ์„ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” hue ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ

 

(2) swarmplot

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

sns.swarmplot(data=df, x='month', y='total', hue='workingday')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

(3) boxplot

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

# order์ด๋ผ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ x์ถ•์˜ ์ˆœ์„œ๋ฅผ ์ •ํ•  ์ˆ˜ ์žˆ์Œ
sns.boxplot(data=df, x='day_of_week', y='registered', order={'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'})
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ] 

 

(4) violinplot

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

sns.boxplot(data=df, x='day_of_week', y='registered', order={'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'})
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

- ํฐ ์ ์ด ์ค‘๊ฐ„ ๊ฐ’, ๊ตต์€ ์„ ์ด IQR(์–‘ ๋์€ 1์‚ฌ๋ถ„์œ„์ˆ˜์™€ 3์‚ฌ๋ถ„์œ„์ˆ˜)

- KDE plot์„ ์–‘ ์˜†์œผ๋กœ ๋ถ™์—ฌ๋†“์€ ๋“ฏํ•œ ๋ชจ์–‘์ž„

 

 

(5) ํžˆ์Šคํ† ๊ทธ๋žจ

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

sns.histplot(data=df, x='registered')

 

[ ์ถœ๋ ฅ๋ฌผ ]

- ํžˆ์Šคํ† ๊ทธ๋žจ์€ ํ•œ ๊ฐ€์ง€ ๊ฐ’์— ๋Œ€ํ•ด ๋ถ„ํฌ๋ฅผ ์‚ดํŽด๋ณด๋Š” ๊ฒƒ

- x๊ฐ€ ์•„๋‹Œ y = 'registered'๋กœ ์ž…๋ ฅํ•˜๋ฉด ๊ฐ€๋กœ๋กœ ๋‚˜์˜ค๊ฒŒ ๋จ

- ํžˆ์Šคํ† ๊ทธ๋žจ์—์„œ๋„ hue ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

 

 

(6) KDE plot

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

sns.kdeplot(data=df, x='registered')

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

5. ์ƒ๊ด€๊ด€๊ณ„ ์‹œ๊ฐํ™”

(1) ์ƒ๊ด€๊ณ„์ˆ˜(correlation coefficient)

- ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ์ด ํ”ผ์–ด์Šจ ์ƒ๊ด€๊ณ„์ˆ˜(Pearson Correlation Coefficient)

- -1๋ถ€ํ„ฐ 1 ์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง

  โœ”๏ธ ์ƒ๊ด€๊ณ„์ˆ˜ = 0 : ๋‘ ๊ฐ’ ์‚ฌ์ด์— ์ƒ๊ด€ ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค

  โœ”๏ธ ์ƒ๊ด€๊ณ„์ˆ˜ > 0 : ์–ด๋–ค ๊ฐ’์ด ์ปค์งˆ ๋•Œ ๋‹ค๋ฅธ ๊ฐ’๋„ ํ•จ๊ป˜ ์ปค์ง (์–‘์˜ ์ƒ๊ด€๊ด€๊ณ„)

  โœ”๏ธ ์ƒ๊ด€๊ณ„์ˆ˜ > 0 : ์–ด๋–ค ๊ฐ’์ด ์ปค์งˆ ๋•Œ ๋‹ค๋ฅธ ๊ฐ’์€ ์ž‘์•„์ง (์Œ์˜ ์ƒ๊ด€๊ด€๊ณ„)

- ์ƒ๊ด€๊ด€๊ณ„์˜ ๊ฐ•๋„ : ์ƒ๊ด€๊ณ„์ˆ˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ํฌ๊ฑฐ๋‚˜ ์ž‘์€ ๊ฐ’์ธ์ง€? -> ๊ฐ’์ด 0์— ๊ฐ€๊นŒ์›Œ์งˆ์ˆ˜๋ก ์—ฐ๊ด€์„ฑ์ด ๋–จ์–ด์ง€๊ณ  1, -1์— ๊ฐ€๊นŒ์šธ ์ˆ˜๋ก ๊ฐ•ํ•ด์ง

 

 

(2) scatterplot

[ ์ฝ”๋“œ ]

sns.set_theme(rc={'figure.figsize': (6,6)}, style='white')

sns.scatterplot(data=df, x='temperature', y='total')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

 

(3) regplot

[ ์ฝ”๋“œ(์ด์–ด์„œ) ]

sns.regplot(data=df, x='temperature', y='total')
plt.show()

 

[ ์ถœ๋ ฅ๋ฌผ ]

- ํšŒ๊ท€์„ (regression line) : ๋‘ ์„ ์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ํ•˜๋‚˜์˜ ์„ ์œผ๋กœ ํ‘œํ˜„

 

 

(4) corr : ๊ฐ ์ปฌ๋Ÿผ๋“ค ์‚ฌ์ด์˜ ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š”์ง€, ์ฆ‰ ์นผ๋Ÿผ๋“ค ๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•

- ๋ณด๋‹ค ๋” ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฒ• : heatmap

- annot=True ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ƒ๊ด€๊ณ„์ˆ˜๋ฅผ ํ‘œ๊ธฐํ•  ์ˆ˜๋„ ์žˆ์Œ

 

 

๋ฐ˜์‘ํ˜•

'self-study > ์ฝ”๋“œ์ž‡ - ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ฝ”๋“œ์ž‡ : ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค Toolkit] ํŒŒ์ด์ฌ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ฒซ๊ฑธ์Œ - Numpy, Pandas, Matplotlib๋กœ ์‰ฝ๊ณ  ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ฐฐ์šฐ๊ธฐ  (0) 2025.01.11
[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋ฐ์ดํ„ฐ in Python] ํŒŒ์ด์ฌ ์ดˆ๋ณด ํƒˆ์ถœ! ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ ํ™œ์šฉ๋ฒ•๋ถ€ํ„ฐ ํ…์ŠคํŠธ ํŒŒ์ผ ์ฝ๊ธฐยท์“ฐ๊ธฐ ๋ฐฉ๋ฒ•  (0) 2025.01.10
[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ต์‹ฌ ๊ฐœ๋… in Python] Python ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ์™„๋ฒฝ ์ •๋ฆฌ - ์ž๋ฃŒํ˜• | ๋ฌธ์ž์—ด | ์ œ์–ด๋ฌธ | ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ(PEP8)  (0) 2025.01.10
[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์ž‘ํ•˜๊ธฐ in Python] ํŒŒ์ด์ฌ ๊ธฐ์ดˆ ๊ฐœ๋… ํ•™์Šตํ•˜๊ธฐ - ์ž๋ฃŒํ˜• | ์ถ”์ƒํ™” | ํ•จ์ˆ˜ | ํŒŒ๋ผ๋ฏธํ„ฐ  (0) 2025.01.09
[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฒ„๋ทฐ] ํŒŒ์ด์ฌ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„๊นŒ์ง€ : ๋น„์ „๊ณต์ž ์ดˆ๋ณด ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€์˜ ์ฝ”๋”ฉ ๊ณต๋ถ€ ์‹œ์ž‘ ๐Ÿƒ๐Ÿปโ€โ™€๏ธ  (0) 2025.01.09