Python tính toán độ lệch của dữ liệu như thế nào?

nhập gấu trúc dưới dạng pd

dataVal = [[10,20,30,40,50,60,70],

[10,10,40,40,50,60,70],

[10,20,30,50,50,60,80]]

khung dữ liệu = pd. Khung dữ liệu [dữ liệu = dataVal];

skewValue = khung dữ liệu. nghiêng [trục = 1]

in ["Khung dữ liệu. "]

in [khung dữ liệu]

print["Xiên. "]

in [skewValue]

Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách tìm độ lệch của dữ liệu bằng Python. Chúng ta có thể dễ dàng tìm thấy độ lệch của bất kỳ dữ liệu nào trong Python bằng thư viện sau đây là Scipy. số liệu thống kê

Tìm độ lệch của dữ liệu trong Python bằng Scipy

chúng tôi chỉ cần sử dụng thư viện này bằng cách

from Scipy.stats import skew

Skewness dựa trên các loại của nó

Có ba loại độ lệch

  • Phân phối chuẩn. Trong trường hợp này, độ lệch luôn bằng không

Độ lệch = 0

  • Phân phối lệch dương. Trong trường hợp này, Phân phối lệch phải có đuôi dài bên phải, đó là lý do tại sao phân phối này còn được gọi là phân phối lệch phải. lý do đằng sau nó, trong giá trị của chế độ này là cao nhất và trung bình là nhỏ nhất dẫn đến đỉnh bên phải

Skessness >o

  • Phân phối sai lệch tiêu cực. Trong trường hợp này, phân phối lệch âm có đuôi trái dài, đó là lý do tại sao phân phối này còn được gọi là phân phối lệch trái. lý do đằng sau nó, trong giá trị của chế độ này là nhỏ nhất và trung bình là cao nhất chỉ cần đảo ngược sang lệch phải dẫn đến đỉnh bên trái

độ lệch Trung bình > Trung bình

Dữ liệu lệch trái Hình [2]

Đối với phân phối có độ lệch phải hoặc độ lệch dương, biểu đồ sẽ giống như Hình [3] ở đây, phần duy nhất bên phải của phân phối thuôn nhọn với đỉnh dịch chuyển về phía bên trái. Đối với dữ liệu lệch phải, Mean > Median > Mode

Dữ liệu lệch phải Hình [3]. 2. phương pháp thống kê

Bây giờ, phương pháp chúng ta nghiên cứu ở trên là phương pháp quan sát. Chúng tôi cũng có thể tính toán độ lệch của dữ liệu bằng cách sử dụng số liệu thống kê. Vì vậy, công thức tính độ lệch được đưa ra dưới đây

Công thức xiên

Giá trị độ lệch có thể chấp nhận được coi là nằm trong khoảng từ -3 đến +3. Nếu giá trị của độ lệch nằm ở hai bên của phạm vi này thì điều đó cho thấy độ lệch phải được cố định

Tại sao độ lệch là một vấn đề?

Hầu hết các mô hình thống kê không hoạt động khi dữ liệu bị sai lệch. Lý do đằng sau điều này là các đầu thuôn nhọn hoặc vùng đuôi của các phân phối dữ liệu bị lệch là các giá trị ngoại lệ trong dữ liệu và chúng tôi biết rằng các giá trị ngoại lệ có thể làm hỏng nghiêm trọng hiệu suất của một mô hình thống kê. Ví dụ tốt nhất về điều này là các mô hình hồi quy cho thấy kết quả xấu khi được đào tạo trên dữ liệu sai lệch

Làm thế nào để chúng tôi khắc phục sự sai lệch này?

Bây giờ, như chúng ta biết rằng độ lệch có hại cho dữ liệu của chúng ta và nhiều thuật toán học máy thích hoặc hoạt động tốt hơn khi dữ liệu số có phân phối bình thường, chúng ta cần một cách để loại bỏ độ lệch này, để làm như vậy trong python, các phương pháp được sử dụng thường xuyên nhất là và. Cả hai phương pháp này đều được sử dụng để có phân phối chuẩn hoặc giống như Gaussian. Bây giờ chúng ta hãy xem cách sử dụng các phương pháp này với một ví dụ

