Первичная обработка Людвига - PullRequest
1 голос
/ 02 июля 2019

Я управляю моделью с Людвигом .

Набор данных Перепись взрослых :

Функции

рабочий класс имеет почти 70% экземпляров Private, неизвестное (?) Может быть вменено в это значение.

native_country , 90% экземпляровСоединенные Штаты, которые можно использовать для вменения неизвестных (?) значений.То же самое нельзя сказать о столбце «Занятость», так как значения более распределены.

capital_gain имеет 72% экземпляров с нулевыми значениями для менее 50 КБ и 19% экземпляров с нулевыми значениями для> 50 КБ.

capital_loss имеет 73% экземпляров с нулевыми значениями для менее 50 КБ и 21% экземпляров с нулевыми значениями для> 50 КБ.

Когда я определяю модель, каков наилучший способсделать это для описанных выше случаев?

{
  "name": "workclass",
  "type": "category"
  "preprocessing": {
    "missing_value_strategy": "fill_with_mean"
  }
},
{
  "name": "native_country",
  "type": "category"
  "preprocessing": {
    "missing_value_strategy": "fill_with_mean"
  }
},
{
  "name": "capital_gain",
  "type": "numerical"
  "preprocessing": {
    "missing_value_strategy": "fill_with_mean",       
  }
},
{
  "name": "capital_loss",
  "type": "numerical"
  "preprocessing": {
    "missing_value_strategy": "fill_with_mean"
  }
},

Вопросы:

1) Для функций категории как определить: Если вы найдете? замените его на X.

2) Для числовых функций как определить: если вы найдете 0, замените его на среднее?

1 Ответ

1 голос
/ 03 июля 2019

В настоящее время Людвиг рассматривает пропущенные значения в файле CSV, например, с двумя последовательными запятыми для его стратегий замены.В вашем случае я бы предложил провести минимальную предварительную обработку вашего набора данных, заменив нули и?с отсутствующими значениями или в зависимости от типа объекта.Вы можете легко сделать это в пандах с чем-то вроде: df[df.my_column == <value>].my_column = <new_value>.Альтернатива состоит в том, чтобы выполнить замену уже в вашем коде (например, заменяя 0 на средние), чтобы Людвиг не делал этого, и у вас был полный контроль над стратегией замены.

...