Hướng dẫn how does python detect and remove outliers? - python phát hiện và loại bỏ các ngoại lệ như thế nào?

Bài viết này đã được xuất bản như một phần của & nbsp; Data Science Blogathon & NBSP; 

Giới thiệu

Trong bài viết trước của tôi, tôi nói về các khái niệm lý thuyết về các ngoại lệ và cố gắng tìm câu trả lời cho câu hỏi: Khi chúng ta phải bỏ các ngoại lệ và khi nào nên giữ các ngoại lệ?“When we have to drop outliers and when to keep outliers?”.

Để hiểu rõ hơn về bài viết này, trước tiên bạn phải đọc bài viết đó và sau đó tiến hành điều này để bạn có một ý tưởng rõ ràng về phân tích ngoại lệ trong các dự án khoa học dữ liệu.article and then proceed with this so that you have a clear idea about the outlier analysis in Data Science Projects.

Trong bài viết này, chúng tôi sẽ cố gắng đưa ra câu trả lời cho các câu hỏi sau cùng với việc triển khai Python,Python implementation,

👉 & nbsp; Làm thế nào để đối xử với các ngoại lệ?How to treat outliers?

👉 & nbsp; Làm thế nào để phát hiện các ngoại lệ?How to detect outliers?

& Nbsp; các kỹ thuật phát hiện và loại bỏ ngoại lệ là gì?What are the techniques for outlier detection and removal?

Bắt đầu nào


Làm thế nào để đối xử với các ngoại lệ?

👉 & nbsp; Trimming: & nbsp; it & nbsp; không bao gồm các giá trị ngoại lệ khỏi phân tích của chúng tôi. Bằng cách áp dụng kỹ thuật này, dữ liệu của chúng tôi trở nên mỏng khi có nhiều ngoại lệ có trong bộ dữ liệu. Ưu điểm chính của nó là của nó & nbsp; bản chất nhanh nhất.Trimming: It excludes the outlier values from our analysis. By applying this technique our data becomes thin when there are more outliers present in the dataset. Its main advantage is its fastest nature.

👉CAPP: Trong kỹ thuật này, chúng tôi & nbsp; giới hạn dữ liệu ngoại lệ của chúng tôi và tạo giới hạn & nbsp; tức là, trên một giá trị cụ thể hoặc ít hơn giá trị đó, tất cả các giá trị sẽ được coi là ngoại lệ và số lượng ngoại lệ trong bộ dữ liệu cho giới hạn đó con số.Capping: In this technique, we cap our outliers data and make the limit i.e, above a particular value or less than that value, all the values will be considered as outliers, and the number of outliers in the dataset gives that capping number.

Ví dụ: nếu bạn làm việc trên tính năng thu nhập, bạn có thể thấy rằng những người trên mức thu nhập nhất định hoạt động giống như những người có thu nhập thấp hơn. Trong trường hợp này, bạn có thể giới hạn giá trị thu nhập ở mức giữ nguyên vẹn và theo đó đối xử với các ngoại lệ. if you’re working on the income feature, you might find that people above a certain income level behave in the same way as those with a lower income. In this case, you can cap the income value at a level that keeps that intact and accordingly treat the outliers.

Các ngoại lệ là một giá trị bị thiếu: bởi & nbsp; giả sử các ngoại lệ là các quan sát bị thiếu, hãy coi chúng phù hợp, tức là giống như các giá trị bị thiếu.Treat outliers as a missing value: By assuming outliers as the missing observations, treat them accordingly i.e, same as those of missing values.

Bạn có thể tham khảo bài viết giá trị bị thiếu ở đâyhere

👉 & nbsp; Sự rời rạc: Trong kỹ thuật này, bằng cách tạo ra các nhóm, chúng tôi bao gồm các ngoại lệ trong một nhóm cụ thể và buộc họ phải hành xử theo cách tương tự như các điểm khác trong nhóm đó. Kỹ thuật này còn được gọi là Binning.Discretization: In this technique, by making the groups we include the outliers in a particular group and force them to behave in the same manner as those of other points in that group. This technique is also known as Binning.

Bạn có thể tìm hiểu thêm về sự rời rạc ở đây.here.

Làm thế nào để phát hiện các ngoại lệ?

& Nbsp; cho các phân phối bình thường: Sử dụng các mối quan hệ thực nghiệm của phân phối bình thường.For Normal distributions: Use empirical relations of Normal distribution.

