Ответы пользователя по тегу Data mining
  • Какие библиотеки data mining под .Net(c#) можете порекомендовать?

    @lPolar
    data scientist
    Не работал с .Net библиотеками машинного обучения, но в первую очередь напрашивается:
    Accord - accord-framework.net/intro.html
    Для работы с разными БД, можно использовать и python и scala (spark например).
    Ответ написан
  • Как нормализовать малые значения предикторов?

    @lPolar
    data scientist
    Варианты -
    1. Нормализация - x=(x-mean(x))/std(x)
    2. Разворот на главные компоненты (PCA).
    3. Разворот на нелинейные главные компоненты - KPCA.
    Это будет как шаг предобработки данных.
    Нормализация сделает влияние переменной независимым от количественного измерения.
    Ответ написан
  • С чего начать изучение Data mining самостоятельно?

    @lPolar
    data scientist
    Data Mining область сложная, но интересная.
    К классическому экономическому анализу (издержки, маржинальность) никакого отношения не имеет.
    Data mining - это про анализ достаточно больших объемов данных с целью извлечь из них какую-либо ценную информацию.
    ИМХО, DM разбивается на следующие куски:
    1. Теория и алгоритмы
    2. Программирование
    3. Визуализация и анализ результатов
    В первом куске лежит все, что относится к статистике, эконометрике, алгоритмам регрессии и классификации. Тут полезно знать тервер, эконометрику ( там все что линейное), алгоритмы классификации (там все что связано с методами ансамблей, нейронными сетями, SVM и т.д.)
    В программировании заключается следующий стак задач:
    1. Извлечение данных их разных источников (базы данных, json-файлы, парсинг сайтов, HDFS)
    2. Преобразование данных (Data refinery, тут всякие группировки, трансформация данных, виды соединений)
    3. Применение и программирование алгоритмов (тут нужно связать теорию алгоритмов с практикой).
    4. Работа с BigData - тут все те же пункты, что и выше, но на других инструментах.
    В последнем куске - визуализация - нужно научиться подавать полученные выводы в удобоваримом виде. Можно почитать Эдварда Тафти.
    P.S. я тут списочек литературы по DM в порядке изучения:
    Существуют ли заочные курсы или стажировка по анализу данных на русском языке?
    Ответ написан
  • В чем преимущество Python перед Java для анализа больших данных / машинного обучения?

    @lPolar
    data scientist
    ИМХО, Python.
    Причина - предельная простота языка + набор готовых библиотек.
    Парсите сайты параллельно через grab, который оперирует C-библиотеками (lxml) в удобной питоновой обертке.
    Далее, если у вас данных <10 GB после парсинга - берите машинку с большим объемом оперативки, и используйте pandas +sklearn+hdf5 storage для хранения.
    Если данных >10 GB - берите распределенный кластер и pyspark + hive для хранения и моделей
    Java вам при решении data science задач не поможет - все равно python оперирует библиотеками с C-модулями и функциями (pandas/sklearn) или pyspark, это та же производительность Java, но в удобной обертке.
    Ответ написан
  • Какой язык программирования выбрать для изучения?

    @lPolar
    data scientist
    О языках для аналитики замолвлю словечко.
    Python - классный, удобный. Большой набор библиотек для работы с данными, мало специфичных функций для статистики (легко реализуются самостоятельно).
    Минусы - все в памяти (pandas Memory Error), 2to3 не для всех библиотек
    Плюсы - есть API практически ко всему на свете (а к чему нету, легко прикрутить). По поводу памяти тоже слукавил, есть например pyspark в spark 1.3 в котором классный API именно для аналитиков.
    R - если есть время врубаться в несколько нелогичные названия функций и желание получить доступ к огромному количеству удобных пакетов для глубокого анализа - отличный.
    Масштабируемость - Oracle R Enterprise/DistributedR/RevolutionR - но это не для опенсорса.
    Еще можно попробовать для аналитики - Scala,Lua, Julia (кстати очень быстрый язык).
    Ответ написан
  • Существуют ли заочные курсы или стажировка по анализу данных на русском языке?

    @lPolar
    data scientist
    ИМХО, тут есть несколько аспектов:
    1. Как написал brainick , математический бэкграунд и английский в data science практически обязателен.
    Причин этому несколько: отсутствие хорошей литературы на русском языке (как по теории, так и по программированию), обилие английских терминов (lift/top/cross-validation и прочие), значение которых в переводной литературе порой объяснятся весьма туманно.
    2. Если говорить о конкретной литературе, которую стоит почитать, я бы выделил несколько уровней:
    Уровень 0
    1. Бизнес-аналитика - Паклин, Орешков (самое базовое и обзорное введение)
    2. Статистика/Тервер ( по мне, хороши книги Айвазяна/Мхитаряна)
    3. SQL - в обязательном порядке. Мне в свое время помогла книга "SQL для простых смертных"
    4. Изучаем Python - М. Лутц (наиболее полная книга по языку, все что нужно для data science здесь точно есть)
    5. Программируем коллективный разум (к слову сказать, вот в этой книге отличный перевод)
    Уровень 1
    1. Математические основы машинного обучения и прогнозирования - Вьюгин (книга сложная, без подготовки по учебникам НМУ на тему анализа и линейной алгебры лучше не подходить)
    2. Python for Data Analysis (pandas во всей красе, тут нечего добавить)
    3. Примеры и статьи по построению моделей в sklearn - на хабре в последнее время часто мелькают статьи на эту тему, там все достаточно хорошо расписано.
    Уровень 2
    1. Hadoop и иже с ним ("Hadoop в действии", "Programming Pig")
    2. Apache Spark - достаточно почитать описание Python API.
    Тут есть еще один момент - не стоит слишком привязываться к одному языку и фреймворку.
    Одна из неприятных проблем python+pandas+sklearn заключается в том, что эта связка слабо масштабируется - при 2-3-4 гб данных становится сложно разместить их в оперативной памяти. Я знаю про chunk-reading+partial_fit, но точность таких моделей оставляет желать лучшего.
    С другой стороны, если обрабатывать эти данные в pyspark, то теряется все удобство pandas.DataFrame и так далее. Отрасль data science быстро развивается и обрастает новыми технологиями, так что нужно все время держать руку на пульсе.
    UPD: в spark 1.3 появились DataFrame.
    Ответ написан