Làm thế nào để bạn thay thế các ngoại lệ trong python?

Hãy để chúng tôi nói, nếu nó hiển thị 0. 5 kg thay vì 0, chúng ta có thể tìm ra trọng lượng thực bằng cách trừ đi 0. 5kg so với số đọc thực tế

Đo lường bị ảnh hưởng bởi môi trường xung quanh

Thiên nhiên

Đó là có thể dự đoán được.



Không đổi hoặc tỷ lệ thuận với giá trị thực

không dự đoán được



Thay đổi từ quan sát này sang quan sát khác

Chúng ta có thể loại bỏ?

Có thể loại bỏ

Luôn có mặt trong phép đo



Có thể được loại bỏ bằng cách thực hiện nhiều quan sát và sau đó lấy trung bình


Cách phát hiện ngoại lệ

  • Lô hộp

Để giải thích, tôi đã tạo một tập dữ liệu có tên là dữ liệu có một cột i. e. Chiều cao. Trong này tôi đã kết hợp hai giá trị. một cái quá lớn [209] và cái kia quá nhỏ [-200] trong khi chiều cao trung bình là 14. 77. Biểu đồ hộp phát hiện cả hai ngoại lệ này


  • Phương pháp dựa trên khoảng tứ phân vị [IQR]

Khái niệm tương tự được sử dụng trong ô vuông được sử dụng ở đây. Chúng tôi xác định các ngoại lệ là các giá trị nhỏ hơn Q1 -[1. 5*IQR] hoặc lớn hơn Q3+[1. 5*IQR].  


  • Phương pháp dựa trên độ lệch chuẩn

Trong phương pháp này, chúng tôi sử dụng độ lệch chuẩn và giá trị trung bình để phát hiện các giá trị ngoại lệ như hình bên dưới

  • Biểu đồ

Biểu đồ cũng hiển thị rõ ràng các ngoại lệ này

  • Âm mưu phân tán

Nếu có nhiều hơn một biến và biểu đồ phân tán cũng hữu ích trong việc phát hiện các ngoại lệ một cách trực quan


Xử lý ngoại lệ


Nếu chúng ta không thể khắc phục các ngoại lệ, thì chúng ta có thể nghĩ đến một số phương pháp sau để xử lý các ngoại lệ

  • Không làm gì cả
  • Xóa/Cắt

Hãy cẩn thận vì điều này có thể dẫn đến sai lệch lấy mẫu. Như giáo sư Patrick Breheny đã chỉ ra  việc loại bỏ những giá trị ngoại lệ có thể là phương pháp đơn giản nhất nhưng nó đe dọa tính trung thực và khách quan của khoa học. Ông trích dẫn ví dụ về việc NASA đã bỏ sót việc phát hiện lỗ thủng tầng ôzôn vì nghĩ rằng đó có thể là một dữ liệu lạ

Sau khi xóa các ngoại lệ, chúng ta nên cẩn thận để không chạy lại kiểm tra phát hiện ngoại lệ. Vì IQR và độ lệch chuẩn thay đổi sau khi loại bỏ các giá trị ngoại lệ, điều này có thể dẫn đến việc phát hiện sai một số giá trị mới là giá trị ngoại lệ

  • chiến thắng

Không giống như cắt xén, ở đây chúng tôi thay thế các giá trị ngoại lệ bằng các giá trị khác. Phổ biến là thay thế các ngoại lệ ở phía trên bằng giá trị phần trăm 95% và ngoại lệ ở phía dưới bằng 5% phần trăm



  • chuyển đổi

Sử dụng chuyển đổi như chuyển đổi nhật ký trong trường hợp phân phối đuôi phải

  • đóng thùng

Binning hoặc rời rạc hóa dữ liệu liên tục thành các nhóm thấp, trung bình và cao như vậy sẽ chuyển đổi các giá trị ngoại lai thành giá trị đếm

  • Sử dụng các ước tính mạnh mẽ

Các công cụ ước tính mạnh mẽ như trung vị trong khi đo xu hướng trung tâm và cây quyết định cho các nhiệm vụ phân loại có thể xử lý các ngoại lệ tốt hơn

  • tính toán

