기본 콘텐츠로 건너뛰기

라벨이 displot인 게시물 표시

[matplotlib]quiver()함수

[seaborn] 데이터분포의 시각화 3: 경험적 누적분포(ECDF)

데이터분포의 시각화 3: 경험적 누적분포(ECDF) 식 1에 의해 계산되는 경험적 누적분포함수는 데이터 분포의 정규성을 평가하거나 서로 다른 여러 표본 분포를 비교할 때 사용합니다( Kolmogorov-Smirnov Test 참조). 이 함수는 샘플 기반의 누적분포(CDF)의 계단함수(step function)을 나타냅니다. \begin{align}&\text{ECDF}=\frac{n(i)}{N}\\ &n(i): \text{오름차순으로 정렬한 각 요소의 위치} \\&H: \text{자료의 크기} \end{align} scipy.stats.ecdf() 함수로 계산할 수 있으며 이 함수의 속성 .probailities 로 ECDF를 확인할 수 있습니다. 이 함수에 전달되는 객체는 오름차순으로 정렬된 데이터입니다. import numpy as np from sklearn.datasets import make_blobs import pandas as pd from sklearn.preprocessing import StandardScaler import matplotlib.pyplot as plt plt.rcParams['font.family'] ='NanumGothic' plt.rcParams['axes.unicode_minus'] =False import seaborn as sns import yfinance as yf 사용할 데이터로 코스피 지수의 일일자료(^KS11)를 모듈 yfiance를 사용하여 호출합니다. 그 자료에서 에 대해 일일변화율(시가에 대한 종가의 변화율)과 일간 거래량(Volume)의 변화율을 목록화하여 첨가하여 다음코드의 결과인 kos1df 자료를 생성합니다. st=pd.Timestamp(2023, 10, 17) et=pd.Timestamp(2024, 10, 17) kos=yf.download("^KS11",st, et) kos=kos.drop...

[seaborn] 데이터분포의 시각화 2: Kernel density estimation

데이터분포의 시각화 2: Kernel density estimation 히스토그램 작성을 위해 사용한 histplot()은 각 구간(bin)에 대응하는 빈도수(Count)를 작성한 것입니다( 데이터분포의 시각화(histplot & displot) 참조). 빈도수를 정규화한 통계량인 density 로 그래프를 작성하기 위해 figure-level 함수인 displot() 의 인수 stat를 stat="density" 로 지정합니다. 또한 y-축에 확률(probability)를 나타내기 위해 stat="probabilty" 로 지정합니다. axes-level 함수인 kdeplot() 으로 작성할 수 있습니다( Figure-level과 Axes-level 함수 그리고 히스토그램 참조 참조). import numpy as np from sklearn.datasets import make_blobs import pandas as pd from sklearn.preprocessing import StandardScaler import matplotlib.pyplot as plt plt.rcParams['font.family'] ='NanumGothic' plt.rcParams['axes.unicode_minus'] =False import seaborn as sns import yfinance as yf 사용할 데이터로 코스피 지수의 일일자료(^KS11)를 모듈 yfiance를 사용하여 호출합니다. 그 자료에서 에 대해 일일변화율(시가에 대한 종가의 변화율)과 일간 거래량(Volume)의 변화율을 목록화하여 첨가하여 다음코드의 결과인 kos1df 자료를 생성합니다. st=pd.Timestamp(2023, 10, 17) et=pd.Timestamp(2024, 10, 17) kos=yf.download("^KS11",st, et) kos=kos.drop('...

[seaborn] 데이터분포의 시각화 1(histplot & displot)

데이터분포의 시각화(histplot & displot) 데이터 분포의 이해는 다양한 통계 분석의 기반이 됩니다. seaborn의 figure-level 함수인 displot(), jointplot(), pairplot()와 axes-level 함수인 hisplot(), kedplot(), ecdplot(), rugplot()으로 분포를 시각화 할 수 있습니다 Figure-level과 Axes-level 함수 그리고 히스토그램 참조). 분포의 시각화에 가장 일반적인 접근은 히스토그램(histogram)입니다. 히스토그램은 일정한 구간(bin)으로 그룹화한 변수를 기준으로 각 구간의 빈도수 또는 밀도를 대응시킨 bar plot입니다. 이 기사에서는 각 빈도에 빈도수(Count)를 나타내기 위해 histplot() 과 displot() 으로 작성에 대해 소개합니다. import numpy as np from sklearn.datasets import make_blobs import pandas as pd from sklearn.preprocessing import StandardScaler import matplotlib.pyplot as plt plt.rcParams['font.family'] ='NanumGothic' plt.rcParams['axes.unicode_minus'] =False import seaborn as sns import yfinance as yf 히스토그램을 작성하기 위한 데이터로 코스피 지수의 일일자료(^KS11)를 모듈 yfiance를 사용하여 호출합니다. 그 자료에서 에 대해 일일변화율(시가에 대한 종가의 변화율)과 일간 거래량(Volume)의 변화율을 목록화하여 첨가하여 다음코드의 결과인 kos1df 자료를 생성합니다. st=pd.Timestamp(2023, 10, 17) et=pd.Timestamp(2024, 10, 17) kos=yf.download("^K...

[seaborn] Figure-level과 Axes-level 함수 그리고 히스토그램

Figure-level과 Axes-level 함수 그리고 히스토그램 seaborn은 dataframe과 array에서 작동에서 작동하며 내부적으로 필요한 mapping과 통계적 집계를 수행하여 플롯을 작성합니다. seaborn의 함수들은 플롯을 작성하기 위해 기본적으로 matplotlib를 사용하므로 이 패키지의 형식에 의존지만 이 패키지와는 독자적으로 실행되는 실행되는 함수가 존재합니다. 이러한 함수는 figure-level function이라 하며 matplotlib와 연결되는 함수를 axes-level fuction으로 구분합니다. seaborn은 플롯팅 함수는 "관계형(relation)", "분포형(distribution)", "범주형(categorical)"으로 구분할 수 있습니다. 각각은 relplot(), displot(), catplot() 함수로 작성할 수 있습니다. 이 함수들은 figure-level 함수들로 다음 표와 같이 다양한 axes-level 함수들을 포함합니다. 형태 figure-level 함수 axes-level 함수 relation relplot scatterplot, lineplot distribution displot histplot, kdeplot, ecdfplot, rugplot categrorical catplot stripplot, swarmplot, boxplot, violineplt, pointplot, barplot 위에서 언급한 것과 같이 figure-level 함수는 matplotlib와 별개로 작성됩니다. 그러므로 이 함수들을 사용하는 경우 FacetGrid() 함수를 통해 레이아웃을 변경할 수 있습니다. 반면에 axes-level 함수는 axes 수준에서 플롯을 작성되며 matplotlib의 axes 수준을 따릅니다. 그러므로 plt.figure()에 의한 레이아웃의 변경이 이루어 집니다. 데이터 penguins를...