Я бы хотел получить такое письмо три года назад, когда только начинал изучать Data Science (DS). Чтобы там были необходимые ссылки на полезные материалы. Статья не претендует на полноту охвата необъятной области DS. Однако для начинающего специалиста будет полезна.
В DS наиболее часто используются следующие технологии:
- свободное владение английским языком;
- операционная система Ubuntu Linux (так исторически сложилось);
- язык программирования Python (но лучше Anaconda Python);
- интегрированная среда разработки (IDE) PyCharm (Community Edition бесплатная);
- инфраструктура (framework) для машинного обучения (ML machine learning), глубокого обучения (DL deep learning) и создания нейросетей (PyTorch, TensorFlow и десятки других);
- если нет своей мощной видеокарты (GPU graphical processing unit), тогда следует пользоваться бесплатными облачными технологиями на основе Jupyter Notebook;
- умение пользоваться распределенной системой управления версиями Git (GitHub, GisLab, Bitbucket, etc.);
- иметь учетную запись на StackOverflow и всех его ответвлениях.
Также со временем вам понадобятся множество различных дополнительных к Python библиотек и инструментов обработки изображений и данных. Их десятки. Наиболее полезные для меня (обработка изображений) в порядке убывания важности:
- Virtual Environment – виртуальная среда разработки для различных проектов, которая инкапсулирует в себе разные версии библиотек и инструментов.
- NumPy – работа с матрицами, линейная алгебра.
- OpenCV – множество различных алгоритмов для работы с изображениями.
- Jupyter Notebook – веб-приложение для разработки и выполнения программ Python в браузере и в облаке.
- Tensorflow-gpu – конфигурация нейронных сетей и вычисления на графических картах.
- iPython – более удобная консольная работа с командами Python, советую использовать её вместо консоли по-умолчанию.
- Matplotlib – рисование графиков и диаграмм.
- Pillow – работа со всеми популярными форматами изображений.
- Pandas – работа с данными.
- SciPy – продвинутая работа с алгоритмами, бесплатная альтернатива программе MatLab.
- Scikit-learn – алгоритмы машинного обучения.
- Scikit-image – продвинутая обработка изображений.
- K3D – работа с трехмерными графиками и изображениями в Jupyter Notebook.
Что у меня есть:
- Различные программы Python. Начните с простых скриптов и продолжите более сложными.
- Набор инструкций по настройке Ubuntu Linux. Из них самая важная инструкция по установке и настройке виртуальной среды.
- Брошюра «Введение в машинное обучение и искусственные нейронные сети». Самые основы, которые собраны со всего Интернета, но в моем «уникальном» исполнении.
- Курсы и видео для начинающих, с которых стоит начинать изучать нейросети.
- Полезные инструменты, где каждый найдет что-нибудь интересное для себя.
- Общий список курсов, которые прошел и которые хотел бы пройти.
Спасибо за внимание!
Автор: FooBar167