Data Mining из песочницы |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2016-06-07 14:50 Недавно я озадачился поиском б.у. автомобиля, взамен только что проданного, и, как это обычно бывает, на эту роль претендовали несколько конкурентов. Сбор данных Данные я собирал со всех описанных выше ресурсов, а интересовали меня следующие параметры:
Незаполненные ленивыми продавцами данные я отмечал как NA (Not Available), чтобы можно было корректно обрабатывать эти значения с помощью R. Визуализация полученных данных Дабы не вдаваться в сухую теорию, давайте рассмотрим конкретный пример, будем искать выгодные Mercedes-Benz E-klasse не старше 2010 года выпуска, стоимостью до 1.5 млн. рублей в Москве. Для того, чтобы начать работать с данными, первым делом заполняем пропущенные значения (NA) на медианные, благо для этого в R есть функция median(). dat <- read.csv("dataset.csv") # загружаем выборку в R dat$mileage[is.na(dat$mileage)] <- median(na.omit(dat$mileage)) # например для пробега Для остальных переменных процедура идентична, поэтому опущу этот момент. Оказывается за эти деньги есть несколько машин 2013 года и даже одна 2014! Очевидно, что чем меньше пробег, тем цена выше. Диагностика модели В предыдущем разделе, на основе экспериментальных данных, было сделано предположение о линейности рассматриваемой модели относительно цены, поэтому в этом разделе речь пойдет о множественной линейной регрессии, ее диагностике и ошибках.
Опробирование выбранной модели Итак, настал момент, когда с бюрократией покончено, корректность использования модели линейной регрессии не вызывает сомнений. Нам остается только посчитать коэффициенты линейного уравнения, по которым мы сможем получить свои, предсказанные цены на автомобили и сравнить их с ценами из объявлений. model.we <- lm(price ~ year + mileage + diesel + hybrid + mt + front.drive + rear.drive + engine.power + sedan + hatchback + wagon + coupe + cabriolet + minivan + pickup, data = dat.we) coef(model.we) # коэффициенты линейной модели (Intercept) year mileage diesel rear.drive engine.power sedan -1.76e+08 8.79e+04 -1.4e+00 2.5e+04 4.14e+04 2.11e+03 -2.866407e+04 predicted.price <- predict(model.we, dat) # предскажем цену по полученным коэффициентам real.price <- dat$price # вектор цен на автомобили полученный из объявлений profit <- predicted.price - real.price # выгода между предсказанной нами ценой и ценой из объявлений А теперь, давайте-ка соберем все проделанные исследование в кучу, ради одного самого информативного графика, который покажет нам самую желанную для любого автомобильного перекупщика величину, величину выгоды от покупки конкретного авто относительно рыночной цены. plot(real.price,profit) abline(0,0) sorted <- sort(predicted.price /real.price, decreasing = TRUE) sorted[1:10] 69 42 122 248 168 15 244 271 109 219 1.590489 1.507614 1.386353 1.279716 1.279380 1.248001 1.227829 1.209341 1.209232 1.204062 Да, экономия 59% это очень здорово, но весьма сомнительно, нужно смотреть авто «вживую», т.к. бесплатный сыр обычно в мышеловке, ну или продавцу срочно нужны деньги. А вот начиная с 4-го места (экономия 28%) и далее, результат кажется вполне реалистичным. Напоследок Дорогие друзья, я сам, прочитав бы подобную статью задал бы в первую очередь 3 вопроса:
Поэтому отвечаю:
Комментарии: |
|