Пошаговое руководство по созданию полного портфолио проекта Data Science
Полный проект Data Science состоит из множества важных шагов, которые необходимо выполнить, чтобы получить наилучшие результаты. Он имеет пошаговый подход, мы должны переходить к новому этапу только тогда, когда мы точно завершили предыдущий шаг. Конечная производительность модели зависит от каждого из этих отдельных шагов.
В этой статье я попытаюсь установить поток, которому можно следовать для любых проектов Data Science. В частности, если вы новичок и только начинаете свои проекты портфолио, эта статья будет очень полезна для поддержания правильного потока в проектах.
Начнем с шагов:
- Бизнес/цель проекта: необходимо четко указать основную цель проекта. Если вы работаете на клиента, то вам необходимо четко понимать требования клиента и то, какой будет конечная поставка.
- Сбор данных. На этом этапе вам необходимо получить доступ к данным. Если это ваш личный проект, вы можете получить наборы данных с kaggle или использовать веб-скраппинг для создания собственного набора данных. Иногда вам, возможно, придется запрашивать данные из клиентской базы данных, для этого вам может понадобиться знание SQL для запросов к базам данных. (Примечание. Если вы стремитесь стать специалистом по данным, вам следует рассмотреть возможность изучения SQL.)
- Исследовательский анализ данных. Теперь, когда у вас есть данные, пришло время их изучить. Здесь необходимо выполнить определенные шаги:
- Изучение набора данных. Примените знания предметной области и попытайтесь выяснить, что представляют собой различные функции (столбцы) и как вы можете использовать их в своей модели.
- Отсутствующие данные . Проверьте наличие отсутствующих данных . Если есть какие-либо отсутствующие данные, попробуйте обработать их, либо удалив всю строку или столбец, либо заменив их соответствующим значением (может быть средним или медианным). вы можете узнать больше по этой ссылке здесь.
- Повторяющиеся наблюдения : иногда в наборе данных даже есть повторяющиеся наблюдения. Удалите все повторяющиеся строки из данных.
- Описательная статистика: изучите характер данных. Описательная статистика показывает как меры центральной тенденции (среднее), так и меры изменчивости/разброса (диапазон, асимметрия, эксцесс).
- Визуализация данных. Используйте различные графики для поиска закономерностей в данных. Используйте график подсчета, чтобы понять, сбалансирован ли набор данных (для моделей классификации). Используйте точечные диаграммы, гистограммы, гистограммы, графики плотности, корреляционную тепловую карту и т. д. для визуализации закономерностей в данных. Matplotlib и seaborn — две популярные библиотеки Python для визуализации.
4. Предварительная обработка данных/Разработка функций. Теперь вам нужно поиграть с зависимыми и независимыми переменными, чтобы извлечь из них максимальную пользу.
Проверьте мультиколлинеарность с помощью VIF и, если она присутствует, попытайтесь удалить ее, чтобы сохранить беспристрастность модели.
Есть 4 части разработки признаков:
- Преобразование признаков: обработка категориальных переменных путем кодирования, обнаружение выбросов и их обработка, масштабирование признаков (стандартизация или нормализация). Подробнее о преобразовании признаков читайте здесь.
- Создание функций: создание новых функций из существующих. Например, количество спален, количество ванных комнат, кухня могут быть построены вместе, чтобы сформировать новую переменную общую площадь ковра. Это может уменьшить мультиколлинеарность в моделях.
- Выбор функций: выберите важные функции и удалите лишние функции. Это можно сделать двумя способами: прямое выделение или обратное исключение. Мы даже можем использовать методы регуляризации, а именно регрессию Лассо и Риджа для выбора признаков.
- Извлечение функций: извлечение важных важных функций с использованием различных алгоритмов, таких как анализ основных компонентов (PCA), tsne. Для проектов NLP мы используем countvectorizer или tf-idf для извлечения признаков.
Также на этом шаге проверьте баланс набора данных. Если набор данных несбалансирован, попробуйте сбалансировать его с помощью избыточной или недостаточной выборки. Подробнее можно прочитать здесь.
5. Train Test Split: разделите весь набор данных на наборы данных для обучения и тестирования. Обучите модель с набором обучающих данных и сохраните тестовые данные для целей проверки. На практике этот шаг следует выполнить перед предварительной обработкой данных, чтобы предотвратить утечку данных.
6. Подбор модели. Используйте различные алгоритмы машинного обучения, такие как регрессия, дерево решений, случайный лес, KNN и т. д., для обучения модели с помощью набора данных поезда. Найдите ошибки модели с помощью RMSE или MAE.
7. Оценка модели. Теперь используйте тестовые данные для прогнозирования и рассчитайте ошибку тестирования модели с помощью RMSE или MAE.
Если ошибка обучения и ошибка тестирования близки, мы можем сказать, что модель подходит. В противном случае в основном могут быть случаи переобучения. Для борьбы с переоснащением можно использовать методы регуляризации.
Сравните точность всех моделей и, наконец, выберите одну на основе ее общей производительности.
8. Развертывание модели. Теперь, когда модель готова, пришло время ее развернуть. Если вы хотите стать полноценным Data Scientist, вам необходимо освоить навыки развертывания. Я лично использую Streamlit для развертывания. Здесь — хорошая статья о развертывании моделей машинного обучения с помощью Streamlit. Подробную статью по развертыванию модели я постараюсь сделать отдельно.
Надеюсь, эта статья была полезной. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать в разделе комментариев. Если вам понравилась эта статья, пожалуйста, хлопните в ладоши.