Một ngoại lệ là một mục/đối tượng dữ liệu/đối tượng 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 các 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 loại bỏ là khung dữ liệu giống như xóa mục dữ liệu khỏi khung dữ liệu Panda.
Ở đây, khung dữ liệu PANDAS được sử dụng cho một cách tiếp cận thực tế hơn vì trong dự án trong thế giới thực cần phát hiện các ngoại lệ khơi dậy trong bước phân tích dữ liệu, cách tiếp cận tương tự có thể được sử dụng trên danh sách và các đối tượng loại chuỗi.
Dataset:
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
import
sklearn
from
sklearn.datasets
import
load_boston
import
pandas as pd
import
matplotlib.pyplot as plt
sklearn
0____11 sklearn
2
sklearn
3sklearn
1 sklearn
5
sklearn
6sklearn
1 sklearn
8
sklearn
9sklearn
1 from
1
from
2
Output: Output:
một phần của bộ 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 hóa, thực hiện 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. & NBSP;
1. Trực quan hóa
& nbsp; Ví dụ 1: Sử dụng biểu đồ hộpExample 1: Using Box Plot
Nó ghi lại bản 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 ria đơn giản. Boxplot tóm tắt dữ liệu mẫu bằng tỷ lệ phần trăm thứ 25, 50 và 75. Người ta chỉ có thể nhận được những hiểu biết [tứ phân, trung bình và ngoại lệ] vào bộ dữ liệu bằng cách chỉ nhìn vào boxplot của nó.
Python3
import
from
4
from
5from
6from
7
Output::
BoxPlot- Dis Cột
Trong biểu đồ trên, có thể thấy rõ rằng các giá trị trên 10 đang đóng vai trò là ngoại lệ.
Python3
from
8from
9from
6sklearn.datasets
1sklearn.datasets
2sklearn.datasets
3
Output:
Chỉ số ngoại lệ
Ví dụ 2: Sử dụng Scatterplot.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 đọ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ẽ sơ đồ biểu đồ phân tán, người ta yêu cầu hai biến có liên quan đến nhau. Vì vậy, ở đây, tỷ lệ các mẫu kinh doanh phi bán lẻ trên mỗi thị trấn và tỷ lệ thuế tài sản có giá trị đầy đủ trên 10.000 đô la được sử dụng có tên cột là tên của Indus Indus và và thuế.
Python3
sklearn.datasets
4sklearn
1 sklearn.datasets
6sklearn
1 sklearn.datasets
8sklearn.datasets
9import
0sklearn.datasets
2sklearn.datasets
3
import
3import
4import
5import
6from
7
import
8import
9load_boston
0
load_boston
1load_boston
2load_boston
0
load_boston
4
Output::
Cốt truyện 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 bên trái của biểu đồ nhưng có một vài điểm chính xác, đối diện đó là góc trên 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 xấp xỉ có thể nói tất cả những điểm dữ liệu là x> 20 và y> 600 là ngoại lệ. Mã sau đây 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. & NBSP;
Python3
from
8load_boston
6import
4sklearn.datasets
1load_boston
9import
0import
6sklearn.datasets
1import
3import
4
Output::
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 đọ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ẽ sơ đồ biểu đồ phân tán, người ta yêu cầu hai biến có liên quan đến nhau. Vì vậy, ở đây, tỷ lệ các mẫu kinh doanh phi bán lẻ trên mỗi thị trấn và tỷ lệ thuế tài sản có giá trị đầy đủ trên 10.000 đô la được sử dụng có tên cột là tên của Indus Indus và và thuế.
Python3
sklearn.datasets
4sklearn
1 sklearn.datasets
6sklearn
1 sklearn.datasets
8sklearn.datasets
9import
0sklearn.datasets
2sklearn.datasets
3
Cốt truyện 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 bên trái của biểu đồ nhưng có một vài điểm chính xác, đối diện đó là góc trên 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ệ.
from
8pandas as pd
9
Output::
Sử dụng xấp xỉ có thể nói tất cả những điểm dữ liệu là x> 20 và y> 600 là ngoại lệ. Mã sau đây 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. & NBSP;
2. Điểm Z.
Z- điểm cũng được gọi là điểm tiêu chuẩn. Giá trị/điểm số này giúp hiểu rằng điểm dữ liệu từ giá trị trung bình là bao xa. Và sau khi thiết lập giá trị ngưỡng, người ta có thể sử dụng các giá trị điểm Z của các điểm dữ liệu để xác định các ngoại lệ.
Python3
ZScore = [data_point -mean] / std. sai lệch
from
8import
4import
2sklearn.datasets
3
Output:
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 đọ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ẽ sơ đồ biểu đồ phân tán, người ta yêu cầu hai biến có liên quan đến nhau. Vì vậy, ở đây, tỷ lệ các mẫu kinh doanh phi bán lẻ trên mỗi thị trấn và tỷ lệ thuế tài sản có giá trị đầy đủ trên 10.000 đô la được sử dụng có tên cột là tên của Indus Indus và và thuế.
Python3
sklearn.datasets
4sklearn
1 sklearn.datasets
6sklearn
1 sklearn.datasets
8sklearn.datasets
9import
0sklearn.datasets
2sklearn.datasets
3
Cốt truyện 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 bên trái của biểu đồ nhưng có một vài điểm chính xác, đối diện đó là góc trên 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ệ.
Cốt truyện phân tán
sklearn
11sklearn
1 matplotlib.pyplot as plt
9sklearn
14 sklearn
15
Output:
Để xác định giá trị cơ sở ngoại lệ được xác định ở trên và bên dưới các bộ dữ liệu phạm vi bình thường là giới hạn trên và dưới, xác định giới hạn trên và giới hạn dưới [giá trị 1.5*IQR được xem xét]:
trên = q3 +1.5*iqr
Hạ = Q1 - 1.5*IQR
Trong công thức trên như theo thống kê, việc tăng 0,5 của IQR [new_iqr = IQR + 0,5*IQR] được thực hiện, để xem xét tất cả dữ liệu giữa độ lệch chuẩn 2.7 trong phân phối Gaussian.
Python3
‘
from
8sklearn.datasets
8sklearn
29sklearn
30
from
8sklearn
32
Các
from
8sklearn.datasets
8sklearn
46sklearn
47
from
8sklearn
49
Output:
Giới hạn được xác định và chỉ mục ngoại lệ tương ứng với giới hạn
Loại bỏ các ngoại lệ
Để loại bỏ ngoại lệ, người ta phải tuân theo cùng một quá trình xóa một mục từ bộ dữ liệu bằng cách sử dụng vị trí chính xác của nó trong tập dữ liệu vì trong tất cả các phương thức phát hiện kết quả cuối cùng của Outliers là danh sách tất cả các mục dữ liệu đáp ứng định nghĩa ngoại lệ Theo phương pháp được sử dụng.
Tài liệu tham khảo: Làm thế nào để xóa chính xác một hàng trong Python?
dataFrame.drop [row_index, inplace = true
Mã trên có thể được sử dụng để thả một hàng từ bộ dữ liệu cho ROW_INDEXES bị loại bỏ. Trong đặt = true được sử dụng để nói với Python để thực hiện thay đổi cần thiết trong bộ dữ liệu gốc. ROW_INDEX chỉ có thể là một giá trị hoặc danh sách các giá trị hoặc mảng numpy nhưng nó phải là một chiều. & nbsp;
Example:
df_boston.drop [danh sách [0], inplace = true]
Mã đầy đủ: Phát hiện các ngoại lệ bằng IQR và xóa chúng.: Detecting the outliers using IQR and removing them.
Python3
import
sklearn
from
sklearn.datasets
import
load_boston
import
pandas as pd
sklearn
0____11 sklearn
2
sklearn
3sklearn
1 sklearn
5
sklearn
6sklearn
1 sklearn
8
sklearn
9sklearn
1 from
1
from
2
import
7sklearn
1 import
9from
6matplotlib.pyplot as plt
1______92
matplotlib.pyplot as plt
4matplotlib.pyplot as plt
5sklearn
1 matplotlib.pyplot as plt
7load_boston
0
matplotlib.pyplot as plt
9sklearn
1 import
9from
6matplotlib.pyplot as plt
1sklearn
044040
matplotlib.pyplot as plt
4matplotlib.pyplot as plt
5sklearn
1 matplotlib.pyplot as plt
7load_boston
0
sklearn
11sklearn
1 matplotlib.pyplot as plt
9sklearn
14 sklearn
15
from
8sklearn.datasets
8from
02from
03
matplotlib.pyplot as plt
9sklearn
1 import
9from
6matplotlib.pyplot as plt
1sklearn
044040
Is
Các
from
26from
27from
28sklearn
1 from
30load_boston
0
from
8sklearn.datasets
8from
40from
03
Output::