Python Seaborn 튜토리얼 : Seaborn이란 무엇이며 어떻게 사용합니까?



seaborn과 matplotlib의 차이점에 따른 Python Seaborn 튜토리얼. 또한 seaborn에서 사용할 수있는 다양한 기능 및 사용자 정의에 대해 알아보십시오.

Python은 엄청나게 강력한 수많은 라이브러리와 프레임 워크의 창고입니다. 그중에는 시본, 지배적 인 데이터 시각화 프로그래머가 완료해야하는 또 다른 이유를 부여하는 라이브러리 . 이 Python Seaborn 자습서에서는 Seaborn을 사용하여 데이터 시각화의 모든 요령을 기울일 것입니다.

계속 진행하기 전에이 문서에서 논의되는 모든 주제를 살펴 보겠습니다.





그럼 먼저 Python Seaborn의 중요성을 추론하여 시작하겠습니다.

Python Seaborn을 사용하는 이유는 무엇입니까?

앞서 언급했듯이 Python Seaborn 라이브러리는 까다로운 데이터 시각화 작업을 쉽게하는 데 사용되며 다음을 기반으로합니다. . Seaborn을 사용하면 다음 기능을 통해 통계 그래픽을 만들 수 있습니다.



  • 여러 데이터를 비교할 수있는 데이터 세트 기반 API 변수

  • 복잡한 시각화를 쉽게 구축 할 수있는 다중 플롯 그리드 지원

  • 데이터의 하위 집합간에 비교할 수있는 일 변량 및 이변 량 시각화



  • 다양한 종류의 패턴을 표시하는 다양한 색상 팔레트 사용 가능

  • 추정 및 플롯 자동으로

따라서 이미 Matplotlib가있을 때 Seaborn을 사용하는 이유가 궁금하다면 여기에 대한 답이 있습니다.

Python Seaborn 대 Matplotlib :

'Matplotlib가'쉬운 일을 쉽고 어려운 일을 가능하게하려고 노력한다면 'seaborn은 잘 정의 된 어려운 일도 쉽게 만들려고 노력합니다'– Michael Waskom (Seaborn의 제작자).
사실 Matplotlib는 좋지만 Seaborn이 더 좋습니다. Seaborn이 수정하는 Matplotlib의 기본적으로 두 가지 단점이 있습니다.

  1. Matplotlib는 개인화 할 수 있지만 플롯을 더 매력적으로 만드는 데 필요한 설정을 파악하는 것은 어렵습니다. 반면 Seaborn은이 문제를 해결하기 위해 수많은 사용자 정의 테마와 고급 인터페이스를 제공합니다.

  2. 작업 할 때 판다 , Matplotlib는 DataFrame을 다룰 때 잘 작동하지 않지만 Seaborn 함수는 실제로 DataFrame에서 작동합니다.

Seaborn을 설치하는 방법?

Python Seaborn 라이브러리를 설치하려면 사용하는 플랫폼에 따라 다음 명령을 사용할 수 있습니다.

pip 설치 seaborn

또는

conda 설치 seaborn

이것이 설치되면 seaborn이 의존하는 패키지와 라이브러리를 설치하십시오.

Python Seaborn 종속성 설치 :

seaborn의 필수 종속성은 다음과 같습니다.

다음과 같은 권장 종속성도 있습니다.

  • 상태 모델

이러한 라이브러리를 설치하려면 이전에 Seaborn에 대해 각각의 이름으로 표시된 것과 동일한 명령을 사용할 수 있습니다. 일단 설치되면 쉽게 가져올 수 있습니다. Seaborn을 사용하면 사용 load_dataset () 함수. 다음과 같이 get_dataset_names () 함수를 사용하여 사용 가능한 모든 데이터 세트를 볼 수도 있습니다.

예:

seaborn을 sns로 가져 오기 sns.get_dataset_names ()

사용 가능한 모든 데이터 세트 목록이 반환됩니다.
이제 seaborn으로 작업 할 수있는 환경을 설정 했으므로 다음에서 플로팅 기능을 사용하는 방법을 살펴 보겠습니다. .

Seaborn 플로팅 함수

통계적 관계 시각화 :

데이터 세트의 변수 간의 관계와 이러한 관계가 다른 변수에 어떻게 의존 하는지를 이해하는 프로세스를 통계 분석이라고합니다. 이제이를 위해 필요한 기능에 대해 자세히 살펴 보겠습니다.

relplot () :

이것은 통계적 관계 시각화를위한 두 개의 다른 축 함수를 사용하는 그림 수준 함수입니다.

  • 산포도()
  • lineplot ()

이러한 함수는 relplot ()의 'kind'매개 변수를 사용하여 지정할 수 있습니다. 이 매개 변수가 제공되는 경우 기본 매개 변수 인 scatterplot ()을 사용합니다. 코드 작성을 시작하기 전에 다음과 같이 필수 라이브러리를 가져와야합니다.

자바에서 싱글 톤 클래스 생성
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns sns.set (style = 'darkgrid')

