Python/Matplotlib

Matplotlib) Scatter(์Šค์บํ„ฐ) ์ฐจํŠธ์™€ HeatMap(ํžˆํŠธ๋งต) ๊ทธ๋ฆฌ๊ธฐ

567Rabbit 2024. 4. 16. 18:05

Scatter(์Šค์บํ„ฐ)

 

์Šค์บํ„ฐ ํ”Œ๋กฏ์€ ๋ฐ์ดํ„ฐ์˜ ๋ถ„ํฌ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ๋‘ ๋ณ€์ˆ˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‘ ๋ณ€์ˆ˜ ๊ฐ„์˜ ์–‘์˜ ์ƒ๊ด€ ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋•Œ, ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค์€ ๋Œ€์ฒด๋กœ ์˜ค๋ฅธ์ชฝ ์œ„๋กœ ํ–ฅํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ ์Œ์˜ ์ƒ๊ด€ ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋•Œ๋Š” ๋Œ€์ฒด๋กœ ์™ผ์ชฝ ์œ„๋กœ ํ–ฅํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค.

๋˜ํ•œ ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ๊ฐ•ํ• ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋“ค์ด ๋ชจ์—ฌ์žˆ๊ณ , ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์•ฝํ•  ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋“ค์ด ํผ์ ธ์žˆ๋‹ค

 

 

 

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sb

 

 

# ๋ฐฐ๊ธฐ๋Ÿ‰(displ)๊ณผ ์—ฐ๋น„(comb)์˜ ๊ด€๊ณ„๋ฅผ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•ด๋ณด๊ณ ์‹ถ๋‹ค

 

df

  displ pv2 pv4 city UCity highway UHighway comb
0 3.8 79 0 16.4596 20.2988 22.5568 30.1798 18.7389
1 2.0 94 0 21.8706 26.9770 31.0367 42.4936 25.2227
2 3.6 94 0 17.4935 21.2000 26.5716 35.1000 20.6716
3 3.6 94 0 16.9415 20.5000 25.2190 33.5000 19.8774
4 2.4 0 95 24.7726 31.9796 35.5340 51.8816 28.6813
... ... ... ... ... ... ... ... ...
3924 1.8 0 0 55.2206 78.8197 53.0000 73.6525 54.4329
3925 2.0 0 106 39.0000 55.9000 44.3066 64.0000 41.0000
3926 2.0 0 106 40.0000 56.0000 46.0000 64.0000 42.0000
3927 3.4 99 0 19.2200 24.2000 30.2863 43.4000 23.0021
3928 3.4 99 0 18.0431 22.6000 27.0000 39.3000 21.3945

 

 

 

python
๋‹ซ๊ธฐ
plt.figure() plt.scatter(data=df, x = 'displ', y= 'comb') plt.title('Displ Vs Comb') plt.xlabel('Displacement') plt.ylabel('Combined Fuel Eff (mpg)') plt.show()

์Šค์บํ„ฐ ์ฐจํŠธ๋ฅผ ํ†ตํ•ด ์™ผ์ชฝ ์œ„๋กœ ํ–ฅํ•˜๋Š” ๊ฒƒ์„ ๋ณด์•„, ์Œ์˜ ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

 

 

 

 

# ์ƒ๊ด€๊ด€๊ณ„ ๋ถ„์„

 

df[['displ','comb']].corr()

 

displ = displ, comb=comb๋Š” 1์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์€ ์˜๋ฏธ์—†๋Š” ๋ถ„์„์ด๊ณ 

-0.758397์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ํ†ตํ•ด displ๊ณผ comb๋Š” ์Œ์˜ ์ƒ๊ด€๊ด€๊ณ„๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

# ๋” ๋งŽ์€ ์ƒ๊ด€๊ด€๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด?

 

df.corr(numeric_only=True)

 

 

 

 

 

# ์Šค์บํ„ฐ ์ฐจํŠธ์— ํšŒ๊ท€์ง์„ ์„ ์ถ”๊ฐ€ํ•˜๊ณ ์‹ถ๋‹ค๋ฉด?

python
๋‹ซ๊ธฐ
sb.regplot(data=df, x = 'displ', y= 'comb') plt.title('Displ Vs Comb') plt.xlabel('Displacement') plt.ylabel('Combined Fuel Eff (mpg)') plt.show()

 

scatter ๋Œ€์‹  regplot์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค

 

 

 

 

 

# ์Œ๋‘ฅ์ด ๊ณก์„ ์„ ๊ทธ๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด?

python
๋‹ซ๊ธฐ
sb.pairplot(data= df, vars= ['displ','comb','co2']) plt.show()

 

scatter ๋Œ€์‹  pairplot์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค

 

 

 

 

 

 

 

HeatMap(ํžˆํŠธ๋งต)

 

์Šค์บํ„ฐํ”Œ๋กฏ์€, ๊ฒน์ณ์žˆ๋Š” ์ ์ด ์–ผ๋งˆ๋‚˜ ๋ฐ€๋„์žˆ๋Š”์ง€๋ฅผ ์ž์„ธํžˆ ์•Œ์ง€ ๋ชปํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ์˜ "๋ฐ€๋„"๋Š” HeatMap(ํžˆํŠธ๋งต)์„ ํ†ตํ•ด ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

python
๋‹ซ๊ธฐ
plt.hist2d(data= df, x='displ', y='comb', cmin=0.5, cmap = 'viridis_r', bins=20) #cmin์€ ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜์–€์ƒ‰์œผ๋กœ ํ‘œํ˜„ํ•ด์ค€๋‹ค plt.colorbar() plt.show()