๋ฐ์ํ
๋ฐ์ดํฐ ์๊ฐํ
๋ณ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ์๊ฐํํ์ฌ ํจํด์ ํ์ ํ๋๋ก ํ๋ค.
ํ์ง ๋ถํฌ ๋ฐ ๋ณ์ ๊ฐ ์๊ด ๊ด๊ณ(Correlation Heatmap)
# Library Version
# pandas : 2.2.3
# numpy : 1.23.5
# matplotlib: 3.9.2
# seaborn : 0.13.2
import matplotlib.pyplot as plt
import seaborn as sns
# ์์ธ ํ์ง ๋ถํฌ ์๊ฐํ
plt.figure(figsize=(10, 5))
sns.histplot(red_wine['quality'], bins=6, kde=True, color='red', label='Red Wine')
sns.histplot(white_wine['quality'], bins=6, kde=True, color='blue', label='White Wine')
plt.legend()
plt.title("Wine Quality Distribution (Red & White)")
plt.xlabel("Quality")
plt.ylabel("Count")
plt.grid(True)
plt.show()
# ๋ณ์ ๊ฐ ์๊ด ๊ด๊ณ ํํธ๋งต (Red Wine)
plt.figure(figsize=(12, 8))
sns.heatmap(red_wine.corr(), annot=True, cmap='coolwarm', fmt=".2f", linewidths=0.5)
plt.title("Correlation Heatmap (Red Wine)")
plt.show()
# ๋ณ์ ๊ฐ ์๊ด ๊ด๊ณ ํํธ๋งต (White Wine)
plt.figure(figsize=(12, 8))
sns.heatmap(white_wine.corr(), annot=True, cmap='coolwarm', fmt=".2f", linewidths=0.5)
plt.title("Correlation Heatmap (White Wine)")
plt.show()
- ํ์ง ๋ถํฌ
- ๋ ๋ ์์ธ๊ณผ ํ์ดํธ ์์ธ์ ํ์ง(quality) ๋ถํฌ๊ฐ ๋ค์ ์ฐจ์ด๊ฐ ์์
- ์ค๊ฐ ํ์ง(5~6์ )์ด ๊ฐ์ฅ ๋ง์ผ๋ฉฐ, ๊ทน๋จ์ ์ผ๋ก ๋์ ํ์ง(8 ์ด์)์ ์ ์
728x90
๋ฐ์ํ
- ๋ณ์ ๊ฐ ์๊ด ๊ด๊ณ (Correlation Heatmap)
- ๋ ๋ ์์ธ์ ๊ฒฝ์ฐ ์์ฝ์ฌ(alcohol)๊ณผ ํ์ง(quality)์ ์๊ด๊ด๊ณ๊ฐ ์๋์ ์ผ๋ก ๋์ ํธ
- ํ์ดํธ ์์ธ๋ ์์ฝ์ฌ๊ณผ ํ์ง์ ๊ด๊ณ๊ฐ ๊ฐํ๋ฉฐ, ํ๋ฐ์ฑ ์ฐ(volatile acidity)์ ํ์ง๊ณผ ์์ ์๊ด๊ด๊ณ๋ฅผ ๊ฐ์ง
- ์ ๋ฐ์ ์ผ๋ก ๋ฐ๋(density)์ ํ์ง(quality)์ ์์ ์๊ด๊ด๊ณ๋ฅผ ๋ณด์
๋ฐ์ด์ฌ๋ฆฐ ํ๋กฏ ๋ถ์
# ์ฃผ์ ๋ณ์ ์ ํ
features = ['alcohol', 'volatile acidity', 'density', 'sulphates', 'citric acid']
# ๋ ๋ ์์ธ ๋ฐ์ด์ฌ๋ฆฐ ํ๋กฏ
plt.figure(figsize=(15, 10))
for i, feature in enumerate(features, 1):
plt.subplot(2, 3, i)
sns.violinplot(x=red_wine['quality'], y=red_wine[feature], palette="Reds")
plt.title(f"{feature} vs Quality (Red Wine)")
plt.xlabel("Quality")
plt.ylabel(feature)
plt.grid(True)
plt.tight_layout()
plt.show()
# ํ์ดํธ ์์ธ ๋ฐ์ด์ฌ๋ฆฐ ํ๋กฏ
plt.figure(figsize=(15, 10))
for i, feature in enumerate(features, 1):
plt.subplot(2, 3, i)
sns.violinplot(x=white_wine['quality'], y=white_wine[feature], palette="Blues")
plt.title(f"{feature} vs Quality (White Wine)")
plt.xlabel("Quality")
plt.ylabel(feature)
plt.grid(True)
plt.grid(True)
plt.tight_layout()
plt.show()
- ์์ฝ์ฌ (Alcohol)
- ํ์ง์ด ๋์์ง์๋ก ์์ฝ์ฌ ๋์์ ํ๊ท ์ด ์ฆ๊ฐํ๋ ๊ฒฝํฅ์ ๋ณด์
- ํนํ ๋์ ํ์ง(7~8์ )์์ ์์ฝ์ฌ ๋์๊ฐ ๋น๊ต์ ๋์ ๊ฐ์์ ๋ถํฌํจ
- ํ๋ฐ์ฑ ์ฐ (Volatile Acidity)
- ํ์ง์ด ๋ฎ์ ์์ธ(ํนํ 4~5์ )์์ ํ๋ฐ์ฑ ์ฐ์ ๊ฐ์ด ๋๊ฒ ๋ถํฌํจ
- ์ฆ, ํ๋ฐ์ฑ ์ฐ์ด ๋์ผ๋ฉด ํ์ง์ด ๋ฎ์์ง ๊ฐ๋ฅ์ฑ์ด ํผ
- ๋ฐ๋ (Density)
- ๋ฎ์ ํ์ง์ผ์๋ก ๋ฐ๋๊ฐ ๋๊ฒ ๋ถํฌํ๋ ๊ฒฝํฅ์ด ์์
- ํนํ ํ์ดํธ ์์ธ์์ ์ด ๊ฒฝํฅ์ด ๋ ๋๋๋ฌ์ง
- ํฉ์ฐ์ผ (Sulphates)
- ํ์ง์ด ๋์ ์์ธ(7์ ์ด์)์์ ํฉ์ฐ์ผ ๋๋๊ฐ ์กฐ๊ธ ๋ ๋์ ๊ฒฝํฅ์ ๋ณด์
- ๊ตฌ์ฐ์ฐ (Citric Acid)
- ํ์ง์ด ๋์์๋ก ๊ตฌ์ฐ์ฐ ๋๋๊ฐ ์ฆ๊ฐํ๋ ๊ฒฝํฅ์ด ์์ผ๋, ์ผ๋ถ ํ์ง์์๋ ํฐ ์ฐจ์ด๊ฐ ์์
๋ฐ์ํ