Đối với ví dụ bên dưới, tập dữ liệu được xem xét là tập dữ liệu Thẻ tín dụng châu Âu mà bạn có thể tìm thấy trên Kaggle và tôi đã xem xét một vài cột ngẫu nhiên có độ lệch để thực hiện chuyển đổi. Mã để thực hiện các máy biến áp như sau

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
from sklearn.preprocessing import PowerTransformer, QuantileTransformer
cols1 = ["V1", "V3", "V4"]
def test_transformers[columns]:
pt = PowerTransformer[]
qt = QuantileTransformer[n_quantiles=500, output_distribution='normal']
fig = plt.figure[figsize=[20,30]]
j = 1
for i in columns:
array = np.array[df[i]].reshape[-1, 1]
y = pt.fit_transform[array]
x = qt.fit_transform[array]
plt.subplot[3,3,j]
sns.histplot[array, bins = 50, kde = True]
plt.title[f"Original Distribution for {i}"]
plt.subplot[3,3,j+1]
sns.histplot[x, bins = 50, kde = True]
plt.title[f"Quantile Transform for {i}"]
plt.subplot[3,3,j+2]
sns.histplot[y, bins = 50, kde = True]
plt.title[f"Power Transform for {i}"]
j += 3
test_transformers[cols1]

PowerTransformer và QuantileTransformer được áp dụng trên Dữ liệu

Có thể thấy rằng QuantileTransformer đã hoạt động tốt hơn PowerTransformer về mặt chuyển đổi phân phối sai lệch thành phân phối bình thường, nhưng bạn phải luôn chọn phương pháp phù hợp nhất với dữ liệu của mình. Người ta quan sát thấy rằng QuantileTransformer hoạt động tốt hơn trên các bộ dữ liệu lớn hơn so với PowerTransformer

Các phương pháp khác cũng có thể được sử dụng để giảm độ lệch. Giống như đối với dữ liệu vuông, khối hoặc dữ liệu lệch trái, có thể thực hiện các phép biến đổi công suất cao hơn và đối với dữ liệu lệch phải, chúng ta có thể sử dụng các phép biến đổi Căn bậc hai, Căn bậc ba hoặc Nhật ký. Để biết thêm về những điều này, bạn có thể tham khảo bài viết này

Phần kết luận

Bây giờ chúng ta đã biết độ lệch là gì. Các loại độ lệch là gì? . Trong trường hợp bạn có bất kỳ nghi ngờ hoặc đề xuất nào, hãy trả lời trong phần bình luận. Vui lòng liên hệ với tôi qua thư và kết nối với tôi qua Linkedin. Tôi hy vọng bạn thích đọc blog này. học tập vui vẻ

Độ lệch được tính bằng Python như thế nào?

Ví dụ. Skewness & Kurtosis trong Python . Độ lệch hóa ra là 0. 032697 và độ nhọn hóa ra là 0. 118157. use the skew[] and Kurt[] functions from the SciPy Stata library. The skewness turns out to be 0.032697 and the kurtosis turns out to be 0.118157.

Python xác định độ lệch và độ nhọn như thế nào?

Tính toán độ lệch và độ nhọn bằng Python .
Bước 1. Nhập thư viện SciPy. Thư viện SciPy là một thư viện khoa học mã nguồn mở cung cấp các hàm dựng sẵn để tính toán độ lệch và độ nhọn. .
Bước 2. Tạo tập dữ liệu. Bước tiếp theo là tạo tập dữ liệu. .
Bước 3. Tính toán độ lệch. .
Bước 4. điện toán nhọn

Độ lệch được đo như thế nào?

Độ lệch có thể được đo bằng một số phương pháp; . Độ lệch của chế độ Pearson được sử dụng khi dữ liệu mẫu thể hiện chế độ mạnh. Nếu dữ liệu bao gồm nhiều chế độ hoặc chế độ yếu, độ lệch trung bình của Pearson được sử dụng

Chủ Đề