Hướng dẫn how does python handle nan? - trăn xử lý nan như thế nào?
Bài viết này đã được xuất bản như một phần của & nbsp; Data Science Blogathon & NBSP; & nbsp; Show
Giới thiệuLàm sạch dữ liệu là quá trình tìm và sửa dữ liệu không chính xác/không chính xác có trong bộ dữ liệu. Một quy trình như vậy cần thiết là làm một cái gì đó về các giá trị bị thiếu trong bộ dữ liệu. Trong cuộc sống thực, nhiều bộ dữ liệu sẽ có nhiều giá trị bị thiếu, vì vậy việc xử lý chúng là một bước quan trọng. Tại sao bạn cần điền vào dữ liệu bị thiếu? Bởi vì hầu hết các mô hình học máy mà bạn muốn sử dụng sẽ cung cấp lỗi nếu bạn chuyển các giá trị NAN vào đó. Cách dễ nhất là chỉ cần lấp đầy chúng bằng 0, nhưng điều này có thể làm giảm đáng kể độ chính xác mô hình của bạn. Because most of the machine learning models that you want to use will provide an error if you pass NaN values into it. The easiest way is to just fill them up with 0, but this can reduce your model accuracy significantly. Để điền vào các giá trị bị thiếu, có nhiều phương pháp có sẵn. Để chọn phương pháp tốt nhất, bạn cần hiểu loại giá trị bị thiếu và tầm quan trọng của nó, trước khi bạn bắt đầu điền/xóa dữ liệu. Đầu tiên nhìn vào bộ dữ liệuTrong bài viết này, tôi sẽ làm việc với bộ dữ liệu Titanic từ Kaggle. Để tải xuống bộ dữ liệu, hãy sử dụng liên kết sau - https://www.kaggle.com/c/titanic
Mã Python: Xem rằng các cột chứa nhiều cột như 8, 9, 0, v.v.contains many columns like 8,
9, 0, etc.. We won’t be working with all the columns in the dataset, so I am going to be deleting the columns I don’t need.
Xem rằng cũng có các giá trị phân loại trong tập dữ liệu, đối với điều này, bạn cần sử dụng mã hóa nhãn hoặc một mã hóa nóng.
Làm thế nào để biết liệu dữ liệu có các giá trị bị thiếu?Các giá trị bị thiếu thường được biểu diễn dưới dạng 1 hoặc 2 hoặc 3 trong bộ dữ liệu. 4 Hàm có thể được sử dụng để cung cấp thông tin về bộ dữ liệu. Điều này sẽ cung cấp cho bạn các tên cột cùng với số lượng giá trị không phải là null trong mỗi cột.
Xem rằng có các giá trị null trong cột 0.Cách thứ hai để tìm kiếm liệu chúng ta có giá trị null trong dữ liệu là bằng cách sử dụng hàm 6 hay không.
Xem tất cả các giá trị null trong tập dữ liệu nằm trong cột - 0.Hãy cùng thử lắp dữ liệu bằng hồi quy logistic.
Xem rằng mô hình hồi quy logistic không hoạt động vì chúng ta có các giá trị NAN trong tập dữ liệu. Chỉ một số thuật toán học máy có thể hoạt động với các dữ liệu bị thiếu như KNN, sẽ bỏ qua các giá trị với các giá trị NAN. Bây giờ, hãy để Lôi nhìn vào các phương pháp khác nhau mà bạn có thể sử dụng để đối phó với dữ liệu bị thiếu. Các phương pháp tôi sẽ thảo luận là
1. Xóa cột với dữ liệu bị thiếuTrong trường hợp này, hãy để xóa cột, 0 và sau đó phù hợp với mô hình và kiểm tra độ chính xác.Nhưng đây là một trường hợp cực đoan và chỉ nên được sử dụng khi có nhiều giá trị null trong cột.
0 1 2 3Xem rằng chúng tôi có thể đạt được độ chính xác 79,4%. Vấn đề với phương pháp này là chúng ta có thể mất thông tin có giá trị về tính năng đó, vì chúng ta đã xóa nó hoàn toàn do một số giá trị null. Chỉ nên được sử dụng nếu có quá nhiều giá trị null. 2. Xóa hàng với dữ liệu bị thiếuNếu có một hàng nhất định với dữ liệu bị thiếu, thì bạn có thể xóa toàn bộ hàng với tất cả các tính năng trong hàng đó. 9 được sử dụng để thả cột với các giá trị `nan`. 0 được sử dụng để thả hàng với các giá trị `nan`. 4 5 0 7 8 9Trong trường hợp này, hãy xem rằng chúng tôi có thể đạt được độ chính xác tốt hơn trước. Điều này có thể là do cột 0 chứa nhiều thông tin có giá trị hơn chúng ta mong đợi.3. Đổ đầy các giá trị bị thiếu - Cắt bỏTrong trường hợp này, chúng tôi sẽ điền vào các giá trị bị thiếu bằng một số nhất định. Những cách có thể để làm điều này là:
Bạn có thể sử dụng hàm 2 để điền vào các giá trị null trong tập dữ liệu. 0 1 2 3Giá trị độ chính xác được đưa ra là 77,98%, đó là giảm so với trường hợp trước đó. Điều này sẽ không xảy ra nói chung, trong trường hợp này, điều đó có nghĩa là giá trị trung bình đã không lấp đầy giá trị 2 đúng cách.4. Cắt bỏ với một cột bổ sungSử dụng hàm 4 từ mô -đun 5 để áp đặt các giá trị.Vượt qua 6 như một đối số cho hàm. Nó có thể là trung bình hoặc chế độ hoặc trung bình.Vấn đề với mô hình trước đó là mô hình không biết liệu các giá trị đến từ dữ liệu gốc hay giá trị bị lỗi. Để đảm bảo mô hình biết điều này, chúng tôi sẽ thêm 7 cột sẽ có giá trị 8 làm giá trị, nếu đó là giá trị null và 9 nếu nó không phải là giá trị null. 4 5 8 75. Đổ đầy mô hình hồi quyTrong trường hợp này, các giá trị null trong một cột được điền bằng cách lắp mô hình hồi quy bằng các cột khác trong bộ dữ liệu. Tức là trong trường hợp này, mô hình hồi quy sẽ chứa tất cả các cột ngoại trừ 0 trong X và 0 trong Y.Sau đó, sau khi điền các giá trị trong cột tuổi, sau đó chúng ta sẽ sử dụng hồi quy logistic để tính độ chính xác. 8 9 0 1 2 3 4 5Xem rằng mô hình này tạo ra độ chính xác cao hơn mô hình trước đây vì chúng tôi đang sử dụng một mô hình hồi quy cụ thể để lấp đầy các giá trị bị thiếu. Chúng tôi cũng có thể sử dụng các mô hình & nbsp; 2 để điền vào các giá trị bị thiếu. Nhưng đôi khi, sử dụng các mô hình để cắt bỏ có thể dẫn đến việc quá mức dữ liệu.Việc đưa ra các giá trị bị thiếu bằng mô hình hồi quy cho phép chúng tôi cải thiện mô hình của mình so với việc bỏ các cột đó. Nhưng bạn phải hiểu rằng 3.Mỗi phương pháp mà tôi đã thảo luận trong blog này, có thể hoạt động tốt với các loại bộ dữ liệu khác nhau. Bạn phải thử nghiệm thông qua các phương pháp khác nhau, để kiểm tra phương thức nào hoạt động tốt nhất cho bộ dữ liệu của bạn. Cảm ơn bạn đã đọc qua bài viết. Hy vọng bây giờ bạn có một sự hiểu biết rõ ràng về cách đối phó với các giá trị bị thiếu trong bộ dữ liệu của bạn. Các phương tiện truyền thông được hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của tác giả. & NBSP; Làm thế nào để Python xử lý các giá trị NAN?Nếu có một hàng nhất định với dữ liệu bị thiếu, thì bạn có thể xóa toàn bộ hàng với tất cả các tính năng trong hàng đó.Trục = 1 được sử dụng để thả cột với giá trị `nan`.axis = 0 được sử dụng để thả hàng với các giá trị` nan`.axis=1 is used to drop the column with `NaN` values. axis=0 is used to drop the row with `NaN` values.
Python có hỗ trợ Nan không?Trong Python, loại phao có NAN.NAN là viết tắt của "không phải là một số" và được xác định bởi tiêu chuẩn nổi của IEEE 754. . nan stands for "not a number" and is defined by the IEEE 754 floating-point standard.
Làm thế nào để Python bỏ qua các giá trị NAN?Bây giờ chúng ta hãy nhìn vào 5 cách dễ dàng và hiệu quả trong Python về việc loại bỏ các giá trị NAN khỏi danh sách ... Sử dụng hàm isnan () của Numpy .. Bằng cách sử dụng hàm isnan () của Math .. Sử dụng chức năng pandas isnull () .. Sử dụng cho vòng lặp .. Với danh sách hiểu .. Làm thế nào để gấu trúc xử lý giá trị nan?Gấu trúc không đối xử với không và NAN về cơ bản có thể hoán đổi cho nhau để chỉ ra các giá trị thiếu hoặc null ... isnull(). notnull(). dropna(). fillna(). replace(). interpolate(). |