통계는 ml와 AI를 배우는 기본입니다. Python은 이러한 기술을 위한 선택 언어이므로 통계 분석을 통합하는 Python 프로그램을 작성하는 방법을 살펴보겠습니다. 이 기사에서는 다양한 Python 모듈을 사용하여 그래프와 차트를 만드는 방법을 살펴봅니다. 이 다양한 차트는 데이터를 신속하게 분석하는 데 도움이 되며 그래픽으로 결과를 도출하는 데 도움이 됩니다.
데이터 준비
다양한 시드에 대한 데이터가 포함된 데이터 세트를 가져옵니다. 이 데이터 세트는 아래 프로그램에 표시된 링크의 kaggle에서 사용할 수 있습니다. 여기에는 다른 종자의 기능을 비교하기 위해 다양한 유형의 차트를 작성하는 데 사용되는 8개의 열이 있습니다. 아래 프로그램은 로컬 환경에서 데이터 세트를 로드하고 행 샘플을 표시합니다.
예
import pandas as pd import warnings warnings.filterwarnings("ignore") datainput = pd.read_csv('E:\\seeds.csv') #https://www.kaggle.com/jmcaro/wheat-seedsuci print(datainput)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Area Perimeter Compactness ... Asymmetry.Coeff Kernel.Groove Type 0 15.26 14.84 0.8710 ... 2.221 5.220 1 1 14.88 14.57 0.8811 ... 1.018 4.956 1 2 14.29 14.09 0.9050 ... 2.699 4.825 1 3 13.84 13.94 0.8955 ... 2.259 4.805 1 4 16.14 14.99 0.9034 ... 1.355 5.175 1 .. ... ... ... ... ... ... ... 194 12.19 13.20 0.8783 ... 3.631 4.870 3 195 11.23 12.88 0.8511 ... 4.325 5.003 3 196 13.20 13.66 0.8883 ... 8.315 5.056 3 197 11.84 13.21 0.8521 ... 3.598 5.044 3 198 12.30 13.34 0.8684 ... 5.637 5.063 3 [199 rows x 8 columns]
히스토그램 생성
히스토그램을 생성하기 위해 csv 파일에서 헤더 행을 제거하고 파일을 numpy 배열로 읽습니다. 그런 다음 genfromtxt 모듈을 사용하여 파일을 읽습니다. 커널 길이 필드는 배열의 열 인덱스 3에 있습니다. 마지막으로 matplotlib를 사용하여 numpy에서 생성한 데이터 세트를 사용하여 히스토그램을 플롯하고 필요한 레이블도 적용합니다.
예
import matplotlib.pyplot as plot import numpy as np from numpy import genfromtxt seed_data = genfromtxt('E:\\seeds.csv', delimiter=',') Kernel_Length = seed_data[:, [3]] x = len(Kernel_Length) y = np.sqrt(x) y = int(y) z = plot.hist(Kernel_Length, bins=y, color='#FF4040') z = plot.xlabel('Kernel_Length') z = plot.ylabel('values') plot.show()
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
경험적 누적 분포 함수
이 차트는 데이터 세트 전체에 분포된 커널 홈 크기의 플롯을 보여줍니다. 가장 작은 값부터 가장 큰 값 순으로 정렬되어 분포로 표시됩니다.
예
import matplotlib.pyplot as plot import numpy as np from numpy import genfromtxt seed_data = genfromtxt('E:\\seeds.csv', delimiter=',') Kernel_groove = seed_data[:, 6] def ECDF(seed_data):#Empirical cumulative distribution functions i = len(seed_data) m = np.sort(seed_data) n = np.arange(1, i + 1) / i return m, n m, n = ECDF(Kernel_groove) plot.plot(m, n, marker='.', linestyle='none') plot.xlabel('Kernel_Groove') plot.ylabel('Empirical cumulative distribution functions') plot.show()
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
벌떼 플롯
Beeswarm 플롯은 각 개별 데이터 포인트를 시각적으로 클러스터링하여 데이터 포인트 그룹의 크기를 보여줍니다. 우리는 이 그래프를 생성하기 위해 seaborn 라이브러리를 사용합니다. 데이터 세트의 유형 열을 사용하여 유사한 유형 시드를 함께 클러스터링합니다.
예
import pandas as pd import matplotlib.pyplot as plot import seaborn as sns datainput = pd.read_csv('E:\\seeds.csv') sns.swarmplot(x='Type', y='Asymmetry.Coeff',data=datainput, color='#458B00')#bee swarm plot plot.xlabel('Type') plot.ylabel('Asymmetry_Coeff') plot.show()
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -