Книга: Аналитическая культура

Еще один инструмент

Еще один инструмент

С точки зрения практических навыков, без всяких сомнений, большинство аналитиков во всем мире использует в своей работе Microsoft Word, Excel и PowerPoint в качестве основных инструментов. Они доказали свою эффективность. Тем не менее поразительно, как может сказаться на продуктивности применение нескольких дополнительных инструментов.


Далее мы рекомендуем вам бросить вызов. Если вы аналитик, бросьте вывоз самому себе: в течение следующего месяца или квартала освойте еще один инструмент или программу. Если вы руководите аналитиками, поставьте перед ними такую задачу. Попробуйте и увидите, какой будет результат. Вы будете удивлены.

Стоит обратить внимание на следующие аспекты.

РАЗВЕДОЧНЫЙ АНАЛИЗ ДАННЫХ И СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ

R представляет собой популярную среду для осуществления статистических вычислений и располагает исключительными библиотеками визуализации данных (такими как ggplot2)[58]. Например, можно прочитать данные в формате CSV и визуализировать отношения между всеми возможными парами переменных с помощью всего двух команд:

данные<-read.csv(имя_файла. csv);

pairs(данные)

На рис. 4.3 показан результат действия этих двух команд. Во второй панели верхней строки отражена взаимосвязь между шириной чашелистика (ось х) и длиной чашелистика (ось y) цветков ириса.


Рис. 4.3. Результат применения команд (относительно задачи по ирисам) в среде R. Речь идет о наборе данных относительно 150 экземпляров ириса, по 50 экземпляров из трех видов, который собрал ботаник Эдгар Андерсон и сделал знаменитым Рональд Фишер[59]. Корреляция между переменными и разница между тремя видами становится очевидной, если рассмотреть все взаимоотношения в совокупности, как на рисунке

Таким образом, этот инструмент может стать чрезвычайно полезным для быстрого проведения разведочного анализа данных. (Не менее популярны и эффективны неоткрытые SAS и SPSS.) Всего около 6700 пакетов для любых типов данных, моделей, областей и визуализации. Это открытые источники, доступные бесплатно[60]. Если вы уже знакомы со средой R, то можете освоить новый пакет R и расширить свои навыки.

ЗАПРОСЫ К БАЗАМ ДАННЫХ

В то время как Excel может быть очень эффективным инструментом, при работе с ним иногда возникают проблемы, связанные с обработкой большого объема данных: при определенном объеме данных и применении функции ВПР (VLOOKUP) программа может сильно затормозить работу компьютера. Именно поэтому язык программирования SQL — ценный инструмент в наборе любого аналитика. Этот язык можно назвать относительно стандартизированным, несмотря на незначительные отличия в языке в разных базах данных (таких как MySQL, PostgreSQL и Access). Так что если вы знакомы с ним, это обеспечит вам свободу переключения между разными реляционными базами данных. Вы сможете делать запросы к базам данных независимо от объема данных (обрабатывать миллионы строк), делиться запросами с коллегами (делиться небольшими текстовыми запросами, а не огромными массивами сырых данных). Кроме того, вы сможете обеспечить воспроизводимость процесса (можно легко повторить процесс анализа еще раз).

Есть множество книг, а также офлайновых и онлайновых курсов, которые могут помочь овладеть SQL. Я рекомендую один из бесплатных онлайновых курсов W3Schools’ SQL Tutorial[61], так как там пользователь имеет возможность составлять запросы прямо в браузере. Другой подход к обучению заключается в установке базы данных на компьютер пользователя. Установка и конфигурация основных баз данных, таких как MySQL и PostgreSQL, может оказаться делом непростым. Так что я настоятельно рекомендую начать с SQLite[62]: многие приложения в вашем смартфоне используют SQLite для хранения данных. Эта база данных бесплатная, простая в установке, сохраняет данные в единый переносимый файл, с ней вы быстро научитесь составлять SQL-запросы.

Если вы переживаете, что это старая технология, которую скоро затмят новинки, в исследовании O’Reilly 2014 Data Science Salary Survey Кинг и Маголас отмечают: «SQL был самым распространенным инструментом… Даже с бурным развитием технологий по работе с данными нет никаких признаков того, что SQL начинает сдавать позиции».

ПРОВЕРКА ФАЙЛА И ОПЕРАЦИИ С НИМ

В случаях, когда команде аналитиков приходится работать с большим количеством файлов с сырыми данными или с файлами большого объема, кто-то — необязательно все, поскольку аналитика все-таки командный спорт, — должен обладать элементарными знаниями Unix для проверки файлов и проведения операций с ними. В качестве альтернативы можно выбрать какой-нибудь из языков программирования, например Python, способный обеспечить эти функции и многие другие. Подробнее об этом в главе 5.

