하나의 수치형 변수 시각화

매일 공부(ML)·2022년 2월 12일
0

학습 목표

하나의 수치형 변수에 대한 다양한 표현방법을 알아봅니다.


핵심 키워드

히스토그램

histplot, kdeplot, rugplot

boxplot, violinplot

describe

skew, kurt


Point

하나의 수치형 변수에 대한 다양한 표현방법을 알려드릴건데 이전 블로그에선 전체 데이터프레임에 있는 수치형 변수에 대해 히스토그램을 시각화해 봤습니다.

이번엔 하나의 수치형 변수에 대해 히스토그램을 그려보고 히스토그램의 밀도를 추정한 kdeplot을 시각화를 할 것입니다. (with rugplot:빈도수 분포 알려줌)

rugplot 은 카페트 러그 처럼 실이 솟아 오른 모양을 하고 있습니다. 자료가 많을 수록 솟아 오른 실이 많아 보입니다.

boxplot은 사분위 수와 이상치를 보기에 적합합니다.

violinplot 은 boxplot의 단점을 보완하여 데이터의 분포를 자세히 표현합니다.

violinplot은 kdeplot을 마주보고 그린 모습으로 내부에 boxplot을 그릴 수도 있습니다.

boxplot의 구체적인 수치를 알고 싶다면 판다스의 describe 기능을 통해 사분위수를 구해 박스의 위치에 대한 수치를 알 수 있고, 왜도와 첨도로 데이터의 분포와 뾰족함을 수치화 할 수 있습니다.


Code로 보는 시각화 방식


*kurt

# kurt를 통해 전체 수치변수에 대한 첨도 구하기
df.kurt()

*displot

# displot을 통해 히스토그램과 kdeplot 그리기
sns.displot(data=df, x="mpg", kde = True, rug=True) #data가 어떻게 쏠려 있는지 볼 수 있습니다.

*kdeplot, rugplot

# kdeplot, rugplot으로 밀도함수 표현하기
sns.kdeplot(data=df, x="mpg", shade=True, cut=3)
sns.rugplot(data=df, x="mpg") #데이터 분포

*boxplot

# boxplot 으로 mpg 의 사분위 수 표현하기
sns.boxplot(data=df, x="mpg")
#다이아몬드는 이상치를 의미한다.
#박스 안의 분포 보기 어려움

*describe 기술 통계 값 구하기

# describe 로 mpg의 기술통계 값 구하기
df["mpg"].describe()

*violinplot

# violinplot 으로 mpg 값 좀 더 자세히 보기
sns.violinplot(data=df, x="mpg")

*boxplot와 kdeplot를 통해 전체 변수 시각화

# boxplot 으로 전체 수치 변수 시각화하기
sns.boxplot(data=df)

# viloinplot 으로 전체 변수 시각화하기
sns.violinplot(data=df)

#전체 분포는 보기 쉽지만 개별은 어렵다. 이럴 때는 개별 변수를 찍어서 보면 됩니다.

profile
성장을 도울 아카이빙 블로그

0개의 댓글