Страницы

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

воскресенье, 9 февраля 2020 г.

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

#python #sql #python_3x #sql_server #data_mining


Занимаюсь активным изучением направления Data Mining и в приложении к нему Python-ом
(использую источники: coursera, открытое образование, книги - Доусон, Лутц и т.д.).
Основы языка мне уже ясны. Решил для того чтобы как следует разобраться написать приложение
для анализа большого объема данных с фондового рынка, как наиболее открытых и очищенных.
В простом виде - на истории проблем не составило. Рабочий прототип на VBA тоже реализовал
без проблем.

Но по мере усложнения задачи (увеличения объема информации и перехода на обработку
поступающих данных в режиме онлайн) столкнулся с тем что не хватает знаний и непонятно
в какую сторону копать. Надо изучать библиотеки. Вопрос на каких сосредоточиться (Nympy,
matplotlib, pandas?)

Что нужно: Эффективно хранить и обрабатывать временные ряды данных, отрисовывать
это все в виде графиков, отрисовывать результаты анализа в виде трех(более?)мерных
графиков для поиска вершин, иметь какой-нибудь простецкий UI, принимать информацию
от торговой программы (а-ля Quik), которая умеет отдавать данные только по DDE и ODBC
(это для меня самая сложная задача сейчас), эффективно хранить полученные данные и
результаты промежуточного анализа (сейчас это текстовые файлы - смотрю в сторону MS
SQL Server Express).
    


Ответы

Ответ 1



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

Ответ 2



Небольшое дополнение. Если вы взялись изучать Data Mining, то ни Доусон, ни Лутц, ни Любанович вам в этом не помогут. Рекомендую обратить внимание на специализированные книги по теме Data Science с использованием Python. Для затравки: 1.Плас Дж.Вандер. Python для сложных задач: наука о данных и машинное обучение. 2.Луис Педро Коэльо, Вилли Ричарт.Как извлечь больше информации из данных путем построения практичных систем машинного обучения на языке Python. 3.Уэс Маккинли. Python и анализ данных. 4.Андреас Мюллер, Сара Гвидо.Введение в машинное обучение с помощью Python. 5.Себастьян Рашка. Python и машинное обучение. 6.Силен Деви, Мейсман Арно, Али Мохамед. Основы Data Sсience и Big Data. Python и наука о данных. Если есть английский, то список будет намного шире, но думаю, на начальном этапе и этого более чем хватит. Удачи.

Ответ 3



Возможно поможет: По стеку NumPy, Pandas, Matplotlib и другим визуализациям очень хорошо помогает разобраться ресурс DataCamp.com Я сейчас тоже активно изучаю это направление. По началу перебрал много всевозможных ресурсов и книг, но здесь более интересно и главное понятно объясняется и усваивается материал. И конечно же офиц. документация. Из минусов: все как всегда платно и на английском.

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

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