Задать вопрос
ChicoId
@ChicoId
IT Specialist

Как обработать null значения переменных в регрессии (машинное обучение)?

Я пытаюсь провести регрессионный анализ. Имеется множество переменных (multiple feature regression). Некоторым переменным для некоторого элемента данных не присвоено значение и они установлены в null. Для наглядности картинка:
77408207e20f46d1aa23b663b165e25b.jpg

Как можно увидеть, некоторые элементы не имеют значений для определенных категорий (features). На данный момент, я установил их в Null. Но как следует обработать такие значения при выполнении регрессии данных? Я бы не хотел чтобы эти Null значения плохо повлияли на регрессионную модель. К сожалению, удалить элементы, которые в какой-либо из категорий содержать Null, я не могу. Для построения регрессии я использую Python.
  • Вопрос задан
  • 621 просмотр
Подписаться 3 Оценить Комментировать
Решения вопроса 2
angrySCV
@angrySCV
machine learning, programming, startuping
вы как исследователь данных сами должны решить что делать с пропусками,
обычно есть несколько типовых вариантов:
1. выкинуть эти данные (не подходит если очень мало данных, и каждые на вес золота)
2. заполнить какими-нибудь значениями типовыми, например нулями (если речь о количестве например) , или средними значениями если например это год (писать например 2005)
3. восстановить эти данные (для этого уже нужны определённые подходы и алгоритмы. например, используя соседей, к-mean, коллаборативной фильтрацией.)
у вас вобще тут совсем простая задача -> предположительно цена это результат комбинации набора параметров.
отсюда вы можете оценить влияние каждого параметра на цену. особенно имея схожие значения.
начинайте сначала с простых вещей -> там где CONDITION NEW -> очевидно что YEAR = ~ 2015
потом можно составить систему уравнений -> типа
YEAR*x+Storey*y+Area*z+Condition*n+Type*m+District*k=PRICE
можно легко составить систему из 5 уровнений, и найти коэффициэнты любым удобным для вас способом например Гауссом.
(PS если данных мало то district можно пренебречь)
Ответ написан
@SeptiM
В первом приближении NULL's можно заменить средним значением или медианой. Если хочется лучше, можно попробовать угадать значения через дополнительную регрессию. Еще более тонкий метод через создание нескольких версий оригинальных данных (см. multiple imputation).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы