Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 통계적 사고

<시간/>

통계는 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()

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

파이썬의 통계적 사고