#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 Я сейчас тоже активно изучаю это направление. По началу перебрал много всевозможных ресурсов и книг, но здесь более интересно и главное понятно объясняется и усваивается материал. И конечно же офиц. документация. Из минусов: все как всегда платно и на английском.
Комментариев нет:
Отправить комментарий