Страницы

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

Показаны сообщения с ярлыком data-mining. Показать все сообщения
Показаны сообщения с ярлыком data-mining. Показать все сообщения

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

суббота, 30 ноября 2019 г.

Как получить возраст пользователя?

#javascript #data_mining


Яндекс Метрика при добавлении своего кода на сайт позволяет получать информацию о
возрасте, географии и устройстве.
Какие сервисы позволяют получать эту информацию в режиме реального времени при заходе
пользователя на сайт?
    


Ответы

Ответ 1



Вопрос довольно сложный. Для получения таких данных используют сложные алгоритмы основанные на машинном обучении и возможно на искусственном интеллекте использующие большой и актуальный объем информации о пользователях. Все что остается нам, простым смертным, делать это использовать готовые решения продающие нужную информацию. Их на рынке не так много (особенно в русском сегменте), обычно принято называть их DMP. Из контекста вашего вопроса вам нужна информация по соцдему. Я знаю несколько поставщиков информации по соцдему - adfox (косвенно можно получить нужную информацию), aidata, CleverDATA, Facetz.DCA (не все они работают в режиме реального времени). Добавлю еще немного деталей. Все поставщики данных требуют zero pixel matching, т.е. дают ссылку в параметры которой нужно вставить произвольный идентификатор пользователя на стороне площадки, который потом будет использован в api для получения информации о пользователе и в отгружаемых отчетах (по сути это база данных где в качестве ключа фигурирует ваш идентификатор пользователя и вся доступная информация об этом пользователе).

Ответ 2



Яндекс получает возраст и пол за счет тотальной слежки за пользователями. Работает это примерно так: Яндекс скупает данные о предпочтених людей разных групп у маркетинговых агенств. Яндекс активно следит за пользователями - анализирует их поисковые запросы, время появления в онлайне - и пытается угадать принадлежность пользователя к конкретной группе. При заходе пользователя на ваш сайт Яндекс делится своими догадками с вами. Об этом прямо сказано в справке по метрике. Механизм назвается Крипта, на сайте Яндекса есть достаточно подробное описание.

Ответ 3



Google Analytics позволяет получать эти данные в режиме реального времени при заходе пользователя на сайт

вторник, 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.