C чего начать, если вы хотите стать специалистом по большим данным? На сайте Quora (социальная сеть для обмена знаниями) открылось обсуждение, посвященное учебным материалам, самоучителям, онлайн-курсам и вебинарам по науке о данных.
Любой желающий (при наличии определенной базы) может начать изучать одну из самых перспективных отраслей IT самостоятельно. Разумеется, для полного погружения в предмет необходимо фундаментальное образование.
Из ответов на Quora мы собрали рекомендации и источники, необходимые для того, чтобы получить представление о том, что такое наука о данных.
Бэкграунд
Познакомиться с наукой о больших данных можно на странице часто задаваемых вопросов на сайте Quora. Здесь в доступной форме объясняют, что изучает data science, для чего нужна эта наука и насколько она трудна. Все материалы — на английском языке.
Для того чтобы начать изучать большие данные более профессионально, понадобится кое-какая подготовка. Как минимум – представления о многомерном анализе, линейной алгебре и знание языка программирования Python.
Многомерный анализ потребуется для понимания основ машинного обучения и вероятностей. А линейная алгебра необходима для усвоения большинства понятий машинного обучения.
Кроме того, желающим изучать большие данные потребуются навыки программирования, в идеале – на языке Python.
Для начал анализа больших данных также пригодится университетское образование по курсам информатики и статистики.
Гарвард заочно
В Гарвардском университете с 2013 года преподают курс по науке о данных. Один из авторов курса профессор Джо Блицштэйн выкладывает материалы занятий в открытый доступ.
Для всех желающих доступны лекции и лабораторные работы 2015 учебного года, а также домашние задания от 2013 года.
Вот ссылки на все материалы.
Вводные лекции:
- What is it like to design a data science class?
- What is it like to take CS 109/Statistics 121 (Data Science) at Harvard?
Основные материалы:
- Главная страница: CS109 Data Science
- Лекции, слайды, лабораторные работы: Class Material
Задания:
- Введение в Python, Numpy, Matplotlib. Домашние задания и решения: (Homework 0) (Solutions)
- Агрегация данных, сбор данных из веб, построение графиков, оценка модели и прогнозирование. Домашние задания и решения: (Homework 1) (Solutions)
- Прогнозирование данных, манипуляция и оценка: (Homework 2) (Solutions)
- Предиктивное моделирование, калибровка модели, анализ выводов:(Homework 3) (Solutions)
- Рекомендательные сервисы, Использование Mapreduce: (Homework 4) (Solutions)
- Визуализация и анализ: (Homework 5) (Solutions)
Лабораторные задания:
- Lab 2: Web Scraping
- Lab 3: EDA, Pandas, Matplotlib
- Lab 4: Scikit-Learn, Regression, PCA
- Lab 5: Bias, Variance, Cross-Validation
- Lab 6: Bayes, Linear Regression, and Metropolis Sampling
- Lab 7: Gibbs Sampling
- Lab 8: MapReduce
- Lab 9: Networks
- Lab 10: Support Vector Machines
Учись играючи
На сайте Kaggle.com наука о больших данных преподносится в виде игр. Для прохождения игровых заданий также нужна определенная подготовка по Python и Panda.
Здесь можно поиграть в игру «Титаник», в ходе которой предлагается при помощи анализа массивов данных определить, кто из 2224 пассажиров знаменитого корабля имел наибольшие шансы выжить в катастрофе.
В другой игре-тренажере под названием Forest Cover Type Prediction (Предсказание типа леса) нужно на основе картографических данных и данных с удаленных сенсоров определить наиболее вероятный тип леса, который вырастет в том или ином месте.
В игре Bike Sharing Demand можно попробовать определить спрос на услуги по аренде велосипедов. В качестве исходных данных дается информация о расположении киосков аренды велосипедов, продолжительности аренды, мест получения велосипеда и мест его сдачи, а также данные, распределенные по времени суток, дням недели и временам года. Актуальные сведения для игры были предоставлены реально существующей фирмой по аренде велосипедов Capital Bikeshare.
В игре Sentiment Analysis on Movie Reviews можно проанализировать большие данные иного рода, а именно текст. Это пример так называемого Sentiment Analysis – анализа тональности текста, или выявление эмоциональной составляющей в письменной речи. В данном случае – в рецензиях к фильмам. Участникам предлагается промаркировать фразы и словосочетания из рецензий пятью ярлыками: «негативный», «слегка негативный», «нейтральный», «слегка позитивный» и «позитивный». Затем на основе комбинирования этих характеристик, а также нюансов вроде отрицания, сарказма, сдержанности и неоднозначности, определить общее настроение рецензии – положительное или отрицательное. Такой анализ – с более сложным алгоритмом – применяется для определения «свежести» отзывов на сайте Rotten Tomatoes.
Дальше – больше
Для более полного представления о том, что изучает наука о данных, рекомендуется погрузиться и в смежные отрасли. Вот перечень некоторых сфер знаний, которые пригодятся дата-специалисту, помимо основных:
- Product Metricsили «бизнес-метрики» – это то, какие показатели отслеживают в своей деятельности коммерческие организации, на что они обращают внимание в первую очередь. Вот текст по данной теме: The 27 Metrics in Pinterest’s Internal Growth Dashboard
- Навыки оптимизации компьютерных систем пригодятся для понимания статистики и машинного обучения: Convex Optimization — Boyd and Vandenberghe
- A/B-тестирование из сферы маркетинга пригодится для определения, за счет чего работает та или иная программа. Здесь можно больше узнать о методике: How do I learn about A/B testing?
- Визуализация – как создавать простые и красивые графики: DataIsBeautiful и FlowingData
- Анализ поведения пользователя или User Behavior. Эта подборка статей и блогов о том, зачем это нужно: This Explains Everything » User Behavior
- Технологии больших данных – инструменты и приложения, специально разработанные для работы с Big Data: How do I learn big data technologies?
- Машинное обучение – без чего сегодня не обходится почти ни одно решение в области Big Data: How do I learn machine learning? А также курс Эндрю Энджи по машинному обучению на Coursera: Andrew Ng’s Machine Learning MOOC
- Обработка естественного языка (Natural Language Processing) – в самом общем виде, способ превратить текст в цифровую информацию, сохраняя при этом «смысл»: How do I learn Natural Language Processing (NLP)?
Читайте по теме: Cписок образовательных курсов в сфере больших данных.