Hướng dẫn how would you clean a data set in python or any other language )? - bạn sẽ làm thế nào để xóa một tập dữ liệu bằng python hoặc bất kỳ ngôn ngữ nào khác)?

Kỹ thuật về những gì để làm sạch và làm thế nào.

Nguồn: Pixabay

Để có phiên bản cập nhật của hướng dẫn này, vui lòng truy cập các kỹ thuật làm sạch dữ liệu trong Python: The Ultimate Guide.

Trước khi lắp một mô hình học máy hoặc thống kê, chúng tôi luôn phải làm sạch dữ liệu. Không có mô hình tạo ra kết quả có ý nghĩa với dữ liệu lộn xộn.

Làm sạch dữ liệu hoặc làm sạch là quá trình phát hiện và sửa chữa (hoặc loại bỏ) các bản ghi tham nhũng hoặc không chính xác khỏi tập hợp bản ghi, bảng hoặc cơ sở dữ liệu và đề cập đến việc xác định các phần không đầy đủ, không chính xác hoặc không liên quan của dữ liệu và sau đó thay thế, sửa đổi hoặc Xóa dữ liệu bẩn hoặc thô. is the process of detecting and correcting (or removing) corrupt or inaccurate records from a record set, table, or database and refers to identifying incomplete, incorrect, inaccurate or irrelevant parts of the data and then replacing, modifying, or deleting the dirty or coarse data.

Thật là một định nghĩa dài! Nó chắc chắn không vui và rất tốn thời gian.

Nguồn: kdnuggets.com

Để làm cho nó dễ dàng hơn, chúng tôi đã tạo ra hướng dẫn từng bước hoàn chỉnh mới này trong Python. Bạn sẽ học các kỹ thuật về cách thức tofind và sạch sẽ:find and clean:

  • Dữ liệu bị mất
  • Dữ liệu không đều (Outliers)
  • Dữ liệu không cần thiết - dữ liệu lặp đi lặp lại, sao chép và nhiều hơn nữa
  • Dữ liệu không nhất quán - viết hoa, địa chỉ và nhiều hơn nữa

Học thêm: Chúng tôi đã ra mắt một Python khóa học để phân tích dữ liệu: từng bước với các dự án, bao gồm toàn bộ phần cập nhật để làm sạch dữ liệu và hơn thế nữa! Vui lòng kiểm tra nó ở đây.: we’ve launched a course Python for Data Analysis: step-by-step with projects, which includes an updated whole section for data cleaning, and more!
Please check it out here.

Trong hướng dẫn này, chúng tôi sử dụng bộ dữ liệu nhà ở Nga từ Kaggle. Mục tiêu của dự án này là dự đoán biến động giá nhà ở ở Nga. Chúng tôi không làm sạch toàn bộ bộ dữ liệu nhưng sẽ hiển thị các ví dụ từ nó.ithin this guide, we use the Russian housing dataset from Kaggle. The goal of this project is to predict housing price fluctuations in Russia. We are not cleaning the entire dataset but will show examples from it.

Trước khi chúng tôi nhảy vào quá trình làm sạch, hãy để xem ngắn gọn về dữ liệu.

Từ những kết quả này, chúng tôi biết rằng bộ dữ liệu có 30.471 hàng và 292 cột. Chúng tôi cũng xác định xem các tính năng là các biến số hay phân loại. Đây là tất cả các thông tin hữu ích.

Bây giờ chúng ta có thể chạy qua danh sách kiểm tra các loại dữ liệu của Dirty Dirty và sửa từng loại.

Bắt đầu nào.

Nguồn: Giphy

Dữ liệu bị mất

Đối phó với thiếu dữ liệu/giá trị là một trong những phần khó khăn nhất nhưng phổ biến nhất của việc làm sạch dữ liệu. Trong khi nhiều mô hình có thể sống với các vấn đề khác của dữ liệu, hầu hết các mô hình không chấp nhận dữ liệu bị thiếu.While many models can live with other problems of the data, most models don’t accept missing data.

Làm thế nào để tìm hiểu?

Chúng tôi bao gồm ba kỹ thuật để tìm hiểu thêm về dữ liệu bị thiếu trong bộ dữ liệu của chúng tôi.

  • Kỹ thuật số 1: Thiếu dữ liệu nhiệt

