Сокровищница исследователя данных.

Ну, а кто такой Data Scientist? Я знаю, что некоторые из вас так думают. Некоторым, кто читал технические блоги и был известен в СМИ, должно быть интересно, в чем разница между специалистом по анализу данных и инженером по машинному обучению? Разве они не все одинаковые?

Что ж, давайте сначала решим эти несколько вопросов, а затем перейдем к части охоты за сокровищами, круто. Давай начнем.

Таким образом, специалист по анализу данных - это тот, кто применяет машинное обучение, статистические методы и исследовательский анализ к данным для извлечения информации и помощи в принятии решений. Он также занимается очисткой данных, ETL (извлечение, преобразование и загрузка, потому что иногда у вас есть необработанные данные, которые не готовы к применению к ним методов Data Science), немного занимается управлением базами данных, визуализацией данных и анализом данных. Ага, вот и все. Я знаю, что это много, поэтому в большинстве компаний есть команды Data Science.

Хорошо, специалист по анализу данных - это не то же самое, что инженер по машинному обучению. Потому что специалист по машинному обучению может выполнять всю работу инженера машинного обучения, но инженер машинного обучения не может выполнять всю работу специалиста по машинному обучению. Потому что в первую очередь специалистам по данным не требуется только обучать нейронные сети, им часто приходится отвечать на вопросы. Им предоставляется база данных, и их просят ответить на любое количество вопросов, сделать выводы из данных. В то время как инженер машинного обучения не получает аналитических сведений и не очищает данные, не подготавливает данные и даже не занимается управлением базами данных. Инженер по машинному обучению должен работать с очень сложными алгоритмами, и часто требуется придумывать собственные алгоритмы, чтобы получить модель с максимально возможной точностью.

Хорошо, теперь давайте погрузимся в «Остров сокровищ» исследователя данных. Мы обсудим пакеты или библиотеки, как вы предпочитаете их называть. Итак, для Data Scientist есть 3 вида пакетов:

  1. Пакеты для научных вычислений.
  2. Пакеты визуализации
  3. Пакеты машинного обучения.

Пакеты для научных вычислений

1. Панды

Pandas - это пакет Python с открытым исходным кодом, который обеспечивает высокую производительность. Он помогает разработчикам интуитивно работать с «помеченными» и «реляционными» данными. Он основан на двух основных структурах данных: «Серии» (одномерные, например, список элементов) и «Фреймы данных» (двухмерные, например, таблица с несколькими столбцами).

Pandas - идеальный инструмент для работы с данными. Он разработан для быстрого и простого манипулирования данными, чтения, агрегирования и визуализации. Панды берут данные из файла CSV или TSV или из базы данных SQL и создают объект Python со строками и столбцами, который называется фреймом данных.

2. Numpy

NumPy - один из самых фундаментальных пакетов Python для обработки массивов. Он предоставляет высокопроизводительные объекты многомерного массива и инструменты для работы с массивами. NumPy - это эффективный контейнер универсальных многомерных данных.

Библиотека предлагает множество удобных функций, выполняющих операции с n-массивами и матрицами в Python. Он помогает обрабатывать массивы, в которых хранятся значения одного типа данных, и упрощает выполнение математических операций с массивами (и их векторизацию).

NumPy используется для обработки массивов, в которых хранятся значения одного типа данных. NumPy упрощает математические операции с массивами и их векторизацию. Это значительно увеличивает производительность и соответственно сокращает время выполнения.

3. Scipy

Библиотека SciPy содержит модули для эффективных математических процедур, таких как линейная алгебра, интерполяция, оптимизация, интеграция и статистика. Основная функциональность библиотеки SciPy построена на NumPy и его массивах. SciPy широко использует NumPy.

SciPy использует массивы в качестве базовой структуры данных. Он имеет различные модули для выполнения общих задач научного программирования, таких как линейная алгебра, интегрирование, исчисление, обыкновенные дифференциальные уравнения и обработка сигналов.

Пакеты визуализации

1. Матплотлиб

Это стандартная библиотека науки о данных, которая помогает создавать визуализации данных, такие как двухмерные диаграммы и графики (гистограммы, диаграммы рассеяния, графики с недекартовыми координатами). Matplotlib - одна из тех библиотек построения графиков, которые действительно полезны в проектах по науке о данных - она ​​предоставляет объектно-ориентированный API для встраивания графиков в приложения.

Это очень похоже на MATLAB, встроенный в язык программирования Python. Matplotlib может помочь в создании гистограмм, гистограмм, диаграмм рассеяния, диаграмм площадей в диаграммы и многих других визуализаций.

