티스토리 뷰
TIL & WIL/Python
8주차 수요일 TIL(2). heatmap, style.background_gradient() / concat(), pd.merge
니츄 2023. 2. 9. 00:20
#3) gender 시각화하기


1) heatmap으로 'gender' 시각화하기
sns.heatmap(gender, annot=True, cmap='Blues')

- heatmap 추가설명)
- 상관계수를 heatmap으로 표현하면 대각선을 기준으로 중복되는 정보들이 표현된다.
- 이를 방지하기 위해 mask라는 코드를 추가할 수 있다.
- np.triu : 배열의 위쪽 삼각형 / np.tril : 배열의 아래쪽 삼각형
- 위의 값을 mask에 넣으면 해당 값이 보이지 않는 채로 그래프가 표현된다.
- ex) mask = np.triu(np.ones_like(data)) sns.heatmap(data, mask=mask)
더보기

※ 상관 분석
상관 분석(相關 分析, Correlation analysis) 또는 '상관관계' 또는 '상관'은 확률론과 통계학에서 두 변수간에 어떤 선형적 또는 비선형적 관계를 갖고 있는지를 분석하는 방법이다. 두 변수는 서로 독립적인 관계이거나 상관된 관계일 수 있으며 이때 두 변수간의 관계의 강도를 상관관계(Correlation, Correlation coefficient)라 한다. 상관분석에서는 상관관계의 정도를 나타내는 단위로 모상관계수로 ρ를 사용하며 표본 상관 계수로 r 을 사용한다.
상관관계의 정도를 파악하는 상관 계수(相關係數, Correlation coefficient)는 두 변수간의 연관된 정도를 나타낼 뿐 인과관계를 설명하는 것은 아니다. 두 변수간에 원인과 결과의 인과관계가 있는지에 대한 것은 회귀분석을 통해 인과관계의 방향, 정도와 수학적 모델을 확인해 볼 수 있다.
※ 피어슨 상관계수
- r 값은 X 와 Y 가 완전히 동일하면 +1, 전혀 다르면 0, 반대방향으로 완전히 동일 하면 –1 을 가진다.
- 결정계수(coefficient of determination)는 r^2 로 계산하며 이것은 X 로부터 Y 를 예측할 수 있는 정도를 의미한다.

2) style.background_gradient()로 'gender' 시각화하기
gender.style.background_gradient()

-수치가 너무 작아서 잘 보이지 않는다..

#4) concat()과 pd.merge 알아보기
- students 데이터에 gender 데이터 추가하기
1) concat으로 데이터 합치기
students_all = pd.concat([students, gender], axis=1)
students_all

- 아..! 인덱스명이 다르다는걸 까먹었다. 귀찮으니 대충 이렇게 실습을 해야겠다.
- 적어도 concat()의 생김새는 절대 까먹지 않을듯..!^^
2) pd.merge()로 데이터 합치기
students_all = pd.merge(left=students, right=gender,
how='inner', on='학급명')
students_all

- 오... 실습데이터와 복습데이터의 생김새가 전혀 달라서 on에 학급명을 넣었더니 concat()과 다른 모양을 보인다.
- on은 기준이 되어 학급명에 맞춰 gender의 내용이 쏙쏙 들어갔다.
- 사용하기엔 엉망이 된 데이터다. 담엔 제대로 만들어야지;
- ?? : concat에서도 위와같이 만들려면 어떤 속성을 써야할까?
'TIL & WIL > Python' 카테고리의 다른 글
| 8주차 WIL. folium.Map (0) | 2023.02.09 |
|---|---|
| 8주차 수요일 TIL(1). 데이터전처리 / crosstab, pivot_table, groupby (0) | 2023.02.08 |
| 8주차 화요일 TIL. sns.heatmap / melt / 정규표현식 (0) | 2023.02.07 |
| 8주차 월요일 TIL. (0) | 2023.02.06 |
| 7주차 WIL. matplotlib의 기본 (0) | 2023.02.02 |