Khi có một số lượng nhỏ hơn các tính năng, chúng ta có thể trực quan hóa dữ liệu bị thiếu thông qua HeatMap.

Biểu đồ dưới đây cho thấy các mẫu dữ liệu bị thiếu của 30 tính năng đầu tiên. Trục ngang hiển thị tên tính năng; Trục dọc cho thấy số lượng quan sát/hàng; Màu vàng đại diện cho dữ liệu bị thiếu trong khi màu xanh khác.

Ví dụ: chúng ta thấy rằng tính năng Life_SQ có các giá trị bị thiếu trong nhiều hàng. Trong khi tính năng sàn chỉ có ít giá trị thiếu xung quanh hàng thứ 7000.

Thiếu bản đồ nhiệt dữ liệu
  • Kỹ thuật số 2: Danh sách tỷ lệ phần trăm dữ liệu bị thiếu

Khi có nhiều tính năng trong tập dữ liệu, chúng ta có thể lập danh sách các dữ liệu bị thiếu % cho mỗi tính năng.

Điều này tạo ra một danh sách dưới đây cho thấy tỷ lệ phần trăm các giá trị bị thiếu cho từng tính năng.

Cụ thể, chúng tôi thấy rằng tính năng Life_SQ bị thiếu 21%, trong khi sàn chỉ bị thiếu 1%. Danh sách này là một bản tóm tắt hữu ích có thể bổ sung cho trực quan hóa nhiệt.

Thiếu dữ liệu % danh sách - 30 tính năng đầu tiên
  • Kỹ thuật số 3: Biểu đồ dữ liệu bị thiếu

Biểu đồ dữ liệu bị thiếu cũng là một kỹ thuật khi chúng ta có nhiều tính năng.

Để tìm hiểu thêm về các mẫu giá trị còn thiếu giữa các quan sát, chúng ta có thể hình dung nó bằng một biểu đồ.

Biểu đồ này giúp xác định các tình huống giá trị bị thiếu trong số 30.471 quan sát.

Ví dụ, có hơn 6000 quan sát không có giá trị bị thiếu và gần 4000 quan sát với một giá trị bị thiếu.

Thiếu biểu đồ dữ liệu

Làm gì?

Không có giải pháp đồng ý để xử lý dữ liệu bị thiếu. Chúng tôi phải nghiên cứu tính năng và bộ dữ liệu cụ thể để quyết định cách xử lý chúng tốt nhất.

Dưới đây bao gồm bốn phương pháp phổ biến nhất để xử lý dữ liệu bị thiếu. Nhưng, nếu tình huống phức tạp hơn bình thường, chúng ta cần sáng tạo để sử dụng các phương pháp tinh vi hơn như bị thiếu mô hình dữ liệu.

  • Giải pháp số 1: Thả quan sát

Trong số liệu thống kê, phương pháp này được gọi là kỹ thuật xóa Liệt kê. Trong giải pháp này, chúng tôi bỏ toàn bộ quan sát miễn là nó chứa một giá trị bị thiếu.

Chỉ khi chúng tôi chắc chắn rằng dữ liệu bị thiếu không phải là thông tin, chúng tôi thực hiện việc này. Nếu không, chúng ta nên xem xét các giải pháp khác.

Có thể có các tiêu chí khác để sử dụng để bỏ các quan sát.

Ví dụ, từ biểu đồ dữ liệu bị thiếu, chúng tôi nhận thấy rằng chỉ có một lượng quan sát tối thiểu có hơn 35 tính năng bị thiếu hoàn toàn. Chúng tôi có thể tạo một bộ dữ liệu mới df_less_missing_rows xóa các quan sát với hơn 35 tính năng bị thiếu.

  • Giải pháp số 2: Thả tính năng

Tương tự như Giải pháp số 1, chúng tôi chỉ làm điều này khi chúng tôi tự tin rằng tính năng này không cung cấp thông tin hữu ích.

Ví dụ: từ danh sách dữ liệu bị thiếu, chúng tôi nhận thấy rằng Bệnh viện_beds_raion có tỷ lệ phần trăm giá trị bị thiếu cao là 47 %. Chúng tôi có thể bỏ toàn bộ tính năng.

  • Giải pháp số 3: Bị thiếu

Khi tính năng này là một biến số, chúng ta có thể tiến hành cắt giảm dữ liệu bị thiếu. Chúng tôi thay thế các giá trị bị thiếu bằng giá trị trung bình hoặc trung bình từ dữ liệu của cùng một tính năng không bị thiếu.

Khi tính năng này là một biến phân loại, chúng ta có thể áp đặt dữ liệu bị thiếu theo chế độ (giá trị thường xuyên nhất).

Sử dụng Life_SQ làm ví dụ, chúng ta có thể thay thế các giá trị bị thiếu của tính năng này bằng trung bình của nó.

Hơn nữa, chúng ta có thể áp dụng chiến lược cắt bỏ tương tự cho tất cả các tính năng số cùng một lúc.

May mắn thay, bộ dữ liệu của chúng tôi không có giá trị thiếu cho các tính năng phân loại. Tuy nhiên, chúng ta có thể áp dụng chiến lược cắt bỏ chế độ cho tất cả các tính năng phân loại cùng một lúc.

  • Giải pháp số 4: Thay thế phần còn thiếu

Đối với các tính năng phân loại, chúng ta có thể thêm một danh mục mới với một giá trị như là _Missing_. Đối với các tính năng số, chúng ta có thể thay thế nó bằng một giá trị cụ thể như -999., we can add a new category with a value such as “_MISSING_”. For numerical features, we can replace it with a particular value such as -999.

Bằng cách này, chúng tôi vẫn đang giữ các giá trị bị thiếu là thông tin có giá trị.

Dữ liệu không đều (Outliers)

Các ngoại lệ là dữ liệu khác biệt khác biệt với các quan sát khác. Họ có thể là những người ngoại trú hoặc sai lầm thực sự.

Làm thế nào để tìm hiểu?

Tùy thuộc vào việc tính năng là số hay phân loại, chúng ta có thể sử dụng các kỹ thuật khác nhau để nghiên cứu phân phối của nó để phát hiện các ngoại lệ.

  • Kỹ thuật số 1: Biểu đồ biểu đồ/hộpHistogram/Box Plot

Khi tính năng là số, chúng ta có thể sử dụng biểu đồ và biểu đồ hộp để phát hiện các ngoại lệ.

Dưới đây là biểu đồ của tính năng Life_SQ.

Dữ liệu trông rất sai lệch với sự tồn tại có thể của các ngoại lệ.

Biểu đồ

Để nghiên cứu tính năng gần hơn, hãy để Lừa tạo một ô hộp.

Trong cốt truyện này, chúng ta có thể thấy có một ngoại lệ với giá trị hơn 7000.

Âm mưu hộp
  • Kỹ thuật số 2: Thống kê mô tả

Ngoài ra, đối với các tính năng số, các ngoại lệ có thể quá khác biệt mà cốt truyện hộp có thể hình dung ra chúng. Thay vào đó, chúng ta có thể xem xét số liệu thống kê mô tả của họ.

Ví dụ, đối với tính năng Life_SQ một lần nữa, chúng ta có thể thấy rằng giá trị tối đa là 7478, trong khi bộ tứ 75% chỉ là 43. Giá trị 7478 là một ngoại lệ.

  • Kỹ thuật số 3: Biểu đồ thanh

Khi tính năng là phân loại. Chúng ta có thể sử dụng biểu đồ thanh để tìm hiểu về các danh mục và phân phối của nó.

Ví dụ, sinh thái tính năng có một phân phối hợp lý. Nhưng nếu có một danh mục chỉ có một giá trị gọi là khác, thì đó sẽ là một ngoại lệ.

Biểu đồ cột
  • Các kỹ thuật khác: Nhiều kỹ thuật khác cũng có thể phát hiện ra các ngoại lệ, chẳng hạn như sơ đồ phân tán, điểm Z và phân cụm. Bài viết này không bao gồm tất cả những thứ đó.Many other techniques can spot outliers as well, such as scatter plot, z-score, and clustering. This article does not cover all of those.

Làm gì?

Mặc dù các ngoại lệ không khó để phát hiện, chúng tôi phải xác định các giải pháp phù hợp để xử lý chúng. Nó phụ thuộc rất nhiều vào bộ dữ liệu và mục tiêu của dự án.

Các phương pháp xử lý các ngoại lệ có phần giống với dữ liệu bị thiếu. Chúng tôi hoặc thả hoặc điều chỉnh hoặc giữ chúng. Chúng ta có thể tham khảo lại phần dữ liệu bị thiếu cho các giải pháp có thể.

Dữ liệu không cần thiết

Sau khi tất cả các công việc khó khăn được thực hiện cho các dữ liệu và ngoại lệ bị thiếu, hãy để Lôi nhìn vào dữ liệu không cần thiết, điều này đơn giản hơn.

Tất cả các dữ liệu cho ăn vào mô hình sẽ phục vụ mục đích của dự án. Dữ liệu không cần thiết là khi dữ liệu không thêm giá trị. Chúng tôi bao gồm ba loại dữ liệu chính không cần thiết vì các lý do khác nhau.

Loại không cần thiết #1: Không chính xác / lặp đi lặp lại

Đôi khi một tính năng là không chính xác vì nó có quá nhiều hàng là cùng một giá trị.

Làm thế nào để tìm hiểu?

Tùy thuộc vào việc tính năng là số hay phân loại, chúng ta có thể sử dụng các kỹ thuật khác nhau để nghiên cứu phân phối của nó để phát hiện các ngoại lệ.

Kỹ thuật số 1: Biểu đồ biểu đồ/hộp

Khi tính năng là số, chúng ta có thể sử dụng biểu đồ và biểu đồ hộp để phát hiện các ngoại lệ.

Làm gì?

Mặc dù các ngoại lệ không khó để phát hiện, chúng tôi phải xác định các giải pháp phù hợp để xử lý chúng. Nó phụ thuộc rất nhiều vào bộ dữ liệu và mục tiêu của dự án.

Các phương pháp xử lý các ngoại lệ có phần giống với dữ liệu bị thiếu. Chúng tôi hoặc thả hoặc điều chỉnh hoặc giữ chúng. Chúng ta có thể tham khảo lại phần dữ liệu bị thiếu cho các giải pháp có thể.

Dữ liệu không cần thiết

Làm thế nào để tìm hiểu?

Tùy thuộc vào việc tính năng là số hay phân loại, chúng ta có thể sử dụng các kỹ thuật khác nhau để nghiên cứu phân phối của nó để phát hiện các ngoại lệ.

Kỹ thuật số 1: Biểu đồ biểu đồ/hộp

Làm gì?

Mặc dù các ngoại lệ không khó để phát hiện, chúng tôi phải xác định các giải pháp phù hợp để xử lý chúng. Nó phụ thuộc rất nhiều vào bộ dữ liệu và mục tiêu của dự án.

Các phương pháp xử lý các ngoại lệ có phần giống với dữ liệu bị thiếu. Chúng tôi hoặc thả hoặc điều chỉnh hoặc giữ chúng. Chúng ta có thể tham khảo lại phần dữ liệu bị thiếu cho các giải pháp có thể.

Dữ liệu không cần thiết

Có hai loại dữ liệu trùng lặp chính.

  • Bản sao loại #1: Tất cả các tính năng dựa trên

Làm thế nào để tìm hiểu?

Bản sao này xảy ra khi tất cả các tính năng của các giá trị trong các quan sát là như nhau. Nó là dễ dàng để tìm thấy.

Trước tiên chúng tôi xóa ID định danh duy nhất trong tập dữ liệu. Sau đó, chúng tôi tạo một bộ dữ liệu gọi là df_dedupped bằng cách bỏ các bản sao. Chúng tôi so sánh các hình dạng của hai bộ dữ liệu (DF và DF_DEDupped) để tìm ra số lượng các hàng trùng lặp.

10 hàng đang được quan sát trùng lặp hoàn toàn.

Làm gì?

Chúng ta nên loại bỏ những bản sao này, điều mà chúng ta đã làm.

  • Bản sao loại #2: Các tính năng chính dựa trên

Làm thế nào để tìm hiểu?

Bản sao này xảy ra khi tất cả các tính năng của các giá trị trong các quan sát là như nhau. Nó là dễ dàng để tìm thấy.

