Hướng dẫn how do you remove outliers from a dataframe in python? - làm thế nào để bạn loại bỏ các ngoại lệ khỏi khung dữ liệu trong python?
Trước khi trả lời câu hỏi thực tế, chúng ta nên hỏi một câu hỏi khác rất phù hợp tùy thuộc vào bản chất của dữ liệu của bạn: Show
Một ngoại lệ là gì?Hãy tưởng tượng một loạt các giá trị Z-ScoreVấn đề ở đây là giá trị trong câu hỏi làm biến dạng các biện pháp của chúng tôi Bộ lọc lượng tửMột cách tiếp cận mạnh mẽ hơn được đưa ra là câu trả lời này, loại bỏ phần dưới cùng và 1% dữ liệu hàng đầu. Tuy nhiên, điều này giúp loại bỏ một phân số cố định độc lập của câu hỏi nếu những dữ liệu này thực sự là ngoại lệ. Bạn có thể mất rất nhiều dữ liệu hợp lệ và mặt khác vẫn giữ một số ngoại lệ nếu bạn có hơn 1% hoặc 2% dữ liệu của mình dưới dạng ngoại lệ. IQR-Phân tích từ trung bìnhThậm chí phiên bản mạnh mẽ hơn của nguyên tắc lượng tử: Loại bỏ tất cả dữ liệu nhiều hơn Trong một phân phối bình thường, chúng tôi có khoảng 1, vì vậy bạn sẽ dịch 2 của bộ lọc điểm Z thành 3 của bộ lọc IQR. Điều này sẽ giảm 999 trong ví dụ trên.Giả định cơ bản là ít nhất là "nửa giữa" của dữ liệu của bạn là hợp lệ và giống với phân phối tốt, trong khi bạn cũng làm rối nếu phân phối của bạn có đuôi rộng và khoảng Q_25% hẹp đến Q_75%. Phương pháp thống kê nâng caoTất nhiên, có những phương pháp toán học lạ mắt như tiêu chí PEIRCE, bài kiểm tra của Grubb hoặc bài kiểm tra Q của Dixon chỉ để đề cập đến một số ít cũng phù hợp với dữ liệu phân phối không bình thường. Không ai trong số họ dễ dàng thực hiện và do đó không được giải quyết thêm. Mã sốThay thế tất cả các ngoại lệ cho tất cả các cột số bằng 5 trên khung dữ liệu ví dụ. Phương pháp này mạnh mẽ chống lại tất cả các DTYPE mà gấu trúc cung cấp và có thể dễ dàng áp dụng cho các khung dữ liệu với các loại hỗn hợp:
Để thả tất cả các hàng có chứa ít nhất một giá trị nan:
Sử dụng chức năng Pandas 1.3:
Bạn có nên xóa các ngoại lệ khỏi bộ dữ liệu không?Các ngoại lệ là các điểm dữ liệu trong một bộ dữ liệu được coi là cực đoan, sai hoặc không đại diện cho những gì dữ liệu đang mô tả. Những ngoại lệ này có thể được gây ra bởi việc thu thập dữ liệu không chính xác hoặc các quan sát xa xôi chính hãng. Loại bỏ các ngoại lệ này thường sẽ giúp mô hình của bạn khái quát hóa tốt hơn vì những quan sát đuôi dài này có thể làm lệch hướng học tập. Bạn có nên xóa các ngoại lệ khỏi bộ dữ liệu không? Các ngoại lệ là các điểm dữ liệu trong một bộ dữ liệu được coi là cực đoan, sai hoặc không đại diện cho những gì dữ liệu đang mô tả. Những ngoại lệ này có thể được gây ra bởi việc thu thập dữ liệu không chính xác hoặc các quan sát xa xôi chính hãng. Loại bỏ các ngoại lệ này thường sẽ giúp mô hình của bạn khái quát hóa tốt hơn vì những quan sát đuôi dài này có thể làm lệch hướng học tập. Các ngoại lệ nên được xóa khỏi bộ dữ liệu của bạn nếu bạn tin rằng điểm dữ liệu không chính xác hoặc điểm dữ liệu không thể hiện được về tình huống trong thế giới thực đến mức nó sẽ khiến mô hình học máy của bạn không khái quát.Phương pháp xử lý các ngoại lệ trong khung dữ liệu
Mark - Dán nhãn các ngoại lệ để hiểu nếu chúng có ảnh hưởng đến mô hình sau đóCác phương pháp để phát hiện các ngoại lệ trong khung dữ liệu gấu trúc
Phạm vi liên vùng - Loại bỏ các giá trị cao hơn phần trăm thứ 75 hoặc thấp hơn phần trăm thứ 25, không yêu cầu dữ liệu phải là Gaussian Có sự đánh đổi cho mỗi tùy chọn này, tuy nhiên phương pháp được sử dụng phổ biến nhất trong ngành là độ lệch chuẩn hoặc điểm Z-Score.Cách tiếp cận độ lệch chuẩn để loại bỏ các ngoại lệ yêu cầu người dùng chọn một số độ lệch chuẩn để phân biệt ngoại lệ với không thoát ra. Điều này sau đó đặt ra câu hỏi, bạn nên chọn bao nhiêu độ lệch chuẩn? Thực tiễn công nghiệp chung là sử dụng 3 độ lệch chuẩn từ trung bình để phân biệt ngoại lệ với không xa hơn. Bằng cách sử dụng 3 độ lệch chuẩn, chúng tôi loại bỏ các trường hợp cực đoan 0,3%. Tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể muốn xem xét sử dụng 4 độ lệch chuẩn sẽ chỉ loại bỏ 0,1%hàng đầu. Xóa các ngoại lệ trong gấu trúc DataFrame bằng cách sử dụng độ lệch chuẩnCách tiếp cận phổ biến nhất để loại bỏ các điểm dữ liệu khỏi bộ dữ liệu là độ lệch chuẩn hoặc cách tiếp cận điểm z. Trong ví dụ này, tôi sẽ chỉ ra cách tạo một chức năng để loại bỏ các ngoại lệ nằm cách xa hơn 3 độ lệch chuẩn so với giá trị trung bình:
Những bài viết liên quanTỷ lệ cột vách mã hóa Cột loc vs ILOC Người giới thiệuGấu trúc trung bình tài liệu Tôi là một nhà khoa học dữ liệu hiện đang làm việc cho ODA, một nhà bán lẻ tạp hóa trực tuyến, ở Oslo, Na Uy. Những bài viết này là cách tôi chia sẻ một số mẹo và thủ thuật tôi đã chọn trên đường đi. Oslo, Na Uy Làm thế nào để bạn loại bỏ các ngoại lệ khỏi khung dữ liệu trong Python?Đối với mỗi chuỗi trong DataFrame, bạn có thể sử dụng giữa và lượng tử để loại bỏ các ngoại lệ ... Khung dữ liệu.select_dtypes (). Khung dữ liệu.Lượng tử (). Khung dữ liệu.ở đâu(). Khung dữ liệu.dropna (). Làm thế nào để bạn loại bỏ các ngoại lệ khỏi cột DataFrame?Conclusion.. Gán các cột mới cho DataFrame .. Loại trừ các ngoại lệ trong một cột .. Chọn hoặc thả tất cả các cột bắt đầu bằng 'X'. Chỉ các hàng bộ lọc chỉ khi cột chứa các giá trị từ một danh sách khác .. Làm thế nào để bạn đối xử với các ngoại lệ trong gấu trúc DataFrame?Các phương pháp để phát hiện các ngoại lệ trong khung dữ liệu gấu trúc Có một số cách tiếp cận phổ biến để sử dụng: độ lệch chuẩn - loại bỏ các giá trị là một số độ lệch chuẩn nhất định so với giá trị trung bình, nếu dữ liệu có phân phối Gaussian.Standard deviation - Remove the values which are a certain number of standard deviations away from the mean, if the data has a Gaussian distribution.
Làm thế nào để bạn tìm thấy các ngoại lệ trong DataFrame Python?Tìm kiếm các ngoại lệ bằng các phương pháp thống kê bằng IQR, các điểm dữ liệu ngoại lệ là các phương pháp giảm xuống dưới Q1 Tiết1.5 IQR hoặc trên Q3 + 1.5 IQR.Q1 là phần trăm thứ 25 và Q3 là phần trăm thứ 75 của bộ dữ liệu và IQR đại diện cho phạm vi liên vùng được tính toán bởi Q3 trừ Q1 (Q3, Q1).Using the IQR, the outlier data points are the ones falling below Q1–1.5 IQR or above Q3 + 1.5 IQR. The Q1 is the 25th percentile and Q3 is the 75th percentile of the dataset, and IQR represents the interquartile range calculated by Q3 minus Q1 (Q3–Q1). |