Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python

Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python

Các giá trị bị thiếu là phổ biến trong việc xử lý các vấn đề trong thế giới thực khi dữ liệu được tổng hợp trong thời gian dài từ các nguồn khác nhau và mô hình học máy học đáng tin cậy yêu cầu xử lý cẩn thận dữ liệu bị thiếu. Một chiến lược là đưa ra các giá trị bị thiếu và nhiều thuật toán tồn tại kéo dài nội suy đơn giản (trung bình. Trung bình, chế độ), các phương pháp nhân tố ma trận như SVD, mô hình thống kê như bộ lọc Kalman và phương pháp học sâu. Thiếu giá trị cắt bỏ hoặc thay thế các kỹ thuật giúp các mô hình học máy học hỏi từ dữ liệu không đầy đủ. Có ba kỹ thuật cắt giảm giá trị chính - trung bình, trung bình và chế độ. Giá trị trung bình là trung bình của tất cả các giá trị trong một tập hợp, trung bình là số giữa trong một tập hợp các số được sắp xếp theo kích thước và chế độ là giá trị số phổ biến nhất cho hai hoặc nhiều bộ.

Trong bài đăng trên blog này, bạn sẽ tìm hiểu về cách áp đặt hoặc thay thế các giá trị bị thiếu & nbsp; với & nbsp; trung bình, trung bình & nbsp; và & nbsp; mode & nbsp; trong một hoặc nhiều cột tính năng số của gấu trúc & nbsp; . Bạn cũng sẽ tìm hiểu về cách quyết định sử dụng kỹ thuật nào để đưa ra các giá trị bị thiếu với các biện pháp xu hướng trung tâm của cột tính năng như trung bình, trung bình hoặc chế độ. Điều này rất quan trọng để hiểu kỹ thuật này cho các nhà khoa học dữ liệu khi xử lý các giá trị thiếu một trong những khía cạnh chính của tiền xử lý dữ liệu khi đào tạo các mô hình ML.how to impute or replace missing values  with mean, median and mode in one or more numeric feature columns of Pandas DataFrame while building machine learning (ML) models with Python programming. You will also learn about how to decide which technique to use for imputing missing values with central tendency measures of feature column such as mean, median or mode. This is important to understand this technique for data scientists as handling missing values one of the key aspects of data preprocessing when training ML models.

Bộ dữ liệu được sử dụng cho mục đích minh họa là tuyển dụng trường liên quan và được lấy từ trang Kaggle về tuyển dụng khuôn viên trường. & NBSP; Bước đầu tiên, tập dữ liệu được tải. Dưới đây là mã Python để tải bộ dữ liệu sau khi bạn tải xuống trên hệ thống của mình.

import pandas as pd
import numpy as np

df = pd.read_csv("/Users/ajitesh/Downloads/Placement_Data_Full_Class.csv")

df.head()

Đây là những gì dữ liệu trông như thế nào. Ghi lại giá trị NAN trong cột Mức lương.NaN value under the salary column.

Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python
Hình 1. Bộ dữ liệu vị trí để xử lý các giá trị bị thiếu bằng cách sử dụng trung bình, trung bình hoặc chế độ

Các giá trị bị thiếu được xử lý bằng các kỹ thuật nội suy khác nhau ước tính các giá trị bị thiếu từ các ví dụ đào tạo khác. Trong bộ dữ liệu trên, các giá trị bị thiếu được tìm thấy trong cột Mức lương. Lệnh như df.isnull (). Sum () in cột có giá trị bị thiếu. Các giá trị còn thiếu trong cột Mức lương trong ví dụ trên có thể được thay thế bằng các kỹ thuật sau:interpolation techniques which estimate the missing values from the other training examples. In the above dataset, the missing values are found in the salary column. The command such as df.isnull().sum() prints the column with missing value. The missing values in the salary column in the above example can be replaced using the following techniques:

  • Giá trị trung bình của các giá trị tiền lương khác
  • Giá trị trung bình của các giá trị tiền lương khác
  • Chế độ (thường xuyên nhất) giá trị của các giá trị tiền lương khác.
  • Giá trị hiện có