스타일 속성도 사용자 정의 할 수 있으며 나중에 플롯 미학 섹션에서 논의 할 darkgrid, ticks 등과 같은 값을 취할 수 있습니다. 이제 작은 예를 살펴 보겠습니다.

예:

f = sns.load_dataset ( 'flights') sns.relplot (x = '승객', y = '월', 데이터 = f)

산출:

Flights1-Python Seaborn 튜토리얼 -Edureka

보시다시피 점은 2 차원으로 표시됩니다. 그러나 '색상'의미 체계를 사용하여 다른 차원을 추가 할 수 있습니다. 동일한 예를 살펴 보겠습니다.

예:

f = sns.load_dataset ( 'flights') sns.relplot (x = '승객', y = '월', hue = '연도', 데이터 = f)

다음 출력이 표시됩니다.

산출:

그러나 색상, 스타일, 크기 등과 같이 시도 할 수있는 더 많은 사용자 정의가 있습니다. 다음 예제에서 색상을 변경하는 방법을 보여 드리겠습니다.

예:

sns.set (style = 'darkgrid') f = sns.load_dataset ( 'flights') sns.relplot (x = 'passengers', y = 'month', hue = 'year', palette = 'ch : r =- .5, l = .75 ', 데이터 = f)

산출:

lineplot () :

이 기능을 사용하면 데이터에 대한 연속 선을 그릴 수 있습니다. 다음과 같이 '종류'매개 변수를 변경하여이 기능을 사용할 수 있습니다.

예:

