Для 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.
Дополнительные ресурсы по науке о данных/машинному обучению
Временная шкала компетентности в науке о данных
Учебная программа по науке о данных
Основные математические навыки для машинного обучения