2015-03-13 2 views
0

Я изучаю, как делать интеллектуальный анализ данных, и я использую этот набор данных на веб-сайте UCI.Data mining with Weka

http://archive.ics.uci.edu/ml/datasets/Forest+Fires

Проблема я встретив, как иметь дело с классом области. Мое понимание из описания состоит в том, что мне нужно применить ln (x + 1) к области с помощью AddExpression.

Я иду в правильном направлении с этим? Или есть другие фильтры, которые я должен исследовать? Спасибо.

ответ

0

Я стараюсь ответить на ваш вопрос на основе небольшой информации, которую вы предоставляете. И я не работал с набором данных о лесных пожарах, но по проверке вижу, что атрибут «область» классификатора часто имеет значение 0. Возможно, вы не можете просто отфильтровать эти строки с помощью области = 0. Ваш набор данных может становятся слишком маленькими или еще много чего.

Я думаю, вас попросят выполнить регрессию некоторого атрибута (-ов) против «log (area)», чтобы линеаризовать его. Однако, когда вы пытаетесь вычислить журнал области, значения, такие как log (0), являются проблемой. значения между 0 и 1 также могут быть проблематичными.

Так что общее исправление заключается в добавлении 1 к значению «Площадь». Это приводит к систематической ошибке, но она небольшая, и она удаляет все 0-значения, и вы все же можете получить полезные модели из вашего логарифмического (x + 1) -трансформированного набора данных.

И да, в Weka вы делаете это с помощью «Preprocess»/AddExpression (x + 1). Это создает новый атрибут. Затем вы можете удалить атрибут старой области.

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