Hướng dẫn python data preprocessing cheat sheet - bảng gian lận tiền xử lý trước dữ liệu python
Show
Hướng dẫn thực tế về cách xử lý dữ liệu trước với gấu trúcTín dụng hình ảnh: Stephanie Klepacki trên UnplashThông điệp về nhà của bạn là gì?Thông qua bài đăng này, bạn sẽ tìm hiểu các phương pháp sau:
Giới thiệuTiểu sửHiểu các cấu trúc dữ liệu và đặc điểm của chúng là một trong những khóa quan trọng, không chỉ để tạo ra mô hình học máy chính xác cao mà còn từ quan điểm đưa nó vào thực tế. Trên thực tế, quá trình xử lý trước dữ liệu là khác nhau đối với mỗi bộ dữ liệu và cần phải được thực hiện như thể nó được thiết kế riêng. Do đó, khi chúng tôi xây dựng một mô hình học máy, hầu hết thời gian dành cho phần này. Những gì tôi muốn chia sẻTrong bài đăng này, tôi sẽ tóm tắt các chức năng trong gấu trúc thường được sử dụng để xử lý trước dữ liệu. Tôi là một nhà tư vấn khoa học dữ liệu và bài đăng này dựa trên kinh nghiệm của tôi về việc phân tích một loạt dữ liệu cho các công ty khác nhau.this post is based on my experience of analyzing a wide range of data for various companies. Ở dưới cùng của bài đăng này, tôi đã đính kèm liên kết chứa sổ ghi chép Jupyter mà chúng tôi sẽ sử dụng. Nhập các mô -đunTrước hết, chúng tôi nhập các mô -đun sau chúng tôi sẽ sử dụng.
import pandas as pd Cài đặt hiển thị trong Notebook JupyterTiếp theo, chúng tôi sẽ thay đổi số lượng hàng và cột được hiển thị của Pandas DataFrame trong Notebook Jupyter. Trong ví dụ này, chúng tôi đã đặt cả số lượng hàng và cột được hiển thị thành 50: pd.set_option('display.max_rows', 50) Đọc tập dữ liệuỞ đây chúng tôi đọc dữ liệu mà chúng tôi sẽ xem xét. Một ví dụ, bộ dữ liệu nhà ở Boston từ Scikit-Learn sẽ được sử dụng thông qua bài đăng này: boston = load_boston() Đọc dữ liệu CSVNói chung, bạn sẽ đọc dữ liệu thông qua các tệp CSV hoặc Excel và đây là cách thực hiện: df_X = pd.read_csv('boston_X.csv')
df_X = pd.read_csv('boston_X_noheader.csv', header=None)
df_X = pd.read_csv('boston_X_withindex.csv', index_col=k) Đọc dữ liệu ExcelPandas cũng có thể chấp nhận các tệp Excel (.xlsx): df_X = pd.read_excel('boston_X.xlsx')
df_X = pd.read_excel('boston.xlsx', sheet_name='sheet_X') Tổng quan về dữ liệuTrong phần này, chúng tôi sẽ xem xét tổng quan về DataFrame bạn đã đọc. Ở đây, chúng tôi đọc lại dữ liệu mới. Tuy nhiên, một số phần của dữ liệu đã được sửa đổi một cách có chủ ý cho thực tiễn.some parts of the data have been intentionally modified for the practice. df_X = pd.read_csv('boston_X_mod.csv') Hình dạng Kiểm tra số lượng hàng và cột của DataFrame bằng cách sử dụng hình dạng hình chữ nhật. Trong ví dụ này, nó là 509 hàng * 15 cột. df_X.shape Đầu, đuôiKiểm tra các hàng X đầu tiên và nội dung hàng Y cuối cùng bằng cách sử dụng đầu và đuôi đuôi. pd.set_option('display.max_rows', 50) 0Nhận tên cộtpd.set_option('display.max_rows', 50) 1Nếu bạn muốn làm danh sáchpd.set_option('display.max_rows', 50) 2Các hàng, cột trùng lặpĐôi khi, bạn sẽ đối mặt với các hàng hoặc cột trùng lặp. (Đáng ngạc nhiên!) Trong thực tế, bộ dữ liệu đôi khi được thực hiện hoặc thường được kết hợp và sửa chữa bằng bàn tay con người. Do đó, chúng tôi phải kiểm tra cẩn thận các bản sao mỗi lần. Hàng (chỉ mục)Làm thế nào để hiển thị các hàng trùng lặp? Đây là cách làm.
pd.set_option('display.max_rows', 50) 3
pd.set_option('display.max_rows', 50) 4
pd.set_option('display.max_rows', 50) 5Như đã chỉ ra ở trên, vì bộ dữ liệu được sử dụng trong bài đăng này đã được sửa đổi một cách có chủ ý, một số hàng trùng lặp xuất hiện. Trong trường hợp này, chúng tôi đã tìm thấy 3 cặp hàng trùng lặp: 303 và 508; 368 và 507; 453 và 506. cộtChúng ta có thể tìm thấy các cột trùng lặp theo cách tương tự như chúng ta đã làm cho các hàng bằng cách sử dụng ma trận chuyển vị. Hiển thị tất cả các cột của các cột trùng lặp: pd.set_option('display.max_rows', 50) 6Chúng tôi đã tìm thấy các cột trùng lặp về thuế và thử nghiệm, mà tôi đã cố tình tạo ra. Chúng tôi cũng chỉ có thể hiển thị các cột đầu tiên hoặc cuối cùng như chúng tôi đã làm cho các hàng. Cột của thử nghiệm trên mạng được loại bỏ sau. Giá trị bị mấtKiểm tra các giá trị bị thiếuMột vấn đề khác của bộ dữ liệu thô là các giá trị bị thiếu. Đầu tiên, chúng tôi xem xét nơi các giá trị còn thiếu đang sử dụng PD.isnull. Nó trả về một dataFrame ở định dạng Boolean. Ngoài ra, chúng ta có thể truy xuất các hàng và cột tương ứng bằng cách sử dụng NP NP.where,: pd.set_option('display.max_rows', 50) 7Chúng tôi tìm thấy các giá trị bị thiếu định vị [296, 12], [308, 6], [494, 7]. Kiểm tra chúng chỉ trong trường hợp: Chúng tôi xác nhận đây là những giá trị bị thiếu. Điền vào BlancThứ hai, chúng ta phải thay thế các giá trị bị thiếu này bằng một số giá trị thay thế, có thể là giá trị trung bình hoặc trung bình trong cùng một cột hoặc chỉ 0 (phần này là thời điểm tốt để hiển thị các kỹ năng của bạn với tư cách là nhà khoa học dữ liệu!). Sử dụng thay thế trên mạng, có thể thay thế Blanc bằng các chữ cái và số được chỉ định. Ở đây chúng tôi chỉ điền vào các số không cho các giá trị bị thiếu này như một trường hợp đơn giản: pd.set_option('display.max_rows', 50) 8Chúng tôi chỉ đảm bảo các giá trị bị thiếu được thay thế bằng Zeros: Kiểm tra các loại biến và cách tìm lỗi chính tảTiếp theo, chúng tôi sẽ kiểm tra các loại biến cho mỗi cột. Kiểm tra các loại biến không chỉ chỉ dành cho việc kiểm tra trên mạng. Nó rất hữu ích để kiểm tra xem bộ dữ liệu có bao gồm một lỗi đánh máy hay không, đặc biệt là đối với các giá trị số. Theo kinh nghiệm của tôi, loại sai lầm này đã xảy ra nhiều lần. Tiết DTYPES Tiết lộ các loại biến cho tất cả các cột: pd.set_option('display.max_rows', 50) 9Có vẻ như các cột của Dis Dis (khoảng cách có trọng số đến năm trung tâm việc làm của Boston) và B Biêu (1000 (BK - 0,63) ² trong đó BK là tỷ lệ của người da đen theo thị trấn) không phải là cột số. Nhưng chờ đợi, chỉ cần kiểm tra lại dữ liệu! Như bạn có thể thấy, các cột của dis dis dis dis và bv bao gồm các giá trị số ít nhất là 5 hàng đầu tiên. Nó có nghĩa là một số yếu tố khác với giá trị số được bao gồm trong các cột này. Ở đây, tôi sẽ chỉ cho bạn cách tìm thấy chúng. Đầu tiên, xác định danh sách các cột đáng ngờ trong col_miss. Và sau đó, trích xuất các giá trị duy nhất trong cột và cố gắng chuyển đổi từng giá trị thành dữ liệu số. Nếu các giá trị được biểu thị đúng là các giá trị số, chúng ta chỉ cần bỏ qua chúng. Tuy nhiên, nếu các giá trị không thể được chuyển đổi chính xác, chúng tôi sẽ hiển thị các giá trị đó: boston = load_boston() 0Từ kết quả, chúng tôi đã tìm thấy lỗi chính tả là 1..7554 trong DIS và 396.9.9 trong B. Các giá trị chính xác sẽ lần lượt là 1.7554 và 396,99. Đó là lý do tại sao, chúng tôi sẽ sửa các giá trị sau: boston = load_boston() 1
Đối với các cột của dis dis dis dis và bv, hãy chuyển đổi chúng thành định dạng float, đây là loại dữ liệu gốc sử dụng trên Ast Astype,: boston = load_boston() 2Số lượng giá trị duy nhấtỞ đây chúng ta thấy có bao nhiêu giá trị khác nhau (số lượng giá trị duy nhất) được chứa trong mỗi cột bằng cách sử dụng Nun Nunique,: boston = load_boston() 3Từ những kết quả này, chúng ta có thể thấy rằng Crim có 504 giá trị khác nhau, trong khi Chas chỉ bao gồm hai giá trị khác nhau, điều này khẳng định các biến giả. Mối quan hệ theo tỷ lệỞ trên, chúng tôi đã xác nhận các bản sao, các giá trị bị thiếu và lỗi chính tả. Tuy nhiên, ngay cả khi các số không khớp chính xác giữa hai cột, một số cặp cột đôi khi tỷ lệ hoàn toàn với nhau. Ở đây, chúng tôi kiểm tra xem loại cặp cột này có được bao gồm trong DataFrame hay không bằng cách chuẩn hóa các giá trị cho mỗi cột bằng cách sử dụng Min MinMaxScaler,: boston = load_boston() 4Từ đầu ra, chúng tôi thấy rằng, Test Test2 (được bao gồm một cách có chủ ý) tỷ lệ thuận với RM RM. Trong học máy, một tính năng tỷ lệ như vậy có nghĩa là trùng lặp, vì vậy chúng ta cần loại bỏ một trong số chúng. Thả cộtỞ đây, chúng tôi xóa các cột trùng lặp, thử nghiệm và thử nghiệm mà chúng tôi đã tìm thấy trước đó, sử dụng Drop Drop :( Axis = 1 có nghĩa là xóa theo hướng cột) boston = load_boston() 5Mô tảSau khi làm cho DataFrame sạch sẽ, chúng tôi rút ra các tham số thống kê cơ bản như giá trị trung bình, độ lệch chuẩn, giá trị tối đa và tối thiểu, cho mỗi cột của DataFrame bằng cách sử dụng mô tả. boston = load_boston() 6Xuất khẩuSau khi xử lý dữ liệu, chúng ta muốn làm gì? Tất nhiên, hãy cứu họ! Đây là cách xuất DataFrame dưới dạng các tệp CSV và Excel.
boston = load_boston() 7
boston = load_boston() 8Đó là về nó!Cảm ơn bạn đã đọc bài viết này và hy vọng bạn thích nó. Tôi rất vui khi nhận được bất kỳ bình luận nào từ tất cả các bạn! MãLiên kếtCác bài viết khácTrang web cá nhân5 bước chính của tiền xử lý dữ liệu là gì?Các bước tiền xử lý dữ liệu.. Đánh giá chất lượng dữ liệu .. Làm sạch dữ liệu .. Chuyển đổi dữ liệu .. Giảm dữ liệu .. Các bước trong tiền xử lý dữ liệu trong Python là gì?Cách xử lý dữ liệu trong từng bước của Python.. Tải dữ liệu trong gấu trúc .. Thả các cột không hữu ích .. Thả hàng với các giá trị bị thiếu .. Tạo các biến giả .. Chăm sóc dữ liệu bị thiếu .. Chuyển đổi khung dữ liệu thành Numpy .. Chia tập dữ liệu thành dữ liệu đào tạo và dữ liệu kiểm tra .. Bốn bước trong tiền xử lý dữ liệu là gì?Để làm cho quá trình dễ dàng hơn, tiền xử lý dữ liệu được chia thành bốn giai đoạn: làm sạch dữ liệu, tích hợp dữ liệu, giảm dữ liệu và chuyển đổi dữ liệu.data cleaning, data integration, data reduction, and data transformation.
Làm thế nào để bạn thực hành tiền xử lý dữ liệu?Tiền xử lý dữ liệu trong học máy: 7 bước dễ theo dõi.. Có được bộ dữ liệu .. Nhập tất cả các thư viện quan trọng .. Nhập bộ dữ liệu.Các khóa học học máy tốt nhất & khóa học AI trực tuyến .. Xác định và xử lý các giá trị còn thiếu .. Mã hóa dữ liệu phân loại..... Chia bộ dữ liệu .. Tính năng tỷ lệ .. |