Python, Pandas, Matplotlib을 활용한 상관관계 행렬 그리기
Python, Pandas, Matplotlib을 활용한 상관관계 행렬 그리기
라이브러리 설치
pip install pandas matplotlib
데이터 불러오기
import pandas as pd
data = pd.read_csv("https://www.ibm.com/docs/ko/spss-statistics/saas?topic=system-data-files")
상관관계 계수 계산
correlation = data.corr()
히트맵 그리기
import matplotlib.pyplot as plt
plt.matshow(correlation)
plt.xticks(range(len(correlation.columns)), correlation.columns)
plt.yticks(range(len(correlation.columns)), correlation.columns)
plt.colorbar()
plt.show()
상관관계 그래프 그리기
import seaborn as sns
sns.heatmap(correlation, annot=True)
plt.show()
추가 옵션
cmap
: 히트맵 색상 지정vmin
&vmax
: 히트맵 색상 범위 지정linewidths
: 히트맵 격자선 두께 지정annot
: 상관관계 계수 표시 여부 지정
팁
- 데이터 전처리 (정규화, 이상값 제거)
- 서로 다른 척도의 변수 비교 시 주의
- 상관관계 ≠ 인과관계
양탄자에서 포도즙 제거 방법
- 깨끗한 천으로 가능한 많은 포도즙을 흡수하십시오.
- 찬물로 얼룩을 헹구십시오.
- 탄산수를 사용하여 얼룩을 희석하십시오. (주의: 울에 안전한지 확인하십시오.)
세척:
- 양탄자 세척 용액을 만들어 찬물에 1 티스푼의 섬유 세탁제를 녹입니다.
- 얼룩에 용액을 바르고 5분 동안 그대로 두십시오.
- 깨끗한 천으로 얼룩을 닦아냅니다.
제거:
- 잔여 얼룩을 제거하기 위해 식초 용액을 사용하십시오. (주의: 울에 안전한지 확인하십시오.)
- 양탄자가 완전히 건조되도록 하십시오.
전문가에게 문의:
- 위의 방법으로 얼룩이 제거되지 않으면 전문 카펫 청소 업체에 문의하십시오.
추가 팁:
- 양탄자 라벨의 세탁 지침을 확인하십시오.
- 뜨거운 물이나 표백제를 사용하지 마십시오.
- 얼룩이 마르지 않도록 즉시 처리하십시오.
- 눈에 잘 띄지 않는 곳에서 테스트하십시오.
예제 코드
# 라이브러리 설치
import pandas as pd
import matplotlib.pyplot as plt
# 데이터 불러오기
data = pd.read_csv("https://www.ibm.com/docs/ko/spss-statistics/saas?topic=system-data-files")
# 상관관계 계수 계산
correlation = data.corr()
# 히트맵 그리기
plt.matshow(correlation)
plt.xticks(range(len(correlation.columns)), correlation.columns)
plt.yticks(range(len(correlation.columns)), correlation.columns)
plt.colorbar()
plt.show()
# 상관관계 그래프 그리기
import seaborn as sns
sns.heatmap(correlation, annot=True)
plt.show()
- 위 코드는 예시이며, 데이터 및 분석 목적에 따라 수정될 수 있습니다.
- 추가 옵션 및 팁을 참고하여 코드를 개선할 수 있습니다.
추가 옵션
팁
상관관계 행렬 그리기: 대체 방법
import seaborn as sns
sns.heatmap(data.corr(), annot=True)
plt.show()
plotly 패키지:
import plotly.express as px
fig = px.imshow(data.corr())
fig.show()
ggplot2 패키지 (R)
library(ggplot2)
ggplot(data.corr(), aes_string(x = names(data), y = names(data))) +
geom_tile(aes(fill = .)) +
labs(x = "", y = "") +
theme_minimal()
직접 그리기:
- 격자를 만들고 각 셀에 상관관계 계수를 표시합니다.
- 색상, 텍스트 크기 등을 사용하여 시각화를 개선합니다.
각 방법의 장점과 단점:
방법 | 장점 | 단점 |
---|---|---|
seaborn | 간단하고 사용하기 쉬움 | 옵션이 제한적 |
plotly | 다양한 옵션 제공 | 상대적으로 복잡 |
ggplot2 | 세밀한 조정 가능 | R 프로그래밍 경험 필요 |
직접 그리기 | 완벽한 커스터마이징 가능 | 시간과 노력 필요 |
선택 가이드:
- 간편함: seaborn
- 다양한 옵션: plotly
- 세밀한 조정: ggplot2
- 완벽한 커스터마이징: 직접 그리기
추가 정보
python pandas matplotlib