В реальных данных много пропущенных значений. Получение согласованных качественных данных без пропущенных значений — большая головная боль. Причиной отсутствия значений может быть повреждение данных, невозможность записи данных и многое другое.

Пример из практики.Например, для опроса о депрессии мы можем предположить все причины отсутствия значений. Вот их немного.

1. нерешительность предоставить информацию

2. Информация в опросе не соответствует действительности

3. Мужчины не заинтересованы в раскрытии зарплаты

4. Не раскрывать возраст женщины

5. Возможно, погибли люди

Из-за всех этих причин уважаемые столбцы будут заполнены Нэн, и эти причины различны для разных случаев.

Далее, каково влияние??

Пропущенные значения оказывают существенное влияние на выводы, которые можно сделать из данных. Если пропущенные значения не обрабатываются должным образом, мы в конечном итоге делаем неточный вывод о данных.

Итак, прежде чем приступить к построению модели, мы должны позаботиться о пропущенных значениях на этапе предварительной обработки, потому что многие алгоритмы машинного обучения не поддерживают пропущенные значения, и для получения значимых выводов/пониманий из данных это необходимо.

Здесь для иллюстрации использовался знаменитый набор данных «Титаник», при этом учитывались только столбцы «Возраст» и «Сохранившиеся».

В наборе данных атрибут Age содержит 177 отсутствующих значений. Я рассматриваю данные из индекса от 16 до 21, чтобы получить 2 значения NaN вместе.

Начнем!!!

Pandas метод fillna() используется для вменения пропущенных значений

Примечание. В некоторых случаях мы не беспокоимся об отсутствующих значениях, потому что некоторые алгоритмы могут эффективно обрабатывать отсутствующие значения , поэтому это можно рассматривать как ничегонеделание.

  1. Ноль: нулевое значение будет заполнено вместо отсутствующих значений.

2. Постоянное значение/конкретное число. Предположим, что в этом методе вы вычислили число на основе некоторого анализа, а затем можете заполнить его этим числом. Это также называется вменением с постоянным числом.

Здесь постоянное число/конкретное число равно 15.

3. Максимальное число:отсутствующие значения заполняются максимальным значением столбца. Функция Max() используется для получения максимального значения столбца.

4 . Минимальное значение:отсутствующие значения заполняются минимальным значением столбца. Функция Min() используется для получения минимального значения столбца.

5. Среднее. Это наиболее часто используемый метод условного исчисления среди аналитиков, специалистов по данным и многих других. Здесь пропущенные значения заполняются средним значением столбца. Среднее значение получается из метода, называемого mean()

Примечание. Для симметричного распределения данных это вменение работает очень хорошо.

6. Мода.Мода — это число с максимальной частотой или, другими словами, наиболее часто встречающийся номер столбца. Пропущенные значения заполняются наиболее часто встречающимся числом в столбце. Это может быть достигнуто с помощью метода, называемого mode().

Примечание. Это лучший способ импутации категориальных признаков.

7.Медиана: это второй наиболее часто используемый метод вменения. Метод Median() используется для получения медианного значения столбца. Наличие выбросов в наших наборах данных может разрушить среднее значение данных, поэтому лучше заполнить пропущенные значения медианой, чтобы контролировать выбросы.

8. Заполнение вперед/Заполнение назад : Заполнение вперед и назад аналогично заполнению с постоянным значением. Вместо случайного постоянного числа в каком-либо анализе мы заполняем следующим или предыдущим значением для этого значения Nan, присутствующего в столбце.

для 19-го индекса значение прямого заполнения будет 35, а для обратного заполнения 31.

9. Dropna :функция dropna() Pandas используется для удаления столбцов и строк со значениями null/Nan. Удаление столбцов не является предпочтительным, так как оно содержит некоторую информацию, но если у вас есть столбцы с нулевой дисперсией, а общий уровень пропущенных значений составляет около 2%, 3%, мы можем удалить столбцы.

На приведенном выше рисунке столбец Age удален, так как он содержит пропущенные значения. Если мы не хотим удалять столбцы, но хотим, чтобы были удалены строки, это можно сделать, как показано ниже.

17-й и 19-й ряды удалены.

Я надеюсь, что эта статья поможет новичкам, потому что, когда я начал изучать машинное обучение, я действительно понятия не имел, для какого типа данных мы должны использовать какой метод вменения.

Спасибо за чтение…