Trong bài đăng này, phương thức fillna () trên khung dữ liệu được sử dụng để buộc các giá trị bị thiếu với giá trị trung bình, trung bình, chế độ hoặc không đổi. Tuy nhiên, bạn cũng có thể muốn kiểm tra bài đăng có liên quan có tiêu đề Tắt dữ liệu bị thiếu bằng Sklearn Simplimimputer trong đó sklearn.impute.simpleimputer được sử dụng để thiếu giá trị sử dụng giá trị trung bình, trung bình, chế độ hoặc giá trị không đổi. Lớp & nbsp; ________ 3 & nbsp; cung cấp các chiến lược cơ bản để đưa ra các giá trị bị thiếu. Các giá trị bị thiếu có thể được buộc tội với giá trị không đổi được cung cấp hoặc sử dụng số liệu thống kê (trung bình, trung bình hoặc thường xuyên nhất) của mỗi cột trong đó các giá trị bị thiếu được đặt. Bạn cũng có thể muốn kiểm tra bài viết của Scikit-learn-buộc tội các giá trị bị thiếu.fillna() method on the data frame is used for imputing missing values with mean, median, mode or constant value. However, you may also want to check out the related post titled imputing missing data using Sklearn SimpleImputer wherein sklearn.impute.SimpleImputer is used for missing values imputation using mean, median, mode, or constant value. The SimpleImputer class provides basic strategies for imputing missing values. Missing values can be imputed with a provided constant value, or using the statistics (mean, median, or most frequent) of each column in which the missing values are located. You may also want to check out the Scikit-learn article – Imputation of missing values.

  • Làm thế nào để quyết định sử dụng kỹ thuật cắt bỏ nào?
  • Áp đặt / thay thế các giá trị bị thiếu bằng giá trị trung bình
  • Áp đặt / thay thế các giá trị bị thiếu bằng trung bình
  • Áp đặt / thay thế các giá trị bị thiếu bằng chế độ
  • Làm một bài kiểm tra
      • Điều nào sau đây không phải là một kỹ thuật được đề xuất để đưa ra các giá trị bị thiếu khi phân phối dữ liệu bị sai lệch?
      • Những lô nào sau đây có thể được sử dụng để xác định kỹ thuật thích hợp nhất để thiếu giá trị?
      • Đối với phân phối dữ liệu sai lệch, có thể sử dụng (các) kỹ thuật nào sau đây?
      • Đối với các tính năng phân loại, kỹ thuật nào sau đây có thể được sử dụng?
  • Sự kết luận

Làm thế nào để quyết định sử dụng kỹ thuật cắt bỏ nào?

Áp đặt / thay thế các giá trị bị thiếu bằng giá trị trung bìnhbetter measure of the central tendency of data and use that value for replacing missing values appropriately.

Áp đặt / thay thế các giá trị bị thiếu bằng trung bìnhbox plots and distribution plots come very handily in deciding which techniques to use. You can use the following code to print different plots such as box and distribution plots.

import seaborn as sns
#
# Box plot
#
sns.boxplot(df.salary)
#
# Distribution plot
#
sns.distplot(df.salary)

Áp đặt / thay thế các giá trị bị thiếu bằng chế độYou may note that the data is skewed. There are several or large numbers of data points that act as outliers. Outliers data points will have a significant impact on the mean and hence, in such cases, it is not recommended to use the mean for replacing the missing values. Using mean values for replacing missing values may not create a great model and hence gets ruled out. For symmetric data distribution, one can use the mean value for imputing missing values.

Do đó, người ta có thể muốn sử dụng trung bình hoặc chế độ. Dưới đây là một trang tuyệt vời về Hiểu Boxplots.

Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python
Hình 1. Boxplot để quyết định sử dụng trung bình, chế độ hoặc trung bình để cắt bỏ

Bạn cũng có thể quan sát một mô hình tương tự từ lô phân phối âm mưu. Người ta có thể quan sát rằng có một số cá nhân có thu nhập cao trong các điểm dữ liệu. Dữ liệu có vẻ bị hỏng phải (đuôi dài ở bên phải). Đây là cách cốt truyện trông như thế nào.

Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python
Hình 2. Biểu đồ phân phối để quyết định kỹ thuật cắt bỏ

Kỹ thuật đơn giản nhất trong tất cả là thay thế dữ liệu bị thiếu bằng một số giá trị không đổi. Giá trị có thể là bất kỳ số nào có vẻ phù hợp.

Áp đặt / thay thế các giá trị bị thiếu bằng giá trị trung bình

Một trong những kỹ thuật là sự cắt giảm trung bình trong đó các giá trị bị thiếu được thay thế bằng giá trị trung bình của toàn bộ cột tính năng. Trong trường hợp các trường như tiền lương, dữ liệu có thể bị sai lệch như trong phần trước. Trong những trường hợp như vậy, có thể không phải là một ý tưởng tốt để sử dụng các ý nghĩa để thay thế các giá trị bị thiếu. Lưu ý rằng việc buộc dữ liệu bị thiếu với các giá trị trung bình chỉ có thể được thực hiện với dữ liệu số.numerical data.