Trước tiên chúng tôi xóa ID định danh duy nhất trong tập dữ liệu. Sau đó, chúng tôi tạo một bộ dữ liệu gọi là df_dedupped bằng cách bỏ các bản sao. Chúng tôi so sánh các hình dạng của hai bộ dữ liệu (DF và DF_DEDupped) để tìm ra số lượng các hàng trùng lặp.

10 hàng đang được quan sát trùng lặp hoàn toàn.

Làm gì?

Làm gì?

Chúng ta nên loại bỏ những bản sao này, điều mà chúng ta đã làm.

Bản sao loại #2: Các tính năng chính dựa trên

Đôi khi tốt hơn là loại bỏ dữ liệu trùng lặp dựa trên một tập hợp các định danh duy nhất.

Ví dụ, cơ hội của hai giao dịch xảy ra cùng một lúc, với cùng một cảnh vuông, cùng một mức giá và cùng một năm xây dựng gần bằng không.

Chúng tôi có thể thiết lập một nhóm các tính năng quan trọng như là định danh duy nhất cho các giao dịch. Chúng tôi bao gồm dấu thời gian, full_sq, Life_SQ, Sàn, Build_Year, Num_room, Price_Doc. Chúng tôi kiểm tra xem có trùng lặp dựa trên chúng không.

Có 16 bản sao dựa trên bộ tính năng chính này.

Chúng ta có thể bỏ các bản sao này dựa trên các tính năng chính.

Làm thế nào để tìm hiểu?

Chúng tôi đã bỏ 16 bản sao trong bộ dữ liệu mới có tên DF_DEDUPPED2.

Dữ liệu không nhất quán

Nó cũng rất quan trọng để có bộ dữ liệu tuân theo các tiêu chuẩn cụ thể để phù hợp với một mô hình. Chúng ta cần khám phá dữ liệu theo các cách khác nhau để tìm hiểu dữ liệu không nhất quán. Phần lớn thời gian, nó phụ thuộc vào quan sát và kinh nghiệm. Không có mã thiết lập để chạy và sửa tất cả.

Làm gì?

Chúng ta nên loại bỏ những bản sao này, điều mà chúng ta đã làm.

Bản sao loại #2: Các tính năng chính dựa trên

Đôi khi tốt hơn là loại bỏ dữ liệu trùng lặp dựa trên một tập hợp các định danh duy nhất.

Làm thế nào để tìm hiểu?

Ví dụ, cơ hội của hai giao dịch xảy ra cùng một lúc, với cùng một cảnh vuông, cùng một mức giá và cùng một năm xây dựng gần bằng không.

Làm gì?

Chúng ta nên loại bỏ những bản sao này, điều mà chúng ta đã làm.

Bản sao loại #2: Các tính năng chính dựa trên How To Manipulate Date And Time In Python Like A Boss

Đôi khi tốt hơn là loại bỏ dữ liệu trùng lặp dựa trên một tập hợp các định danh duy nhất.

Ví dụ, cơ hội của hai giao dịch xảy ra cùng một lúc, với cùng một cảnh vuông, cùng một mức giá và cùng một năm xây dựng gần bằng không.

Làm thế nào để tìm hiểu?

Chúng tôi có thể thiết lập một nhóm các tính năng quan trọng như là định danh duy nhất cho các giao dịch. Chúng tôi bao gồm dấu thời gian, full_sq, Life_SQ, Sàn, Build_Year, Num_room, Price_Doc. Chúng tôi kiểm tra xem có trùng lặp dựa trên chúng không.

Có 16 bản sao dựa trên bộ tính năng chính này.

Chúng ta có thể bỏ các bản sao này dựa trên các tính năng chính.

Chúng tôi đã bỏ 16 bản sao trong bộ dữ liệu mới có tên DF_DEDUPPED2.

Làm gì?

Chúng ta nên loại bỏ những bản sao này, điều mà chúng ta đã làm.

Bản sao loại #2: Các tính năng chính dựa trên

Đôi khi tốt hơn là loại bỏ dữ liệu trùng lặp dựa trên một tập hợp các định danh duy nhất.

Làm thế nào để tìm hiểu?

