728x90
1. 가우시안 시각화
import seaborn as sns
import matplotlib.pyplot as plt
# 각 feature에 대한 분포를 시각화합니다.
features = ['x1', 'x2', 'x3', 'x4', 'x5', 't1', 't2', 't3']
for feature in features:
plt.figure(figsize=(8, 4))
sns.distplot(df[feature], kde=True, rug=True) # 가우시안 커널 밀도 추정
plt.title(f'Gaussian Distribution of {feature}')
plt.show()
2. 상관관계 시각화
# 상관관계 매트릭스 계산
correlation_matrix = df.corr()
# 상관관계 매트릭스 시각화
plt.figure(figsize=(10, 8))
sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm')
plt.title('Correlation Matrix')
plt.show()
'''
IQR(Interquartile Range)을 활용한 시각화는 주로 이상치(outliers)를 식별하고 데이터의 분포를 더 잘 이해하기 위해 사용됩니다. IQR은 데이터의 중간 50%를 나타내며, Q1(1사분위수)와 Q3(3사분위수) 사이의 범위입니다. IQR을 활용한 시각화에는 주로 박스 플롯(Box Plot)이 사용됩니다.
'''
3. 박스 플롯을 사용한 IQR 시각화
import seaborn as sns
import matplotlib.pyplot as plt
# 데이터프레임 df가 이미 정의되어 있다고 가정합니다.
# 각 feature에 대한 박스 플롯을 그립니다.
features = ['x1', 'x2', 'x3', 'x4', 'x5', 't1', 't2', 't3']
for feature in features:
plt.figure(figsize=(8, 4))
sns.boxplot(x=df[feature])
plt.title(f'Box Plot of {feature}')
plt.show()
4. IQR 계산 및 시각화
for feature in features:
Q1 = df[feature].quantile(0.25)
Q3 = df[feature].quantile(0.75)
IQR = Q3 - Q1
# 이상치 경계값 계산
lower_bound = Q1 - 1.5 * IQR
upper_bound = Q3 + 1.5 * IQR
# 이상치 식별
outliers = df[(df[feature] < lower_bound) | (df[feature] > upper_bound)]
# 이상치 시각화
plt.figure(figsize=(8, 4))
sns.boxplot(x=df[feature])
plt.scatter(outliers[feature], [0] * len(outliers), color='red', marker='o') # 이상치를 빨간색 점으로 표시
plt.title(f'Box Plot with Outliers in {feature}')
plt.show()
728x90
'STUDY > EDA' 카테고리의 다른 글
[pandas] Series 기본 (0) | 2024.01.22 |
---|