Áp đặt / thay thế các giá trị bị thiếu bằng trung bình

Một kỹ thuật khác là cắt giảm trung bình trong đó các giá trị bị thiếu được thay thế bằng giá trị trung bình của toàn bộ cột tính năng. Khi dữ liệu bị sai lệch, thật tốt khi xem xét sử dụng giá trị trung bình để thay thế các giá trị bị thiếu. Lưu ý rằng việc buộc dữ liệu bị thiếu với giá trị trung bình chỉ có thể được thực hiện với dữ liệu số.median imputation in which the missing values are replaced with the median value of the entire feature column. When the data is skewed, it is good to consider using the median value for replacing the missing values. Note that imputing missing data with median value can only be done with numerical data.

Áp đặt / thay thế các giá trị bị thiếu bằng chế độ

Tuy nhiên, một kỹ thuật khác là việc cắt bỏ chế độ trong đó các giá trị bị thiếu được thay thế bằng giá trị chế độ hoặc giá trị thường xuyên nhất của toàn bộ cột tính năng. Khi dữ liệu bị sai lệch, thật tốt khi xem xét sử dụng các giá trị chế độ để thay thế các giá trị bị thiếu. Đối với các điểm dữ liệu như trường lương, bạn có thể xem xét sử dụng chế độ để thay thế các giá trị. Lưu ý rằng việc buộc dữ liệu bị thiếu với các giá trị chế độ có thể được thực hiện với dữ liệu số và phân loại.mode imputation in which the missing values are replaced with the mode value or most frequent value of the entire feature column. When the data is skewed, it is good to consider using mode values for replacing the missing values. For data points such as the salary field, you may consider using mode for replacing the values. Note that imputing missing data with mode values can be done with numerical and categorical data.

Dưới đây là mẫu mã Python trong đó cột Mức lương được thay thế thay cho các giá trị bị thiếu trong cột:mode of salary column is replaced in place of missing values in the column:

df['salary'] = df['salary'].fillna(df['salary'].mode()[0])

Dưới đây là cách khung dữ liệu trông giống như (df.head ()) sau khi thay thế các giá trị bị thiếu của cột lương bằng giá trị chế độ. Lưu ý giá trị của 30000 ở hàng thứ tư trong cột Mức lương. 30000 là Chế độ của cột Mức lương có thể được tìm thấy bằng cách thực thi các lệnh như df.salary.mode ()df.head())after replacing missing values of the salary column with the mode value. Note the value of 30000 in the fourth row under the salary column. 30000 is the mode of salary column which can be found by executing commands such as df.salary.mode()

Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python
Hình 4. Giá trị chế độ 30000 được thay thế NAN ở hàng thứ 4 dưới cột lương

Bạn có thể muốn kiểm tra hai bài viết liên quan khác khi xử lý dữ liệu bị thiếu:

  • Thiếu các kỹ thuật cắt bỏ dữ liệu trong học máy
  • Cắt bỏ dữ liệu bị thiếu bằng cách sử dụng sklearn đơn giản

Làm một bài kiểm tra

Thực hiện một bài kiểm tra nhanh để kiểm tra sự hiểu biết của bạn về các khái niệm liên quan đến việc đưa ra các giá trị bị thiếu với giá trị trung bình, trung bình hoặc chế độ.

Điều nào sau đây không phải là một kỹ thuật được đề xuất để đưa ra các giá trị bị thiếu khi phân phối dữ liệu bị sai lệch?

Thay thế các giá trị bị thiếu bằng giá trị trung bình

Thay thế các giá trị bị thiếu bằng trung bình

Thay thế các giá trị bị thiếu bằng chế độ

Những lô nào sau đây có thể được sử dụng để xác định kỹ thuật thích hợp nhất để thiếu giá trị?

Âm mưu hộp

Âm mưu phân phối

Cả hai ở trên

Đối với phân phối dữ liệu sai lệch, có thể sử dụng (các) kỹ thuật nào sau đây?

Sử dụng trung bình

Chế độ sử dụng

Sử dụng cả trung bình và chế độ

Đối với các tính năng phân loại, kỹ thuật nào sau đây có thể được sử dụng?

Sử dụng nghĩa là

Sử dụng trung bình

