Iqr = q3 - q1 con trăn

Trong thống kê, phạm vi liên vùng cho biết nửa giữa của phân phối tập dữ liệu. Các phần tư phân chia bất kỳ phân phối nào được sắp xếp từ thấp đến cao thành bốn phần bằng nhau. Phạm vi liên vùng, hoặc IQR, chứa phần tư thứ hai và thứ ba hoặc nửa giữa của tập dữ liệu

Có bốn bước để xác định IQR, được liệt kê bên dưới

  1. Sắp xếp dữ liệu
  2. Tính Q1 và Q3
  3. IQR = Q3 — Q1
  4. Tìm hàng rào thấp hơn, là Q1 — [1. 5*IQR]
  5. Tìm hàng rào phía trên, là Q3 + [1. 5*IQR]

Tôi đã tạo một tập lệnh bằng Google Colab, một Sổ tay Jupyter trực tuyến miễn phí cho phép mọi người viết chương trình bằng Python

Khi tôi đã tạo Jupyter Notebook, tôi đã nhập các thư viện mà tôi cần để chạy nó. Các thư viện tôi đã nhập là. -

  1. Numpy để thực hiện các phép tính toán học và tạo mảng NumPy,
  2. Pandas để tạo và thao tác các khung dữ liệu,
  3. Matplotlib để vẽ các điểm dữ liệu trên biểu đồ và
  4. Seaborn để thực hiện các chức năng đồ họa thống kê

Trong đầu ra ở trên, các vòng tròn biểu thị các ngoại lệ và có nhiều. Cũng có thể xác định các ngoại lệ bằng cách sử dụng nhiều biến. Chúng ta có thể sửa đổi đoạn mã trên để trực quan hóa các ngoại lệ trong biến 'Khoản_vay' theo trạng thái phê duyệt

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
1

con trăn

đầu ra

Kết quả cho thấy số lượng ngoại lệ cao hơn đối với những người đăng ký khoản vay được phê duyệt [được biểu thị bằng nhãn '1'] so với những người đăng ký bị từ chối [được biểu thị bằng nhãn '0']

2. Biểu đồ

Một biểu đồ được sử dụng để trực quan hóa phân phối của một biến số. Một ngoại lệ sẽ xuất hiện bên ngoài mô hình phân phối tổng thể. Dòng mã bên dưới vẽ biểu đồ tần suất của biến 'Thu nhập', sử dụng hàm hist[]

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
2

con trăn

đầu ra

Biểu đồ trên cho thấy phân phối bị lệch phải và có các giá trị cực cao hơn ở bên phải của biểu đồ. Bước này cũng có thể được lặp lại cho các biến khác

3. biểu đồ phân tán

Biểu đồ phân tán trực quan hóa mối quan hệ giữa hai biến định lượng. Dữ liệu được hiển thị dưới dạng tập hợp các điểm và bất kỳ điểm nào nằm ngoài cụm chung của hai biến có thể biểu thị các giá trị ngoại lệ. Các dòng mã bên dưới tạo ra một biểu đồ phân tán giữa các biến 'Thu nhập' và 'Số_tiền_vay'

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
3

con trăn

đầu ra

Biểu đồ trên chỉ ra rằng hầu hết các điểm dữ liệu được nhóm ở nửa dưới của biểu đồ. Các điểm nằm ở cực bên phải của trục x hoặc trục y biểu thị các giá trị ngoại lệ

Đối xử ngoại lệ

Trong các phần trước, chúng ta đã tìm hiểu về các kỹ thuật phát hiện ngoại lệ. Tuy nhiên, đây mới chỉ là một nửa nhiệm vụ. Một khi chúng tôi đã xác định được các ngoại lệ, chúng tôi cần xử lý chúng. Có một số kỹ thuật cho việc này và chúng tôi sẽ thảo luận về những kỹ thuật được sử dụng rộng rãi nhất bên dưới

Sàn và nắp dựa trên lượng tử

Trong kỹ thuật này, chúng tôi sẽ làm sàn [e. g. , phần trăm thứ 10] cho các giá trị thấp hơn và giới hạn [e. g. , phân vị thứ 90] cho các giá trị cao hơn. Các dòng mã bên dưới lần lượt in phần trăm thứ 10 và 90 của biến 'Thu nhập'. Các giá trị này sẽ được sử dụng cho sàn và nắp dựa trên lượng tử

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
4

con trăn

đầu ra

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
5

Bây giờ chúng tôi sẽ loại bỏ các ngoại lệ, như được hiển thị trong các dòng mã bên dưới. Cuối cùng, chúng tôi tính toán lại giá trị độ lệch, giá trị này hiện tốt hơn nhiều

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
6

con trăn

đầu ra

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
7

cắt tỉa

Trong phương pháp này, chúng tôi loại bỏ hoàn toàn các điểm dữ liệu ngoại lệ. Xem xét biến 'Tuổi', có giá trị nhỏ nhất là 0 và giá trị lớn nhất là 200. Dòng mã đầu tiên bên dưới tạo chỉ mục cho tất cả các điểm dữ liệu trong đó tuổi lấy hai giá trị này. Dòng thứ hai loại bỏ các hàng chỉ mục này khỏi dữ liệu, trong khi dòng mã thứ ba in thống kê tóm tắt cho biến

Sau khi cắt bớt, số lượng quan sát giảm từ 600 xuống 594 và các giá trị tối thiểu và tối đa được chấp nhận nhiều hơn

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
8

con trăn

đầu ra

1    [600, 6]
2    
3    RangeIndex: 600 entries, 0 to 599
4    Data columns [total 6 columns]:
5    Income             600 non-null int64
6    Loan_amount        600 non-null int64
7    Term_months        600 non-null int64
8    Credit_score       600 non-null int64
9    approval_status    600 non-null int64
10    Age                600 non-null int64
11    dtypes: int64[6]
12    memory usage: 28.2 KB
13    None
9

Điểm IQR

Kỹ thuật này sử dụng điểm IQR được tính toán trước đó để loại bỏ các giá trị ngoại lai. Nguyên tắc chung là mọi thứ không nằm trong khoảng [Q1 - 1. 5 IQR] và [Q3 + 1. 5 IQR] là ngoại lệ và có thể bị xóa. Dòng mã đầu tiên bên dưới loại bỏ các ngoại lệ dựa trên phạm vi IQR và lưu kết quả vào khung dữ liệu 'df_out'. Dòng thứ hai in ra hình dạng của dữ liệu này, kết quả là 375 quan sát của 6 biến. Điều này cho thấy rằng đối với dữ liệu của chúng tôi, rất nhiều bản ghi sẽ bị xóa nếu chúng tôi sử dụng phương pháp IQR

1df.describe[]
0

con trăn

đầu ra

1df.describe[]
1

Chuyển đổi nhật ký

Việc chuyển đổi các biến bị lệch cũng có thể giúp điều chỉnh phân phối của các biến. Đây có thể là các phép biến đổi logarit, căn bậc hai hoặc bình phương. Phổ biến nhất là phép biến đổi logarit, được thực hiện trên biến 'Khoản_vay' trong dòng mã đầu tiên bên dưới. Dòng mã thứ hai và thứ ba in giá trị độ lệch trước và sau khi chuyển đổi

1df.describe[]
2

con trăn

đầu ra

1df.describe[]
3

Đầu ra ở trên cho thấy giá trị độ lệch giảm từ 2. 8 đến -0. 18, xác nhận rằng phân phối đã được xử lý cho các giá trị cực trị

Thay thế các ngoại lệ bằng các giá trị trung bình

Trong kỹ thuật này, chúng tôi thay thế các giá trị cực đoan bằng các giá trị trung bình. Không nên sử dụng các giá trị trung bình vì chúng bị ảnh hưởng bởi các giá trị ngoại lệ. Dòng mã đầu tiên bên dưới in giá trị phần trăm thứ 50 hoặc giá trị trung bình, có giá trị là 140. Dòng thứ hai in giá trị phần trăm thứ 95, xuất hiện vào khoảng 326. Dòng mã thứ ba bên dưới thay thế tất cả các giá trị đó trong biến 'Số_khoản_vay', lớn hơn phân vị thứ 95, bằng giá trị trung bình. Cuối cùng, dòng thứ tư in số liệu thống kê tóm tắt sau khi tất cả các kỹ thuật này đã được sử dụng để xử lý ngoại lệ

1df.describe[]
4

con trăn

đầu ra

1df.describe[]
5

Sự kết luận

Trong hướng dẫn này, bạn đã học các phương pháp xác định giá trị ngoại lai bằng cách sử dụng cả kỹ thuật định lượng và trực quan. Bạn cũng đã học các kỹ thuật để xử lý các ngoại lệ đã xác định. Việc bạn sử dụng các kỹ thuật này sẽ phụ thuộc vào dữ liệu, tuyên bố vấn đề và thuật toán máy học được chọn để xây dựng mô hình

Để tìm hiểu thêm về cách chuẩn bị dữ liệu và xây dựng mô hình học máy bằng Python, vui lòng tham khảo các hướng dẫn sau

IQR trong Python là gì?

Phạm vi liên vùng [IQR] là sự khác biệt giữa phân vị thứ 75 và 25 của dữ liệu . Nó là thước đo độ phân tán tương tự như độ lệch chuẩn hoặc phương sai, nhưng mạnh hơn nhiều so với các giá trị ngoại lai [2].

Tại sao là 1. 5 quy tắc IQR?

Chà, như bạn có thể đoán, con số [ở đây 1. 5, sau đây gọi là thang đo] kiểm soát rõ ràng độ nhạy của phạm vi và do đó là quy tắc quyết định . Quy mô lớn hơn sẽ làm cho [các] điểm ngoại lệ được coi là [các] điểm dữ liệu trong khi quy mô nhỏ hơn sẽ khiến một số [các] điểm dữ liệu được coi là [các] điểm dữ liệu ngoại lệ.

Chủ Đề