Một phương pháp khác là coi các giá trị ngoại lai là các giá trị bị thiếu và sau đó quy nạp chúng bằng các phương pháp tương tự mà chúng ta đã thấy khi xử lý các giá trị bị thiếu

Ngoại lệ là một mục/đối tượng dữ liệu lệch đáng kể so với phần còn lại của các đối tượng [được gọi là bình thường]. Chúng có thể được gây ra bởi lỗi đo lường hoặc thực hiện. Phân tích để phát hiện ngoại lệ được gọi là khai thác ngoại lệ. Có nhiều cách để phát hiện các ngoại lệ và quy trình xóa khung dữ liệu giống như xóa một mục dữ liệu khỏi khung dữ liệu của gấu trúc

Here pandas data frame is used for a more realistic approach as in real-world project need to detect the outliers arouse during the data analysis step, the same approach can be used on lists and series-type objects

tập dữ liệu

Bộ dữ liệu được sử dụng là bộ dữ liệu Nhà ở Boston vì nó được tải sẵn trong thư viện sklearn

Python3




# Importing

import sklearn

from sklearn.datasetsimport load_boston

import pandas as pd

import import0

 

import1

import2import3 import4

 

import5

import6import3 import8

import9import3 sklearn1

sklearn2import3 import6

sklearn5

đầu ra.  

một phần của tập dữ liệu

Phát hiện các ngoại lệ

Các ngoại lệ có thể được phát hiện bằng cách sử dụng trực quan, triển khai các công thức toán học trên tập dữ liệu hoặc sử dụng phương pháp thống kê. Tất cả những điều này được thảo luận dưới đây.  

1. Hình dung

ví dụ 1. Sử dụng Box Plot

Nó ghi lại tóm tắt dữ liệu một cách hiệu quả và hiệu quả chỉ với một hộp và râu đơn giản. Boxplot tóm tắt dữ liệu mẫu bằng phần trăm thứ 25, 50 và 75. Người ta chỉ có thể nhận thông tin chi tiết [phần tư, trung bình và ngoại lệ] vào tập dữ liệu bằng cách chỉ nhìn vào biểu đồ hộp của nó

Python3




sklearn6

import sklearn8

sklearn9from0____31

đầu ra

Boxplot- cột DIS

Trong biểu đồ trên, có thể thấy rõ rằng các giá trị trên 10 đang đóng vai trò là giá trị ngoại lệ

Python3




from2

from3______34from0from6from7from8

đầu ra

Chỉ số ngoại lệ

ví dụ 2. Sử dụng ScatterPlot

Nó được sử dụng khi bạn đã ghép nối dữ liệu số hoặc khi biến phụ thuộc của bạn có nhiều giá trị cho mỗi biến độc lập đang đọc hoặc khi cố gắng xác định mối quan hệ giữa hai biến. Trong quá trình sử dụng biểu đồ phân tán, người ta cũng có thể sử dụng nó để phát hiện ngoại lệ

Để vẽ biểu đồ phân tán, người ta yêu cầu hai biến có liên quan với nhau bằng cách nào đó. Vì vậy, ở đây, 'Tỷ lệ mẫu đất kinh doanh không bán lẻ trên mỗi thị trấn' và 'Mức thuế suất bất động sản toàn giá trị trên 10.000 đô la' được sử dụng có tên cột lần lượt là "INDUS" và "TAX"

Python3




from9

sklearn.datasets0import3 sklearn.datasets2import3 sklearn.datasets4sklearn.datasets5sklearn.datasets6from7from8

sklearn.datasets9import0import1import2from1

 

import4

import5import6import7

 

import8

import9load_boston0import7

load_boston2

đầu ra

Âm mưu phân tán

Nhìn vào biểu đồ có thể tóm tắt rằng hầu hết các điểm dữ liệu nằm ở góc dưới cùng bên trái của biểu đồ nhưng có một số điểm chính xác; y ngược lại là góc trên cùng bên phải của biểu đồ. Những điểm ở góc trên cùng bên phải có thể được coi là Ngoại lệ