-Các điểm dữ liệu nằm dưới mức trung bình 3*[sigma] & nbsp; hoặc trên trung bình+3*[sigma] & nbsp; là các ngoại lệ.mean-3*[sigma] or above mean+3*[sigma] are outliers.

Trong đó trung bình và sigma là giá trị trung bình và độ lệch chuẩn của một cột cụ thể.average value and standard deviation of a particular column.

Hình. Đặc điểm của phân phối bình thường

Nguồn hình ảnh: Liên kết

& Nbsp; cho các phân phối sai lệch: & nbsp; sử dụng quy tắc lân cận phạm vi liên quan [IQR].For Skewed distributions: Use Inter-Quartile Range [IQR] proximity rule.

- Các điểm dữ liệu giảm xuống dưới Q1 - 1.5 IQRor trên Q3 + 1.5 IQR là các ngoại lệ.Q1 – 1.5 IQRor above Q3 + 1.5 IQR are outliers.

trong đó Q1 và Q3 lần lượt là phần trăm thứ 25 và 75 của bộ dữ liệu và IQR đại diện cho phạm vi liên quản lý và được đưa ra bởi Q3-Q1.25th and 75th percentile of the dataset respectively, and IQR represents the inter-quartile range and given by Q3 – Q1.

Hình. IQR để phát hiện các ngoại lệ

Nguồn hình ảnh: Liên kết

& Nbsp; cho các phân phối sai lệch: & nbsp; sử dụng quy tắc lân cận phạm vi liên quan [IQR].For Other distributions: Use percentile-based approach.

- Các điểm dữ liệu giảm xuống dưới Q1 - 1.5 IQRor trên Q3 + 1.5 IQR là các ngoại lệ.Data points that are far from 99% percentile and less than 1 percentile are considered an outlier.

trong đó Q1 và Q3 lần lượt là phần trăm thứ 25 và 75 của bộ dữ liệu và IQR đại diện cho phạm vi liên quản lý và được đưa ra bởi Q3-Q1.

Nguồn hình ảnh: Liên kết

& Nbsp; cho các phân phối sai lệch: & nbsp; sử dụng quy tắc lân cận phạm vi liên quan [IQR].

- Các điểm dữ liệu giảm xuống dưới Q1 - 1.5 IQRor trên Q3 + 1.5 IQR là các ngoại lệ.Z-score treatment :

trong đó Q1 và Q3 lần lượt là phần trăm thứ 25 và 75 của bộ dữ liệu và IQR đại diện cho phạm vi liên quản lý và được đưa ra bởi Q3-Q1.– The features are normally or approximately normally distributed.

Hình. IQR để phát hiện các ngoại lệ

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

& Nbsp; cho các phân phối khác: Sử dụng & NBSP; Cách tiếp cận dựa trên phần trăm.

df = pd.read_csv['placement.csv']
df.sample[5]


Ví dụ, các điểm dữ liệu xa 99% tỷ lệ phần trăm và dưới 1 phần trăm được coi là một ngoại lệ.

import warnings
warnings.filterwarnings['ignore']
plt.figure[figsize=[16,5]]
plt.subplot[1,2,1]
sns.distplot[df['cgpa']]
plt.subplot[1,2,2]
sns.distplot[df['placement_exam_marks']]
plt.show[]


Hình. Đại diện phần trăm

print["Highest allowed",df['cgpa'].mean[] + 3*df['cgpa'].std[]]
print["Lowest allowed",df['cgpa'].mean[] - 3*df['cgpa'].std[]]

Output:

Highest allowed 8.808933625397177
Lowest allowed 5.113546374602842

Kỹ thuật phát hiện và loại bỏ ngoại lệ:

df[[df['cgpa'] > 8.80] | [df['cgpa'] < 5.11]]

👉 & nbsp; điều trị điểm Z:

new_df = df[[df['cgpa'] < 8.80] & [df['cgpa'] > 5.11]]
new_df

Giả định, các tính năng thường được phân phối bình thường hoặc xấp xỉ.

upper_limit = df['cgpa'].mean[] + 3*df['cgpa'].std[]
lower_limit = df['cgpa'].mean[] - 3*df['cgpa'].std[]

Bước 1: Nhập các phụ thuộc cần thiết

df['cgpa'] = np.where[
    df['cgpa']>upper_limit,
    upper_limit,
    np.where[
        df['cgpa'] UL] |[Lớp 

Bài Viết Liên Quan

Chủ Đề