Chế độ sử dụng

Sử dụng cả trung bình và chế độ

Đối với các tính năng phân loại, kỹ thuật nào sau đây có thể được sử dụng?

  • Sử dụng nghĩa làcentral tendency measures such as mean, median or mode of the numeric feature column to replace or impute missing values.
  • Chế độ sử dụng
  • Sự kết luận
  • Trong bài đăng này, bạn đã tìm hiểu về một số điều sau đây:fillna can be used to replace the missing values.
  • Bạn có thể sử dụng các biện pháp xu hướng trung tâm như trung bình, trung bình hoặc chế độ của cột tính năng số để thay thế hoặc áp đặt các giá trị bị thiếu.mean(), median() and mode() can be used on Dataframe for finding their values.

  • Bạn có thể sử dụng giá trị trung bình để thay thế các giá trị bị thiếu trong trường hợp phân phối dữ liệu là đối xứng.
  • Xem xét sử dụng trung bình hoặc chế độ với phân phối dữ liệu sai lệch.

Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python

Phương pháp DataFrame của Pandas trong Python như Fillna có thể được sử dụng để thay thế các giá trị bị thiếu.

Các phương thức như trung bình (), trung bình () và mode () có thể được sử dụng trên dataFrame để tìm giá trị của chúng.

Hướng dẫn replace missing values with mode in python - thay thế các giá trị bị thiếu bằng chế độ trong python

Ajitesh Kumar

Gần đây tôi đã làm việc trong lĩnh vực phân tích dữ liệu bao gồm khoa học dữ liệu và học máy / học sâu. Tôi cũng đam mê các công nghệ khác nhau bao gồm các ngôn ngữ lập trình như Java/JEE, JavaScript, Python, R, Julia, v.v. vv Để cập nhật và blog mới nhất, hãy theo dõi chúng tôi trên Twitter. Tôi rất thích kết nối với bạn trên LinkedIn. Kiểm tra cuốn sách mới nhất của tôi có tiêu đề là Nguyên tắc đầu tiên suy nghĩ: Xây dựng các sản phẩm chiến thắng bằng cách sử dụng suy nghĩ nguyên tắc đầu tiên

Làm thế nào để bạn thay thế các giá trị bị thiếu trong Python bằng chế độ?

Phương pháp DataFrame của Pandas trong Python như Fillna có thể được sử dụng để thay thế các giá trị bị thiếu. Các phương thức như trung bình (), trung bình () và mode () có thể được sử dụng trên dataFrame để tìm giá trị của chúng.. Methods such as mean(), median() and mode() can be used on Dataframe for finding their values.

Làm thế nào để bạn áp đặt các giá trị bị thiếu với chế độ?

Mã Python: Xử lý dữ liệu bị thiếu..
Nhập và đọc tập tin. Nhập GANDAS dưới dạng nhập khẩu PD Numpy như NP Nhập matplotlib. ....
Kiểm tra xem có bao nhiêu giá trị NAN. DF. ....
Thay thế dữ liệu bị thiếu bằng một giá trị trung bình. ....
Tìm trung vị và thay thế các giá trị NAN bằng giá trị trung bình. ....
Thay thế NAN bằng giá trị chế độ ..

Fillna () làm gì trong Python?

Phương thức fillna () thay thế các giá trị null bằng một giá trị được chỉ định.Phương thức fillna () trả về một đối tượng DataFrame mới trừ khi tham số tại chỗ được đặt thành true, trong trường hợp đó, phương thức fillna () thực hiện thay thế trong dataFrame gốc.replaces the NULL values with a specified value. The fillna() method returns a new DataFrame object unless the inplace parameter is set to True , in that case the fillna() method does the replacing in the original DataFrame instead.

Làm thế nào để bạn thay thế các giá trị bị thiếu trong một tập dữ liệu?

Sử dụng phương thức fillna (): hàm fillna () lặp lại thông qua bộ dữ liệu của bạn và điền vào tất cả các hàng null với một giá trị được chỉ định.Nó chấp nhận một số đối số tùy chọn, ghi chú của các đối số sau: Giá trị: Đây là giá trị bạn muốn chèn vào các hàng bị thiếu.Phương pháp: Cho phép bạn điền vào các giá trị bị thiếu về phía trước hoặc ngược lại.: The fillna() function iterates through your dataset and fills all null rows with a specified value. It accepts some optional arguments—take note of the following ones: Value: This is the value you want to insert into the missing rows. Method: Lets you fill missing values forward or in reverse.