Computer >> Máy Tính >  >> Lập trình >> Python

Tư duy thống kê bằng Python

Thống kê là cơ bản để học ml và AI. Vì Python là ngôn ngữ được lựa chọn cho các Công nghệ này, chúng ta sẽ xem cách viết các chương trình Python kết hợp phân tích thống kê. Trong bài viết này, chúng ta sẽ xem cách tạo đồ thị và biểu đồ bằng cách sử dụng các mô-đun Python khác nhau. Sự đa dạng của các biểu đồ này giúp chúng tôi phân tích dữ liệu một cách nhanh chóng và đưa ra các kết luận bên trong là các kết luận bằng đồ thị.

Chuẩn bị dữ liệu

Chúng tôi lấy tập dữ liệu chứa dữ liệu về các loại hạt giống khác nhau. Tập dữ liệu này có sẵn tại kaggle trong liên kết hiển thị trong chương trình bên dưới. Nó có tám cột sẽ được sử dụng để kết thúc các loại biểu đồ khác nhau để so sánh các tính năng của các hạt giống khác nhau. Chương trình bên dưới tải tập dữ liệu từ môi trường cục bộ và hiển thị một mẫu hàng.

Ví dụ

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)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

      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]

Tạo biểu đồ

Để tạo biểu đồ, chúng tôi xóa hàng tiêu đề khỏi tệp csv và đọc tệp dưới dạng một mảng numpy. Sau đó, chúng tôi sử dụng mô-đun genfromtxt để đọc tệp. Chiều dài hạt nhân được đặt dưới dạng chỉ số cột 3 trong mảng. Cuối cùng, chúng tôi sử dụng matplotlib để vẽ biểu đồ bằng cách sử dụng tập dữ liệu được tạo bởi numpy và cũng áp dụng các nhãn được yêu cầu.

Ví dụ

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()

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Tư duy thống kê bằng Python 

Các hàm phân phối tích lũy theo kinh nghiệm

Biểu đồ này cho thấy biểu đồ của kích thước rãnh hạt nhân được phân bổ trên tập dữ liệu. Nó được sắp xếp từ giá trị nhỏ nhất đến giá trị lớn nhất và nó được hiển thị dưới dạng phân phối.

Ví dụ

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()

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Tư duy thống kê bằng Python 

Ô bầy ong

Biểu đồ ấm áp cho thấy kích thước của một nhóm các điểm dữ liệu bằng cách phân cụm trực quan từng điểm dữ liệu riêng lẻ. Chúng tôi sử dụng thư viện seaborn để tạo biểu đồ này. Chúng tôi sử dụng cột Loại từ tập dữ liệu để nhóm các hạt giống loại tương tự lại với nhau.

Ví dụ

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()

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Tư duy thống kê bằng Python