понеділок, 21 січня 2013 р.

Збір та підготовка даних: Неоптимальний спосіб.

Процес написання програми, яка використовуватиме методи data mining можна поділити на такі етапи:
  1. Збір даних;
  2. Підготовка даних;
  3. Аналіз даних;
  4. Тренування моделі;
  5. Тестування моделі;
  6. Використання.
При визначенні ціни квартири у Львові (http://energyfirefox.blogspot.com/2012/12/blog-post.html
збір даних відбувався за таким алгоритмом:
  • Конвертувати сторінку в excel-формат (.xls);
  • Зберегти таким чином перших 10 сторінок видачі.
Підготовка даних:
Для кожної сторінки з допомогою редактора таблиць (LibreOffice Calc, Excel, Google Spreedsheet):
  • Відкинути поля "Стіни", "Назва", "Соток", оскільки вони не містять даних;
  • Відкинути поля "Агенція", "Користувач", "Телефон" та  "Опис", оскільки вони не будуть використовуватись при побудові моделі;
  • Конвертувати дані в .csv формат.
В середовищі R:
  • Об'єднати всі .csv частини в один датафрейм;
  • Після оглядового аналізу даних
    summary(flobj)
    
    відкидаємо квартири, ціна яких менша 18000 у.о. та де число кімнат більше 5, як нетипові чи отримані при помилковому введені даних
  • flobj <- flobj[flobj$Ціна >= 18000 & flobj$Кімнат < 6, ]
    
  • Залишаємо лише ті квартири, про які є повна інформація (ціна, адреса (у деяких об'єктах вказано номер будинку), загальна площа, житлова площа, площа кухні, кількість кімнат, поверховість будинку та поверх, на якому розташована квартира)
  • flobj <- flobj[complete.cases(flobj), ]
    
В результаті отримали набір з майже 800 квартир, з допомогою якого можна проводити подальший аналіз даних. Про саму побудову та тестування моделі тут .
Недоліки, виявлені в процесі збору даних:

  • при конвертації в .xls ціни береться лише цифра без вказання валюти, а враховуючи, що з 1.01.2013 ціни стали вказуватись в гривнях (до того були в доларах), то побудувати коректну модель зараз неможливо;
  • при перетворенні в .xls відсутні дані про тип стін та тип будинку,  хоча на сайті вони є;
  • занадто багато ручної праці (збереження .xls, видалення полів, перетворення в .csv).
Даний етап можна автоматизувати. Як це зробити з використанням Python тут http://energyfirefox.blogspot.com/2013/01/python.html.

Немає коментарів:

Дописати коментар