Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Tôi đã học tập máy trong vài tuần qua và đã đến bài học nơi nghiên cứu các ngoại lệ. Theo các chuyên gia khoa học dữ liệu, một cách để cải thiện độ chính xác là xác định các ngoại lệ và sau đó loại bỏ chúng khỏi bộ dữ liệu. Xác định các ngoại lệ sẽ có ích khi tìm kiếm gian lận. Bởi vì các ngoại lệ có khả năng có thể có ảnh hưởng đến bộ dữ liệu chính xác

Thêm từ MLEARNING.AI

Các nhà khoa học dữ liệu phải nghĩ như một nghệ sĩ khi tìm ra giải pháp khi tạo ra một đoạn mã. Các nghệ sĩ thích làm việc về các vấn đề thú vị, ngay cả khi không có câu trả lời rõ ràng ⚪ linktr.ee/mlearning 🔵 Theo dõi để tham gia các độc giả hàng ngày 28K+ của chúng tôi

Đề nghị từ trung bình

Nhận ứng dụng trung bình

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Tracyrenee

Tôi có gần năm thập kỷ kinh nghiệm trong thế giới công việc, có thức ăn nhanh, quân sự, kinh doanh, phi lợi nhuận và lĩnh vực chăm sóc sức khỏe.

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ướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

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ướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

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.

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

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)

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

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ướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

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']

Bước-2: Đọc và tải bộ dữ liệu

df['cgpa'].describe()

Output:

df = pd.read_csv('placement.csv')
df.sample(5)
0

Bước 3: Vẽ sơ đồ các sơ đồ phân phối cho các tính năng

Bước 4: Tìm các giá trị biênIQR based filtering :

Bước-5: Tìm các ngoại lệ

Bước 6: Cắt tỉa 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)
2

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ệ.

df = pd.read_csv('placement.csv')
df.sample(5)
3

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

df = pd.read_csv('placement.csv')
df.sample(5)
4

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

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

df = pd.read_csv('placement.csv')
df.sample(5)
5

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

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

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

df = pd.read_csv('placement.csv')
df.sample(5)
7

Bước-2: Đọc và tải bộ dữ liệu

df = pd.read_csv('placement.csv')
df.sample(5)
8

Bước 3: Vẽ sơ đồ các sơ đồ phân phối cho các tính năng

df = pd.read_csv('placement.csv')
df.sample(5)
9

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Bước 4: Tìm các giá trị biên

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

Bước-5: Tìm các 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()
1

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Bước 6: Cắt tỉa các ngoại lệ

Bước 7: giới hạn các ngoại lệPercentile :

Bước-8: Bây giờ, áp dụng giới hạn

Bước-9: Bây giờ hãy xem các số liệu thống kê bằng cách sử dụng hàm mô tả ”Winsorization.

Điều này hoàn thành kỹ thuật dựa trên điểm Z của chúng tôi! symmetry on both sides means if remove 1% from the right then in the left we also drop by 1%.

Bước 6: Cắt tỉa các 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()
2

Bước 7: giới hạn các 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()
3

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Bước-8: Bây giờ, áp dụng giới hạn

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

Bước-9: Bây giờ hãy xem các số liệu thống kê bằng cách sử dụng hàm mô tả ”

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

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Điều này hoàn thành kỹ thuật dựa trên điểm Z của chúng tôi!

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

👉 & nbsp; bộ lọc dựa trên IQR:

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

Được sử dụng khi phân phối dữ liệu của chúng tôi bị sai lệch.

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

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

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

Bước 3: Vẽ biểu đồ phân phối cho các tính năng

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

BƯỚC-4: Hình thành một âm mưu hộp cho tính năng Skewed

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

Hướng dẫn how to remove outliers in linear regression in python - cách loại bỏ các giá trị ngoại lệ trong hồi quy tuyến tính trong python

Bước-5: Tìm IQR

Bước 6: Tìm giới hạn trên và dưới

df = pd.read_csv('placement.csv')
df.sample(5)
6

Bước 7: Tìm ngoại lệLink

Bước-8: Cắt tỉaLinkedin, Email.

Bước-9: So sánh các lô sau khi cắt tỉa

Bước-10: giới hạn

Bước-11: So sánh các lô sau khi giới hạn

Điều này hoàn thành kỹ thuật dựa trên IQR của chúng tôi!Indian Institute of Technology Jodhpur(IITJ). I am very enthusiastic about Machine learning, Deep Learning, and Artificial Intelligence.

👉 & nbsp; phần trăm:

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

Bước 1 - Nhập thư viện ..
Bước 2 - Tạo DataFrame ..
Phương pháp 1 - bỏ các ngoại lệ ..
Phương pháp 2 - Đánh dấu các ngoại lệ ..
Phương pháp 3 - Rescaling dữ liệu ..

Bạn có nên loại bỏ một ngoại lệ khỏi hồi quy tuyến tính?

Tốt nhất là loại bỏ các ngoại lệ chỉ khi bạn có một lý do hợp lý để làm như vậy.Một số ngoại lệ đại diện cho các biến thể tự nhiên trong dân số và chúng nên được để lại như trong bộ dữ liệu của bạn.Chúng được gọi là ngoại lệ thực sự.. Some outliers represent natural variations in the population, and they should be left as is in your dataset. These are called true outliers.

Cách tốt nhất để loại bỏ các ngoại lệ là gì?

Khi bạn quyết định xóa các ngoại lệ, hãy ghi lại các điểm dữ liệu bị loại trừ và giải thích lý do của bạn.Bạn phải có thể gán một nguyên nhân cụ thể để loại bỏ các ngoại lệ.Một cách tiếp cận khác là thực hiện phân tích có và không có những quan sát này và thảo luận về sự khác biệt.document the excluded data points and explain your reasoning. You must be able to attribute a specific cause for removing outliers. Another approach is to perform the analysis with and without these observations and discuss the differences.

Làm thế nào để Python xử lý các ngoại lệ trong DataFrame?

Các giá trị này nằm trong giới hạn cho các ngoại lệ.Chúng ta cần các điểm chính xác của các giá trị này theo tỷ lệ phần trăm và chúng ta có thể sử dụng phương pháp lượng tử của gấu trúc ...
Bỏ các ngoại lệ ..
Phương pháp Winsorize ..
Chuyển đổi nhật ký ..