Для 1-го и 2-го уровней науки о данных необходимо знание pandas, numpy, matplotlib и scikit-learn.

Введение

Для 1-го и 2-го уровней науки о данных требуется владение библиотеками pandas, numpy, matplotlib и scikit-learn. существенный. Если вы освоите эти 4 пакета, вы сможете выполнять задачи уровня 1 и 2 с использованием Python, как описано ниже.

1. Базовый уровень

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

1.1 Основы данных

Уметь манипулировать, очищать, структурировать, масштабировать и проектировать данные. Они должны уметь пользоваться библиотеками pandas и numpy. Должен обладать следующими компетенциями:

  • Знать, как импортировать и экспортировать данные, хранящиеся в формате файла CSV.
  • Уметь очищать, обрабатывать и систематизировать данные для дальнейшего анализа или построения модели.
  • Уметь работать с отсутствующими значениями в наборе данных
  • Понимать и уметь применять методы вменения данных, такие как вменение среднего или медианы
  • Уметь обрабатывать категориальные данные
  • Знать, как разделить набор данных на наборы для обучения и тестирования.
  • Уметь масштабировать данные, используя методы масштабирования, такие как нормализация и стандартизация.
  • Уметь сжимать данные с помощью методов уменьшения размерности, таких как анализ основных компонентов (PCA)

1.2. Визуализация данных

Уметь понимать основные компоненты хорошей визуализации данных. Уметь использовать инструменты визуализации данных, включая matplotlib Python и пакеты Seaborn. Следует понимать основные компоненты хорошей визуализации данных:

  • Компонент данных. Важным первым шагом при принятии решения о том, как визуализировать данные, является определение типа данных, например, категорийных данных, дискретных данных, непрерывных данных, данных временных рядов и т. д.
  • Геометрический компонент. Здесь вы решаете, какой вид визуализации подходит для ваших данных, например точечная диаграмма, линейные графики, гистограммы, гистограммы, графики QQ, сглаженные плотности, ящичные диаграммы, парные диаграммы, тепловые карты. , и т.д.
  • Компонент сопоставления. Здесь вам нужно решить, какую переменную использовать в качестве переменной x и какую использовать в качестве переменной y. Это особенно важно, когда ваш набор данных является многомерным с несколькими функциями.
  • Компонент масштаба. Здесь вы решаете, какие масштабы использовать, например, линейный масштаб, логарифмический масштаб и т. д.
  • Компонент «Ярлыки»: включает в себя такие вещи, как метки осей, заголовки, легенды, размер используемого шрифта и т. д.
  • Этическая составляющая. Здесь вам нужно убедиться, что ваша визуализация соответствует действительности. Вы должны осознавать свои действия при очистке, обобщении, манипулировании и создании визуализации данных и убедиться, что вы не используете визуализацию для введения в заблуждение или манипулирования аудиторией.

1.3 Контролируемое обучение (прогнозирование непрерывных целевых переменных)

Быть знакомым с линейной регрессией и другими продвинутыми методами регрессии. Быть компетентным в использовании таких пакетов, как scikit-learn и Caret для построения моделей линейной регрессии. Обладать следующими компетенциями:

  • Уметь выполнять простой регрессионный анализ с помощью numpy.
  • Уметь выполнять множественный регрессионный анализ с помощью scikit-learn.
  • Понимать регуляризованные методы регрессии, такие как Lasso, Ridge и Elastic Net.
  • Понимать другие методы непараметрической регрессии, такие как регрессия KNeighbors (KNR) и регрессия опорных векторов (SVR).
  • Понимать различные показатели для оценки регрессионной модели, такие как MSE (среднеквадратическая ошибка), MAE (средняя абсолютная ошибка) и показатель R2.
  • Уметь сравнивать разные регрессионные модели

2. Средний уровень

Помимо навыков и компетенций уровня I, должен обладать компетенциями в следующем:

2.1 Обучение с учителем (прогнозирование дискретных целевых переменных)

