Страницы

Поиск по вопросам

вторник, 16 апреля 2019 г.

Необходимый стек технологий для Data Mining

Занимаюсь активным изучением направления Data Mining и в приложении к нему Python-ом (использую источники: coursera, открытое образование, книги - Доусон, Лутц и т.д.). Основы языка мне уже ясны. Решил для того чтобы как следует разобраться написать приложение для анализа большого объема данных с фондового рынка, как наиболее открытых и очищенных. В простом виде - на истории проблем не составило. Рабочий прототип на VBA тоже реализовал без проблем.
Но по мере усложнения задачи (увеличения объема информации и перехода на обработку поступающих данных в режиме онлайн) столкнулся с тем что не хватает знаний и непонятно в какую сторону копать. Надо изучать библиотеки. Вопрос на каких сосредоточиться (Nympy, matplotlib, pandas?)
Что нужно: Эффективно хранить и обрабатывать временные ряды данных, отрисовывать это все в виде графиков, отрисовывать результаты анализа в виде трех(более?)мерных графиков для поиска вершин, иметь какой-нибудь простецкий UI, принимать информацию от торговой программы (а-ля Quik), которая умеет отдавать данные только по DDE и ODBC (это для меня самая сложная задача сейчас), эффективно хранить полученные данные и результаты промежуточного анализа (сейчас это текстовые файлы - смотрю в сторону MS SQL Server Express).


Ответ

Попробую ответить на некоторые из ваших вопросов.
Загрузка, выгрузка, первичная обработка табличных данных, визуализация - Pandas. Для чтения финансовых данных существует - pandas_datareader Для более сложных графиков может понадобиться matplotlib, seaborn, bokeh, plotly. С визуализацией четырех и более мерных графиков у вас наверняка возникнут трудности - ни одна из известных мне библиотек этого делать не умеет (это как проецировать 3D объект на прямую). хранение данных: тут есть важный момент - если этими данными будут активно пользоваться 3+ пользователей, то стоит задуматься об использовании БД, т.к. там изначально отлично продуманы механизмы совместного доступа к данным и необходимые блокировки при записи. Если для одного пользователя, то можно попробовать HDF5, Feather, Parquet, etc. Кстати Pandas замечательно справляется со всем вышеперечисленным. NOTE: хранить данные в текстовых файлах не стоит - это путь сплошных мучений и проблем. Выбирайте хранилище, которое позовляет хранить нужные вам типы данных нативно - без преобразования в/из текста. дальше можно (и стоит) развиваться в сторону машинного обучения и нейронных сетей - sklearn, tensorflow, keras, theano, etc.

Комментариев нет:

Отправить комментарий