Sử dụng phép tính gần đúng có thể nói rằng tất cả các điểm dữ liệu x>20 và y>600 đều là ngoại lệ. Đoạn mã sau có thể lấy vị trí chính xác của tất cả những điểm thỏa mãn các điều kiện này.  

Python3




from2

from3______65import0from6load_boston8load_boston9import2from6import2import3

đầu ra

Chỉ số ngoại lệ

2. điểm Z

Z- Score còn gọi là điểm chuẩn. Giá trị/điểm số này giúp hiểu rằng điểm dữ liệu cách giá trị trung bình bao xa. Và sau khi thiết lập giá trị ngưỡng, người ta có thể sử dụng giá trị điểm số z của các điểm dữ liệu để xác định các giá trị ngoại lệ

Zscore = [data_point -mean] / tiêu chuẩn. độ lệch

Python3




import4

from import6import import8

import pandas as pd0

 

pandas as pd1import3 pandas as pd3pandas as pd4pandas as pd5from0pandas as pd7

from3____89

đầu ra

một phần của danh sách [z]

Đầu ra ở trên chỉ là ảnh chụp nhanh một phần dữ liệu; . Nó in các giá trị điểm z của từng mục dữ liệu của cột

Bây giờ để xác định giá trị ngưỡng ngoại lệ được chọn, thường là 3. 0. như 99. 7% số điểm dữ liệu nằm trong khoảng +/- 3 độ lệch chuẩn [sử dụng phương pháp Phân phối Gaussian]

Python3




import0import3 import2

 

import3

from3____15____12from8

đầu ra

Chỉ số ngoại lệ

3. IQR [Phạm vi liên vùng]

IQR [Phạm vi tứ phân vị] Phương pháp tiếp cận phạm vi tứ phân vị để tìm ra các ngoại lệ là phương pháp được sử dụng phổ biến nhất và đáng tin cậy nhất được sử dụng trong lĩnh vực nghiên cứu

IQR = Phần tư3 – Phần tư1

Python3




import8

import9import3 import01from0import03import04sklearn.datasets6

import06import07import3 import09import7

 

import11import3 import01from0import03import16sklearn.datasets6

import06import07import3 import09import7

import23import3 import11____126 import9

đầu ra

Để xác định giá trị cơ sở ngoại lệ được xác định bên trên và bên dưới phạm vi bình thường của tập dữ liệu cụ thể là Giới hạn trên và Giới hạn dưới, hãy xác định giới hạn trên và giới hạn dưới [1. 5*giá trị IQR được xem xét]

trên = Q3 +1. 5*IQR

thấp hơn = Q1 – 1. 5*IQR

Trong công thức trên theo thống kê thì 0. 5 mở rộng IQR [new_IQR = IQR + 0. 5*IQR] được lấy để xem xét tất cả dữ liệu giữa 2. 7 độ lệch chuẩn trong Phân phối Gaussian

Python3




import28

import29import3 import31from0import33import3 import35import36import37import38import39

 

_______33____44____142import43

from3____145

 

import46

import47import3 sklearn26from0import51import3 import53import26import37import38sklearn34

Tôi có nên loại bỏ hoặc thay thế các ngoại lệ?

Một số ngoại lệ đại diện cho các biến thể tự nhiên trong tổng thể và chúng nên được giữ nguyên trong tập dữ liệu của bạn. Chúng được gọi là ngoại lệ thực sự. Các giá trị ngoại lai khác có vấn đề và cần được loại bỏ vì chúng thể hiện lỗi đo lường, lỗi nhập hoặc xử lý dữ liệu hoặc lấy mẫu kém .

Làm thế nào để NaN thay thế các ngoại lệ trong Python?

Đầu tiên, nó tính toán cận dưới và cận trên của df bằng hàm lượng tử. Sau đó, dựa trên điều kiện là tất cả các giá trị phải nằm giữa giới hạn dưới và giới hạn trên, nó trả về một df mới với các giá trị ngoại lệ được thay thế bằng NaN

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

Khi bạn quyết định loại bỏ các giá trị ngoại lệ, 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ó khả năng quy 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.

Chủ Đề