Быть знакомым с алгоритмом бинарной классификации, таким как:

  • Классификатор персептрона
  • Классификатор логистической регрессии
  • Методы опорных векторов (SVM)
  • Уметь решать задачи нелинейной классификации с помощью ядра SVM.
  • Классификатор дерева решений
  • K-ближайший классификатор
  • Наивный байесовский классификатор
  • Понимать несколько показателей для доступа к качеству алгоритма классификации, таких как точность, прецизионность, чувствительность, специфичность, полнота, оценка f-l, матрица путаницы, кривая ROC.
  • Уметь использовать scikit-learn для построения моделей

2.2 Оценка модели и настройка гиперпараметров

  • Уметь комбинировать преобразователи и оценщики в конвейере
  • Уметь использовать k-кратную перекрестную проверку для оценки производительности модели.
  • Знать, как отлаживать алгоритмы классификации с помощью кривых обучения и проверки.
  • Уметь диагностировать проблемы предвзятости и дисперсии с помощью кривых обучения
  • Возможность устранения переобучения и недообучения с помощью проверочных кривых
  • Знать, как настраивать модели машинного обучения с помощью поиска по сетке.
  • Понять, как настраивать гиперпараметры с помощью поиска по сетке
  • Уметь читать и интерпретировать матрицу путаницы
  • Уметь строить и интерпретировать кривую рабочей характеристики приемника (ROC)

Все эти задачи можно выполнить с помощью scikit-learn.

2.3 Объединение различных моделей для ансамблевого обучения

  • Уметь использовать метод ансамбля с разными классификаторами
  • Уметь комбинировать разные алгоритмы классификации
  • Знать, как оценивать и настраивать классификатор ансамбля

Все эти задачи можно выполнить с помощью scikit-learn.

Как изучить основные библиотеки Python

Документация Python — очень полезный инструмент для изучения библиотек Python. Доступ к документации можно получить с помощью знака вопроса перед данной командой.

  • Например, чтобы узнать больше о методе pd.read_csv(), можно использовать приведенный ниже код.
import pandas as pd
?pd.read_csv

Это приведет вас к документации Python, где вы сможете узнать больше о pd.read_csv()методе,включая его различные настраиваемые параметры.

  • Чтобы узнать больше о классификаторе логистической регрессии, можно использовать следующий код для доступа к файлу документации Python:
from sklearn.linear_model import LogisticRegression
?LogisticRegression

Это откроет документацию, содержащую дополнительную информацию о классификаторе LogisticRegression, включая подробное объяснение всех параметров и атрибутов.

Важно, чтобы при построении модели с использованием библиотеки scikit-learn вы понимали различные настраиваемые параметры для каждого оценщика. Использование параметров по умолчанию не всегда дает оптимальные результаты. Например, логистическая регрессия имеет следующие параметры:

LogisticRegression(penalty ='l2',dual=False, tol=0.0001, C=1.0,    
                   fit_intercept=True, intercept_scaling=1, 
                   class_weight=None, random_state=None, 
                   solver='liblinear', max_iter=100, 
                   multi_class='ovr', verbose=0,
                   warm_start=False, n_jobs=1)

Для логистической регрессии параметр C (параметр регуляризации) очень важен, поэтому вместо использования значения по умолчанию полезно настраивать производительность модели для разных C перед выбором значения C , обеспечивающего оптимальную производительность.

Резюме и заключение

Таким образом, мы обсудили 4 основные библиотеки Python, которые помогут вам пройти уровни 1 и 2 в вашем путешествии по науке о данных. Самый эффективный способ узнать об этих библиотеках — использовать документацию Python.

Дополнительные ресурсы по науке о данных/машинному обучению

Временная шкала компетентности в науке о данных

Учебная программа по науке о данных

Основные математические навыки для машинного обучения

3 лучших специализации MOOC по науке о данных

Портфолио Data Science более ценно, чем резюме