본문 바로가기

STUDY/EDA

[시각화 ] 여러가지 템플릿

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