a = pd.DataFrame ({ 'Day': [1,2,3,4,5,6,7], 'Grocery': [30,80,45,23,51,46,76], 'Clothes' : [13,40,34,23,54,67,98], '도구': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'Day', y = 'Clothes', kind = 'line', data = a) g.fig.autofmt_xdate ()

산출:

lineplot의 기본값은 x의 함수 인 y입니다. 그러나 원하는 경우 변경할 수 있습니다. 더 시도해 볼 수있는 더 많은 옵션이 있습니다.

이제 범주 형 데이터를 그리는 방법을 살펴 보겠습니다.

범주 형 데이터로 플로팅 :

이 접근법은 우리의 주요 변수가 이산 그룹 (범주 적)으로 더 나눌 때 그림에 나타납니다. catplot () 함수를 사용하여 수행 할 수 있습니다.

catplot () :

이것은 relplot ()과 같은 그림 수준의 함수입니다. 다음과 같은 세 가지 축 수준 함수 제품군으로 특징 지을 수 있습니다.

  1. 산점도 – 여기에는 stripplot (), swarmplot ()이 포함됩니다.

    C ++ 정렬 ()
  2. 분포도 – boxplot (), violinplot (), boxenplot ()

  3. 추정 플롯 – 즉 pointplot (), barplot (), countplot ()

이제이를 증명하기 위해 몇 가지 예를 살펴 보겠습니다.

예:

seaborn을 sns로 import matplotlib.pyplot as plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ( 'tips') sns.catplot (x = 'day', y = 'total_bill', 데이터 = a)

산출:

보시다시피 위의 예에서는 'kind'매개 변수를 설정하지 않았습니다. 따라서 그래프를 기본 산점도로 반환했습니다. 좌표축 레벨 함수를 지정하여 필요에 따라 그래프를 변경할 수 있습니다. 이것의 예를 들어 보겠습니다.

예:

seaborn을 sns로 import matplotlib.pyplot as plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ( 'tips') sns.catplot (x = 'day', y = 'total_bill', 종류 = 'violin', 데이터 = a)

산출:

위의 출력은 팁 데이터 세트에 대한 violinplot을 보여줍니다. 이제 데이터 세트의 분포를 시각화하는 방법을 찾아 보겠습니다.

데이터 세트 분포 시각화 :

이것은 기본적으로 일 변량 또는 이변 량이라는 맥락에서 데이터 세트를 이해하는 것을 다룹니다. 시작하기 전에 다음을 가져 오십시오.

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from scipy import stats sns.set (color_codes = True)

이 작업이 완료되면 일 변량 및 이변 량 분포를 계속 플로팅 할 수 있습니다.

일 변량 분포 플로팅 :

플로팅하기 위해 다음과 같이 distplot () 함수를 사용할 수 있습니다.

예:

a = np.random.normal (loc = 5, size = 100, scale = 2) sns.distplot (a)

산출:

위의 예에서 볼 수 있듯이 distplot을 사용하여 normal () 함수에 의해 값이 생성되는 변수 a에 대한 그래프를 그렸습니다.

이변 량 분포 플로팅 :

이것은 두 개의 임의의 독립 변수가있는 경우 몇 가지 가능한 사건을 초래할 때 그림으로 나타납니다. 이러한 유형의 그래프를 그리는 가장 좋은 함수는 jointplot ()입니다. 이제 jointplot ()을 사용하여 이변 량 그래프를 플로팅 해 보겠습니다.

예:

문자열 분할 여러 구분 기호 java
x = pd.DataFrame ({ 'Day': [1,2,3,4,5,6,7], 'Grocery': [30,80,45,23,51,46,76], 'Clothes' : [13,40,34,23,54,67,98], '도구': [12,32,27,56,87,54,34]}, index = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({ 'Day': [8,9,10,11,12,13,14], 'Grocery': [30,80,45,23,51,46, 76], 'Clothes': [13,40,34,23,54,67,98], 'Utensils': [12,32,27,56,87,54,34]}, index = [8,9 , 10,11,12,13,14]) mean, cov = [0, 1], [(1, .5), (.5, 1)] data = np.random.multivariate_normal (mean, cov, 200 ) sns.axes_style ( 'white') : sns.jointplot (x = x, y = y, 종류 = 'kde', color = 'b')

산출:

Python Seaborn의 다양한 기능을 이해 했으므로 이제 구조화 된 다중 플롯 그리드를 구축해 보겠습니다.

다중 플롯 그리드 :

Python Seaborn을 사용하면 여러 그리드를 나란히 그릴 수 있습니다. 이들은 기본적으로 비교를 돕기 위해 동일한 스케일과 축을 사용하여 플롯 된 플롯 또는 그래프입니다. 이는 프로그래머가 플롯을 빠르게 구별하고 많은 양의 정보를 얻는 데 도움이됩니다.

이러한 그래프를 플로팅하려면 다음 facetgrid () 함수 예제를 고려하십시오.

예:

sns.set (style = 'darkgrid') a = sns.load_dataset ( 'iris') b = sns.FacetGrid (a, col = 'species') b.map (plt.hist, 'sepal_length')

산출:

위의 출력은 점심과 저녁 시간에 제공되는 팁 간의 비교를 명확하게 보여줍니다. 비교할 변수 쌍이있는 경우 PairGrid 함수를 사용하여 플로팅 할 수도 있습니다. 다음 예를 고려하십시오.

예:

sns.set (style = 'ticks') a = sns.load_dataset ( 'flights') b = sns.PairGrid (a) b.map (plt.scatter)

산출:

보시다시피 위의 출력은 연도와 승객 수를 다른 방식으로 명확하게 비교합니다.

Seaborn은 또한 더 논의되는 미학에 대한 사용자 정의를 허용합니다.

플롯 미학 :

Python Seaborn 튜토리얼의이 부분은 우리의 플롯을 더 매력적이고 유쾌하게 만드는 것을 다룹니다.

Python Seaborn 피규어 미학 :

제가 논의 할 첫 번째 함수는 set ()입니다. 이전에이 함수의 '스타일'매개 변수를 사용해 왔습니다. 이 매개 변수는 기본적으로 seaborn 테마를 다룹니다. 현재는 darkgrid, ticks, whitegrid, white and dark의 다섯 가지가 있습니다.

흰색 테마를 보여주는 다음 예제를 고려하십시오.

예:

import seaborn as sns import matplotlib.pyplot as plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ( 'tips') sns.boxplot (x = 'day', y = 'total_bill', 데이터 = a)

산출:

위 출력에서 ​​테마가 흰색으로 변경되었음을 알 수 있습니다. 다른 테마를 사용하여 추가로 탐색 할 수도 있습니다. 이전 출력에서 ​​알 수 있다면 그래프 주위에 축이 있습니다. 그러나 이것은 despine () 함수를 사용하여 사용자 정의 할 수도 있습니다. 아래 예를보십시오.

예:

import seaborn as sns import matplotlib.pyplot as plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ( 'tips') sns.boxplot (x = 'day', y = 'total_bill', 데이터 = a) sns.despine (오프셋 = 10, 트림 = True)

산출:



이전 두 출력의 차이점에 유의하십시오. 그러나 직접 탐색 할 수있는 더 많은 옵션이 있습니다.

Python Seaborn 색상 팔레트 :

색상은 기본적으로 다른 어떤 기능을 넘어 인간의 눈에 접근하는 기능입니다. Seaborn을 사용하면 color_palette (), hls_palette (), husl_palette () 등과 같은 다양한 기능을 사용하여 색상을 재생할 수 있습니다. 현재 seaborn에있는 색상을 살펴보십시오.

예:

import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)

산출:

위의 이미지는 seaborn에 존재하는 색상을 보여줍니다. palplot () 함수를 사용하여 수행했습니다. 더 깊은 변형을 위해 hls_palette (), husl_palette () 등을 사용할 수 있습니다.

이것으로 Python Seaborn Tutorial이 끝났습니다. 모든 것을 명확하게 이해 하셨기를 바랍니다. 가능한 한 많이 연습하십시오 .

질문이 있으십니까? 이 'Python Seaborn Tutorial'블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 연락 드리겠습니다.

다양한 응용 프로그램과 함께 Python에 대한 심층적 인 지식을 얻으려면 라이브에 등록 할 수 있습니다. 연중 무휴 지원 및 평생 액세스.