2. Сиборн

Seaborn - это библиотека визуализации данных на основе Matplotlib, которая предоставляет высокоуровневый интерфейс для рисования привлекательной и информативной статистической графики. Проще говоря, seaborn - это расширение Matplotlib с расширенными функциями.

Что ж, разница между Matplotlib и Seaborn в том, что Matplotlib используется для базового построения графиков; столбцы, пироги, линии, диаграммы разброса и прочее, в то время как seaborn предоставляет множество шаблонов визуализации с менее сложным и меньшим синтаксисом.

3. Folium (библиотека географической информационной системы)

Это существенно помогает в работе с картами. Folium позволяет легко визуализировать данные, обработанные в Python, на интерактивной карте-буклете. Он позволяет как привязать данные к карте для choropleth визуализаций, так и передавать богатые векторные / растровые / HTML-визуализации в качестве маркеров на карте.

Библиотека имеет ряд встроенных наборов фрагментов из OpenStreetMap, Mapbox и Stamen и поддерживает настраиваемые наборы фрагментов с ключами API Mapbox или Cloudmade. Folium поддерживает наложения изображений, видео, GeoJSON и TopoJSON.

Библиотеки машинного обучения

1. Scikit Learn

Scikit Learn - это надежная библиотека машинного обучения для Python. Он включает в себя алгоритмы машинного обучения, такие как SVM, случайные леса, кластеризация k-средних, спектральная кластеризация, средний сдвиг, перекрестная проверка и многое другое. Scikit Learn поддерживает даже NumPy, SciPy и связанные с ними научные операции, при этом Scikit Learn является частью SciPy Stack.

Специалисты по обработке данных используют его для обработки стандартных задач машинного обучения и интеллектуального анализа данных, таких как кластеризация, регрессия, выбор модели, уменьшение размерности и классификация. Другое преимущество? Он поставляется с качественной документацией и предлагает высокую производительность.

2. TensorFlow

TensorFlow - это библиотека ИИ, которая помогает разработчикам создавать крупномасштабные нейронные сети со многими уровнями с использованием графов потоков данных. TensorFlow также облегчает построение моделей глубокого обучения, продвигает новейшие достижения в области машинного обучения и искусственного интеллекта и позволяет легко развертывать приложения на основе машинного обучения.

Его используют все компании-гиганты. Он может выполнять распознавание голоса / звука, анализ настроений, распознавание лиц, временные ряды, обнаружение видео и т. Д. Это действительно мощная и одна из самых зрелых и поддерживаемых сообществом библиотек ML в мире.

3. Керас

Keras - это высокоуровневый API TensorFlow для создания и обучения кода глубокой нейронной сети. Это библиотека нейронной сети с открытым исходным кодом на Python. Keras предоставляет только высокоуровневые API, в то время как TensorFlow предоставляет как высокоуровневые, так и низкоуровневые API.

Он очень прост в использовании и обеспечивает разработчикам хорошую расширяемость. Библиотека использует другие пакеты (Theano или TensorFlow) в качестве своих бэкэндов. Более того, Microsoft интегрировала CNTK (Microsoft Cognitive Toolkit), чтобы служить еще одним сервером. Это отличный выбор, если вы хотите быстро поэкспериментировать с компактными системами.

4. Pytorch

PyTorch - это фреймворк, который идеально подходит для специалистов по данным, которые хотят легко выполнять задачи глубокого обучения. Инструмент позволяет выполнять тензорные вычисления с ускорением графического процессора. Это открытый исходный код. Автомобили Tesla для уровня автономности 3 используют Pytorch и создали свой собственный стек поверх Pytorch для обучения своих нейронных сетей.

PyTorch основан на Torch, библиотеке глубокого обучения с открытым исходным кодом, реализованной на C, с оболочкой в ​​Lua.

Сейчас есть много других очень полезных, важных и известных пакетов, таких как NLTK, Spacy, Bokeh, Plotly, ggplot, statsmodel, XGBoost, Bokeh, OpenCV, YOLO и т. Д. Мы обсудим их позже. Сегодня моей целью было представить 10 самых важных пакетов, которые являются сокровищем для специалистов по анализу данных.

Знай своего автора

Я учусь на втором курсе ИТ-отдела и без ума от автономных транспортных средств. Этот глубокий интерес заставляет меня изучать науку о данных, машинное обучение, глубокое обучение и компьютерное зрение. Я тоже влюблен в AR. Поэтому иногда, чтобы следить за этим увлечением, я вовлекаюсь в Unity и разработку приложений с Android или Flutter. Это мой первый технический блог. Покажи свою любовь.