Python xử lý dữ liệu ngoại lệ như thế nào?
Sự khác biệt giữa mô hình học máy tốt và trung bình thường là khả năng làm sạch dữ liệu của nó. Một trong những thách thức lớn nhất trong việc làm sạch dữ liệu là xác định và xử lý các giá trị ngoại lai. Nói một cách đơn giản, ngoại lệ là những quan sát khác biệt đáng kể so với các điểm dữ liệu khác. Ngay cả các thuật toán học máy tốt nhất cũng sẽ hoạt động kém hiệu quả nếu các ngoại lệ không được xóa khỏi dữ liệu vì các ngoại lệ có thể ảnh hưởng xấu đến quá trình đào tạo của thuật toán học máy, dẫn đến mất độ chính xác Show
Trong hướng dẫn này, bạn sẽ tìm hiểu về các kỹ thuật xác định và xử lý ngoại lệ trong Python Dữ liệuTrong hướng dẫn này, chúng tôi sẽ sử dụng bộ dữ liệu hư cấu về các đơn xin vay có chứa 600 quan sát và 6 biến 1. Thu nhập - Thu nhập hàng năm của người nộp đơn (bằng đô la Mỹ) 2. Loan_amount - Số tiền vay (bằng đô la Mỹ) mà đơn đăng ký đã được gửi 3. Term_months - Thời hạn của khoản vay (tính theo tháng) 4. Credit_score - Điểm tín dụng của ứng viên có tốt ("1") hay không ("0") 5. Tuổi - Tuổi của người nộp đơn tính theo năm 6. Approval_status - Đơn xin vay có được chấp thuận ("1") hay không ("0") Hãy bắt đầu bằng cách tải các thư viện cần thiết và dữ liệu
con trăn đầu ra
Kết quả trên cho thấy có 600 quan sát của 6 biến. Tất cả các biến có 600 bản ghi, cho biết không có giá trị nào bị thiếu trong dữ liệu Nhận dạng ngoại lệCó thể có nhiều lý do cho sự hiện diện của các ngoại lệ trong dữ liệu. Đôi khi các ngoại lệ có thể là chính hãng, trong khi trong các trường hợp khác, chúng có thể tồn tại do lỗi nhập dữ liệu. Điều quan trọng là phải hiểu lý do của các ngoại lệ trước khi làm sạch chúng Chúng tôi sẽ bắt đầu quá trình tìm kiếm các ngoại lệ bằng cách chạy thống kê tóm tắt về các biến. Điều này được thực hiện bằng cách sử dụng hàm description() bên dưới, hàm này cung cấp tóm tắt thống kê về tất cả các biến định lượng
con trăn đầu ra
Nhìn vào biến 'Tuổi', có thể dễ dàng phát hiện các giá trị ngoại lệ do dữ liệu không chính xác. Độ tuổi tối thiểu và tối đa lần lượt là 0 và 200. Những điều này là không chính xác và chúng tôi sẽ xử lý chúng sau trong hướng dẫn. Những ngoại lệ này rất dễ phát hiện, nhưng không phải lúc nào cũng vậy. Trong các trường hợp khác, các kỹ thuật toán học và trực quan phải được sử dụng. Những kỹ thuật này được thảo luận trong các phần sau Xác định các ngoại lệ với Phạm vi liên vùng (IQR)Phạm vi liên vùng (IQR) là thước đo độ phân tán thống kê và được tính bằng sự khác biệt giữa phần trăm thứ 75 và 25. Nó được biểu diễn bằng công thức IQR = Q3 − Q1. Các dòng mã bên dưới tính toán và in phạm vi liên vùng cho từng biến trong tập dữ liệu
con trăn đầu ra
Đầu ra ở trên in điểm IQR, có thể được sử dụng để phát hiện các giá trị ngoại lệ. Mã bên dưới tạo đầu ra với các giá trị 'True' và 'False'. Các điểm có giá trị 'True' thể hiện sự hiện diện của giá trị ngoại lệ
con trăn đầu ra
Xác định các ngoại lệ với SkewnessMột số thuật toán học máy đưa ra giả định rằng dữ liệu tuân theo phân phối bình thường (hoặc Gaussian). Điều này rất dễ kiểm tra với giá trị độ lệch, giải thích mức độ phân phối thông thường của dữ liệu. Lý tưởng nhất là giá trị độ lệch phải nằm trong khoảng từ -1 đến +1 và bất kỳ độ lệch lớn nào so với phạm vi này cho thấy sự hiện diện của các giá trị cực trị Dòng mã đầu tiên bên dưới in giá trị độ lệch cho biến 'Thu nhập', trong khi dòng thứ hai in số liệu thống kê tóm tắt ________số 8 con trăn đầu ra
Giá trị độ lệch của 6. Hình 5 cho thấy biến 'Thu nhập' có phân phối lệch phải, cho thấy sự hiện diện của các giá trị cực cao. Giá trị 'Thu nhập' tối đa là 108.000 USD đã chứng minh điều này Xác định các ngoại lệ bằng trực quan hóaTrong phần trước, chúng tôi đã sử dụng các phương pháp định lượng để xác định ngoại lệ. Điều này cũng có thể đạt được với trực quan hóa. Một số sơ đồ phổ biến được sử dụng để phát hiện ngoại lệ được thảo luận bên dưới 1. Lô hộpBiểu đồ hộp là một cách tiêu chuẩn hóa để hiển thị phân phối dữ liệu dựa trên tóm tắt năm số (tối thiểu, phần tư thứ nhất (Q1), trung vị, phần tư thứ ba (Q3) và tối đa). Nó thường được sử dụng để xác định phân phối dữ liệu và phát hiện các ngoại lệ. Dòng mã bên dưới vẽ sơ đồ hộp của biến số 'Khoản_vay' 0con trăn đầu ra 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 1con 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() 2con 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ánBiể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' 3con 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ử 4con trăn đầu ra 5Bâ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 6con trăn đầu ra 7cắt tỉaTrong 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 8con trăn đầu ra 9Điểm IQRKỹ 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 lệ. 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 0con trăn đầu ra 1Chuyể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 2con trăn đầu ra 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ìnhTrong 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ệ 4con trăn đầu ra 5Phần kết luậnTrong 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 Làm cách nào để phát hiện các ngoại lệ trong Python?Tìm giá trị ngoại lệ bằng phương pháp thống kê
. 5 IQR trở lên Q3 + 1. 5 IQR Using the IQR, the outlier data points are the ones falling below Q1–1.5 IQR or above Q3 + 1.5 IQR . Q1 là phân vị thứ 25 và Q3 là phân vị thứ 75 của tập dữ liệu và IQR biểu thị phạm vi liên phần tư được tính bằng Q3 trừ Q1 (Q3–Q1).
Làm thế nào để Python xác định các ngoại lệ?Tất cả các điểm dữ liệu trên và dưới 1. 5 lần Phạm vi liên vùng được coi là ngoại lệ. . Sắp xếp dữ liệu theo thứ tự (tăng dần) Tính IQR = Q3 – Q1 Tính giới hạn (trên và dưới) 1. 5 IQR Bất kỳ điểm nào bên ngoài giới hạn trên và dưới đều là ngoại lệ Làm thế nào để Python phát hiện các ngoại lệ trong gấu trúc?Đối với bản phân phối Skewed. Sử dụng quy tắc lân cận Phạm vi liên phần tư (IQR). – Các điểm dữ liệu nằm dưới Q1 – 1. 5 IQR trở lên Q3 + 1. 5 IQR là ngoại lệ. trong đó Q1 và Q3 lần lượt là phần trăm thứ 25 và 75 của tập dữ liệu và IQR đại diện cho phạm vi giữa các phần tư và được cho bởi Q3 – Q1
3 kỹ thuật tiền xử lý dữ liệu để xử lý các ngoại lệ là gì?Trong bài viết này, chúng ta đã thấy 3 phương pháp khác nhau để xử lý các giá trị ngoại lai. phương pháp đơn biến, phương pháp đa biến và lỗi Minkowski . Các phương pháp này bổ sung cho nhau và nếu tập dữ liệu của chúng ta có nhiều ngoại lệ và khó khăn, chúng ta có thể cần phải thử tất cả chúng. |