ПРИМЕР ЕЩЕ ОДНОГО ИНСТРУМЕНТА: ПОДСЧЕТ СТРОК ПРИ ПОМОЩИ *NIX-УТИЛИТЫ WC

Если вы знакомы со стандартными командами ОС *nix (то есть Unix и Linux), то можете пропустить эту часть. Всем остальным эта информация может оказаться полезной.

Предположим, вы получили данные в формате CSV-файла объемом 10 МВ и вам нужно знать общее количество записей. Как их подсчитать? Открыть файл в Excel, пролистать до конца или воспользоваться комбинацией клавиш CTRL+? и посмотреть номер последней строки? Да, можно и так. А что, если файл будет объемом 100 МВ? Конечно, Excel справится и с ним, но на выполнение этой задачи может уйти до десяти минут. Ладно, а как насчет файла объемом 1 GB? Здесь такой подход уже не сработает.

Ок, немного изменим условия задачи: теперь вы имеете дело с тремя CSV-файлами объемом 10 МВ. Открыть каждый из них по отдельности в Excel? Допустим. А если у вас 300 таких файлов? Да, здесь явно нужен другой подход.

А что, если я скажу, что на решение этой задачи потребуется всего несколько секунд? Пакет стандартных команд ОС *nix представляет собой набор небольших специализированных утилит, обеспечивающих выполнение одной конкретной функции. wc представляет собой Unix-утилиту, выводящую количество слов (word count), а также строк и символов.

В: Но у меня нет доступа к *nix! У меня ОС Windows.

О: Ничего страшного, просто установите бесплатно cygwin[63]. Это позволит вам пользоваться командами Unix в ОС Windows.

В: Но у меня нет доступа к *nix! У меня OS X.

О: Mac OS X принадлежит семейству операционных систем Unix. Так что ваша цепочка действий следующая: идете в приложения Applications, открываете утилиты Utilities и кликаете на Terminal. Та-дам! Можете пользоваться командами Unix.

Формат команды элементарный: wc — l filename

wc — утилита для вывода количества слов, — l (символ) обозначает, что требуется вывести количество строк, а не слов, filename — название файла. Например:

$ wc — l weblog_20150302.log

1704190 weblog_20150302.log

($ — это подсказка или напоминание; у вас она может быть другой).

Этот пример показывает, что в файле weblog 1,7 млн строк. Для подсчета строк в каждом файле директории укажите название папки вместо имени файла:

wc — l mydatafiles/

123 file1.csv

456 file2.csv

579 total

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

Надеюсь, вы уловили главное: простые утилиты, научиться пользоваться которыми можно за несколько минут, способны значительно усилить набор аналитических навыков и повысить продуктивность работы.

Каким инструментом или утилитой научиться пользоваться, зависит от того, каким набором навыков вы уже владеете и какие у вас слабые места.

Будьте уверены, слабые места есть у всех. Последуйте моей рекомендации.

Если вам нужен дополнительный стимул, задумайтесь о следующем. В опросе на тему размера оплаты труда специалистов по работе с данными O’Reilly’s 2013 Data Science Salary Survey приняли участие посетители двух крупных конференций Strata в 2012 и 2013 годах, при этом выяснилось следующее: размер оплаты труда положительно коррелировал с количеством инструментов, которыми пользовались респонденты.

В среднем респонденты использовали в работе 10 инструментов и их медианный доход составлял 100 тыс. долл. У тех, кто использовал 15 и более инструментов, показатель медианного дохода был 130 тыс. долл.

Еще более очевидно это отражено в опросе 2014 года[64] (рис. 4.4).


Рис. 4.4. Корреляция между применением разного числа инструментов и оплатой труда специалистов по работе с данными

Источник: опрос 2014 O’Reilly Data Science Salary Survey, рис. 1.13

В 2013 году авторы опроса сделали заключение:

Есть веские основания утверждать, что владение такими инструментами, как R, Python, инструментарием Hadoop, D3, а также масштабируемыми инструментами машинного обучения, свидетельствует о более высокой квалификации аналитика, позволяя ему претендовать на более высокооплачиваемую позицию, чем когда аналитик владеет такими инструментами, как SQL, Excel и платформы RDB [реляционных баз данных]. Мы также пришли к выводу, что чем большим числом инструментов способен пользоваться аналитик, тем лучше: если вы задумываетесь о том, чтобы научиться применять инструмент из набора Hadoop, лучше изучите сразу несколько.

Наконец, опрос 2014 года показал разницу в оплате труда почти в 15 тыс. долл. между аналитиками, умеющими работать с программным кодом, и не умеющими. Так что если это ваше слабое место, окажите себе услугу, научитесь программировать!

Оглавление книги


Генерация: 1.128. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз