Показ дописів із міткою data processing. Показати всі дописи
Показ дописів із міткою data processing. Показати всі дописи

вівторок, 22 липня 2014 р.

Agile Data Science. Огляд

Цільова аудиторія - fullstack data science спеціалісти, які не лише проводять дослідження та будують моделі, але й займаються їх імплементацією (тобто поєднують ролі інженера, дослідника, data science спеціаліста та DevOps інженера). 

В якості прикладу використано модель побудови додатку для аналізу електронної пошти в межах Agile підходу. Спочатку створюються базовий додаток з такими кроками:
  • отримати вміст власної Gmail скриньки 
  • серіалізація на Avro
  • аналіз на Pig Latin
  • збереження даних в Mongo DB
  • використання Elastic Search
  • завертання результатів аналізу у веб-додаток використовуючи Python/Flask
Далі перенесення в хмари (Amazon Web Services) та поступове покращення кожного кроку в піраміді:
Загалом цікаво.
Плюси:
  • практичні рецепти побудови, описане середовище можна використовувати для розгортання власних додатків у майбутньому
  • приклад Data Science моделі повного циклу (від ідеї до сервісу)
  • гарне пояснення як адаптувати класичний Waterfall процес Data Science до Agile методології
Мінуси:

  • Нових знань з Data Science ви тут не отримаєте, це швидше Data Engineering
  • Не всі приклади працюють, як описано в книжці 


понеділок, 26 травня 2014 р.

R + Vertica

Дуже зручно при аналізі даних на етапі вивчення даних та формулювання гіпотез завантажувати результати виконання запитів з бази даних відразу в R.
Для PostgreSQL та MySQL такий зв'язок можна сформувати використовуючи ODBC. (Опис налаштувань для Ubuntu є тут і тут).
Аналогічна схема для  бази даних Vertica вимагає ще конфігурації vertica.ini (на додачу до встановлення драйвера та конфігурації odbc.ini та odbcinst.ini). Незважаючи на всі мої старання, побороти помилку
 [08001][unixODBC][DSI] The error message UnableToEstConn could not be found in the en-US locale.   
так і не вдалося.
Тому  я вирішила спробувати звязок через JDBC. Тут все виявилося відносно просто:
1) Встановлюємо потрібні бібілеотеки в  R:
 install.packages("rJava")  
 install.packages("RJDBC")  
Бібліотека rJava так просто не встановилася, прийшлося запускати
 sudo R CMD javareconf   
2) Скачуємо з сайту Vertica jdbc linux драйвер (треба зареєструватись)
3) Встановлюємо з'єданання з Vertica(на віддаленій машині) з R(на локальній):
 library(RJDBC)  
 # в сlassPath вказуємо шлях до драйвера:  
 vDriver = JDBC(driverClass="com.vertica.jdbc.Driver", classPath="path_to_driver/vertica-jdbc-7.0.1-0.jar")  
 # встановлюємо з'єдання з базою:  
 vertica = dbConnect(vDriver, "jdbc:vertica://db_ip:port/database", "username", "password")  
Можемо робити запити і працювати з їх результатами в R:
 > myframe = dbGetQuery(vertica, "select * from offers;")  
 > myframe  
    offer category quantity  company offervalue brand  
 1 1190530   9115    1 108500080    5.00 93904  
 2 1194044   9909    1 107127979    1.00  6732  
 3 1197502   3203    1 106414464    0.75 13474  
 4 1198271   5558    1 107120272    1.50  5072  
Додаткові технічні подробиці:
Локальна машина: OS Ubuntu 12.04 LTS, R 3.1.0 Spring Dance.
Віддалена машина: Vertica CE 7.

вівторок, 8 квітня 2014 р.

Bad Data Handbook. Огляд

Днями дочитала цю книжку.
Загальна ідея: Дані - це абстрактне поняття, а реальна сутність.  "Погані" дані можуть не лише стати причиною побудови моделей з некоректними результатами, а й унеможливити побудову адекватних моделей.
Формат: набір впорядкованих статей від різних авторів.
Розглянуті проблеми: накопичення, обробка, зберігання(формат, місце, ціна) даних, політики приватності.
Кому буде цікаво: всім, чия робота пов"язана з рішеннями, які базуються на даних.
Де купити? amazon.com
Підходить для читання на ніч :)
Особиста оцінка: 8 з 10.