Ví dụ, cơ hội của hai giao dịch xảy ra cùng một lúc, với cùng một cảnh vuông, cùng một mức giá và cùng một năm xây dựng gần bằng không.

Chúng tôi có thể thiết lập một nhóm các tính năng quan trọng như là định danh duy nhất cho các giao dịch. Chúng tôi bao gồm dấu thời gian, full_sq, Life_SQ, Sàn, Build_Year, Num_room, Price_Doc. Chúng tôi kiểm tra xem có trùng lặp dựa trên chúng không.

Có 16 bản sao dựa trên bộ tính năng chính này.

Làm gì?

Chúng ta nên loại bỏ những bản sao này, điều mà chúng ta đã làm.

Bây giờ nó trông đẹp hơn nhiều.

Chúng ta làm được rồi! Thật là một hành trình dài chúng ta đã đi cùng.

Học thêm: Nếu bạn thích bài viết này, bạn có thể thích Python khóa học mới của chúng tôi để phân tích dữ liệu: từng bước với các dự án, bao gồm toàn bộ phần được cập nhật hơn để làm sạch dữ liệu và hơn thế nữa! Vui lòng kiểm tra nó ở đây.: if you enjoyed this article, you might like our new course Python for Data Analysis: step-by-step with projects, which includes a more updated whole section for data cleaning, and more!
Please check it out here.

Xóa tất cả các dữ liệu bẩn thỉu của người Viking mà Lừa chặn theo cách của bạn để phù hợp với mô hình.

Hãy là ông chủ của việc dọn dẹp!

Nguồn: Giphy

Cảm ơn bạn đã đọc.

Tôi hy vọng bạn tìm thấy hướng dẫn làm sạch dữ liệu này hữu ích. Vui lòng để lại bất kỳ ý kiến ​​để cho chúng tôi biết suy nghĩ của bạn.

Làm thế nào bạn sẽ làm sạch một bộ dữ liệu?

Làm thế nào để làm sạch dữ liệu..
Bước 1: Loại bỏ các quan sát trùng lặp hoặc không liên quan. Loại bỏ các quan sát không mong muốn khỏi bộ dữ liệu của bạn, bao gồm các quan sát trùng lặp hoặc quan sát không liên quan. ....
Bước 2: Khắc phục lỗi cấu trúc. ....
Bước 3: Lọc các ngoại lệ không mong muốn. ....
Bước 4: Xử lý dữ liệu bị thiếu. ....
Bước 5: Xác thực và QA ..

Python có thể được sử dụng để làm sạch dữ liệu không?

Python có một số thư viện tích hợp để giúp làm sạch dữ liệu.Hai thư viện phổ biến nhất là gấu trúc và numpy, nhưng bạn sẽ sử dụng gấu trúc cho hướng dẫn này.Thư viện Pandas cho phép bạn làm việc với GANDAS DATAFRAME để phân tích dữ liệu và thao tác.. The two most popular libraries are pandas and numpy, but you'll be using pandas for this tutorial. Pandas library allows you to work with pandas dataframe for data analysis and manipulation.

Tại sao chúng ta làm sạch dữ liệu trong Python?

Làm sạch dữ liệu hoặc làm sạch là quá trình phát hiện và sửa chữa (hoặc loại bỏ) các bản ghi tham nhũng hoặc không chính xác khỏi tập hợp bản ghi, bảng hoặc cơ sở dữ liệu và đề cập đến việc xác định các phần không đầy đủ, không chính xác hoặc không liên quan của dữ liệu và sau đó thay thế, sửa đổi hoặcXóa dữ liệu bẩn hoặc thô.detecting and correcting (or removing) corrupt or inaccurate records from a record set, table, or database and refers to identifying incomplete, incorrect, inaccurate or irrelevant parts of the data and then replacing, modifying, or deleting the dirty or coarse data.

Ngôn ngữ nào là tốt nhất để làm sạch dữ liệu?

Sử dụng R và Python để làm sạch dữ liệu các ngôn ngữ kịch bản tốt hơn như Python và R có thể hỗ trợ làm sạch dữ liệu, cho phép các nhà khoa học dữ liệu thực hiện việc dọn dẹp số lượng lớn.R and Python to clean data better Scripting languages such as Python and R can assist with data cleanup, allowing data scientists to do bulk cleanup.