Ако искате да започнете да изучавате наука за данни през 2023 г., ето пътната карта, която да следвате:

Въведение

Data Science е бързо развиваща се област и става все по-търсена от организации по целия свят. Амбициозни учени в областта на данните и професионалисти от други области търсят начини да започнат бързо своето пътуване в науката за данни, за да останат конкурентоспособни в индустрията. За да им помогне да постигнат тази цел, този блог ще представи цялостна пътна карта за науката за данни, която кандидатите да следват през 2023 г.

Тази пътна карта ще покрие основните теми и умения, необходими, за да станете успешен учен по данни, и ще предостави отправна точка за тези, които искат да пробият в индустрията за наука за данни. Освен това, този блог ще обсъди различните ресурси и инструменти, достъпни за използване от аспирантите в науката за данни, и ще предостави общ преглед на текущия пейзаж в науката за данни. В следващите раздели ще направя общ преглед на пътната карта за науката за данни, ще обсъдя необходимите теми и умения и ще очертая наличните ресурси и инструменти.

ЗАБЕЛЕЖКА: Тази статия първоначално е публикувана в DataKwery — единственият сайт в света за търсене на ресурси за наука за данни и машинно обучение на едно място. (Връзка към оригиналната статия — Щракнете тук)

Пътна карта за науката за данни:

  1. Основи на езика за програмиране Python
  2. Основни неща в областта на статистиката и математиката
  3. Разбор на данни и визуализация с помощта на pandas, NumPy, matplotlib, seaborn и scipy библиотеки на python в среда на преносим компютър jupyter
  4. Езици за програмиране SQL и хранилище за данни MySQL
  5. Машинно обучение с помощта на sci-kit learn
  6. Дълбоко обучение с помощта на Keras
  7. НЛП концепции и техники
  8. Внедряване с помощта на streamlit, flask, docker, AWS/Azure/GCP
  9. Портфолио проекти
  10. Подготовка за интервю и кандидатстване за работа
  11. Основи на езика за програмиране Python

Python е един от най-широко използваните езици за програмиране в днешно време. Той е обявен за един от най-популярните езици за програмиране според проучването на разработчиците на StackOverflow през 2022 г.

Ето списъка с основите, които човек трябва да научи:

  1. Основни типове данни: int, float, str, bool
  2. Променливи и оператори за присвояване
  3. Изявления за контрол на потока: оператори if-else, цикли for и while
  4. Функции и модули
  5. Списъци, кортежи и масиви
  6. Речници и комплекти
  7. Обработка на изключения
  8. Концепции за обектно-ориентирано програмиране (ООП) като класове, обекти, методи и наследяване
  9. Операции за въвеждане/извеждане на файлове
  10. Основни регулярни изрази

2. Основни неща за статистиката и математиката

След като научите езика за програмиране Python, трябва да научите основните неща в областта на статистиката и математиката, за да научите технологичния стек за наука за данни и да станете опитен специалист по данни.

  1. Описателна статистика: мерки за централна тенденция (средна стойност, медиана, мода), мерки за променливост (диапазон, стандартно отклонение, дисперсия) и мерки за форма (изкривяване, ексцес).
  2. Вероятност: основни концепции за вероятността, като условна вероятност, теорема на Байс и случайни променливи. Заедно с това вероятностните разпределения, оценката, тестването на хипотези и байесовите методи са задължителни
  3. Изводна статистика: понятия като оценка, тестване на хипотези, p-стойности и доверителни интервали.
  4. Линейна алгебра: понятия като вектори, матрици и матрични операции са важни за разбирането на линейната регресия и други алгоритми за машинно обучение.
  5. Изчисление: понятия като градиент, частични производни и оптимизация са важни за разбирането на алгоритмите за машинно обучение.
  6. Многопроменливо смятане: концепции като градиенти, Якобиан, Хесиан и оптимизация, които са важни за разбирането на невронните мрежи и други алгоритми за машинно обучение.
  7. Анализ на времеви редове: концепции като подвижни средни, експоненциално изглаждане, ARIMA модели

3. Разбор на данни и визуализация на данни в среда на преносим компютър jupyter

Борбата с данни и манипулирането на данни е решаващо умение, което трябва да развиете като специалист по данни. Python разполага с широк набор от библиотеки за изпълнение на различни задачи за манипулиране на данни и визуализиране на разпределението на данни, за да намерите ключови прозрения от вашите набори от данни.

Библиотеки на Python като Pandas, NumPy, seaborn, matplotlib, plotly, sklearn и scipy, човек трябва да овладее, за да стане експерт в обработката на данни и визуализациите.

Ето някои задачи и библиотеки в тази стъпка:

  1. Разбор на данни: Това включва задачи като почистване, трансформиране и обединяване на данни от различни източници. Учените, занимаващи се с данни, трябва да са опитни в използването на библиотеки като Pandas и NumPy за тези задачи.
  2. Изследване на данни: Това включва задачи като идентифициране на модели, извънредни стойности и аномалии в данните. Учените по данни трябва да владеят умения в използването на библиотеки като Matplotlib и Seaborn за визуализация и изследване на данни.
  3. Трансформация на данни: Това включва задачи като нормализиране, кодиране на категорични променливи и мащабиране на данни. Учените, занимаващи се с данни, трябва да са опитни в използването на библиотеки като sklearn за тези задачи.
  4. Инженеринг на функции: Това включва създаване на нови функции от съществуващи данни, избиране на най-подходящите функции и обработка на липсващи данни.
  5. Визуализация на данни: Специалистите по данни трябва да са опитни в създаването на различни видове визуализации, като линейни диаграми, стълбовидни диаграми, точкови диаграми, топлинни карти и други, като използват библиотеки като Matplotlib и Seaborn.
  6. Разказване на данни: Учените по данни трябва да могат да представят информация и констатации на нетехнически заинтересовани страни по ясен и завладяващ начин.

4. Език за програмиране SQL и база данни MySQL

Заедно с Python, специалистите по данни също трябва да владеят езика за програмиране SQL, за да съхраняват и манипулират релационни бази данни, за да работят с огромно количество данни.

Ето ключови SQL концепции, които трябва да овладеете като специалист по данни:

  1. Изявление SELECT:използва се за запитване и извличане на данни от таблица на база данни.
  2. Клауза JOIN: използва се за комбиниране на редове от множество таблици въз основа на свързана колона между тях.
  3. Клауза GROUP BY: използва се за групиране на редове въз основа на една или повече колони и извършване на обобщени функции като SUM, COUNT и AVG.
  4. Клауза WHERE: използва се за филтриране на редове въз основа на определено условие.
  5. SUBQUERY и INNER JOIN:използвани за комбиниране на данни от множество таблици и филтриране на резултатите.
  6. ИНДЕКСИРАНЕ: се използва за подобряване на ефективността на заявките чрез създаване на индекс върху една или повече колони на таблица.
  7. Инструкции CREATE и ALTER: използвани за създаване и модифициране на структурата на таблици и други обекти на база данни.
  8. Инструкции INSERT, UPDATE и DELETE: използвани за вмъкване, актуализиране и изтриване на данни в таблица.
  9. Разширени концепции като прозоречни функции, общи таблични изрази (CTE) и съхранени процедури

5. Машинно обучение с помощта на sci-kit learn

Машинното обучение без съмнение е неразделна част от всеки процес на наука за данни в индустриите. след като разберете добре езика за програмиране python и неговите библиотеки, тогава трябва да научите практическо машинно обучение, като използвате библиотеката за обучение на sci-kit.

Ето някои ключови концепции и умения, които ще ви помогнат да овладеете машинното обучение с помощта на scikit-learn:

  1. Учене под наблюдение: понятия като регресия и класификация и алгоритми като линейна регресия, логистична регресия и дървета на решенията.
  2. Неконтролирано обучение: концепции като групиране и намаляване на размерността и алгоритми като k-средни стойности, йерархично групиране и PCA.
  3. Оценка на модела: техники като комплекти за обучение и тестване, кръстосано валидиране и показатели като точност, прецизност, припомняне и F1-резултат.
  4. Настройка на хиперпараметри: техники като търсене в мрежа и произволно търсене за оптимизиране на производителността на модел за машинно обучение.
  5. Избор на функции и инженеринг: техники за избор на най-подходящите функции и създаване на нови функции от съществуващи данни.
  6. Тръбопроводи: Техники за верижно свързване на множество стъпки от процес на машинно обучение, като подготовка на данни, избор на функции и обучение на модел, в един оценител на scikit-learn
  7. Ансамбълни методи: концепции като пакетиране и усилване и алгоритми като произволна гора и градиентно усилване
  8. Невронни мрежи:разбиране на концепциите и използването на MLP и други архитектури на невронни мрежи

6. Задълбочено обучение с помощта на Keras

Дълбокото обучение е мощна техника, която човек трябва да научи като специалист по данни. Като учен по данни може да се наложи да се справите с неструктурирани данни като изображения, текст, видео и т.н., където техниките за дълбоко обучение играят решаваща роля.

Ето някои ключови техники за задълбочено обучение, които изследователите на данни трябва да научат с помощта на Keras:

  1. Изкуствени невронни мрежи: Концепции като мрежи за предаване напред, обратно разпространение и функции за активиране.
  2. Конволюционни невронни мрежи (CNN): използвани за класификация на изображения и задачи за разпознаване на обекти
  3. Повтарящи се невронни мрежи (RNN): използвани за последователни данни, като текст и времеви серии
  4. Автокодери: използвани за неконтролирано обучение на функции и намаляване на размерността
  5. Генеративни модели: като генериращи състезателни мрежи (GAN) и вариационни автоенкодери (VAE)
  6. Трансфер на обучение: Техники за използване на предварително обучени модели, като VGG или ResNet, за подобряване на производителността при нова задача
  7. Настройка на хиперпараметри: техники като търсене в мрежа и произволно търсене за оптимизиране на производителността на модел за дълбоко обучение.
  8. Tensorboard: за визуализиране на обучението и ефективността на модел за дълбоко обучение

7. Техники и концепции за обработка на естествен език (НЛП)

НЛП е подполе на машинното обучение, което използва анализ, генериране и разбиране на човешки езици, за да извлече смислени прозрения от него.

Ето някои ключови НЛП концепции и техники, които изследователите на данни трябва да научат:

  1. Предварителна обработка на текст: Техники като токенизиране, коренно извеждане и лематизация за преобразуване на необработен текст във формат, който може лесно да се анализира.
  2. Извличане на текстови характеристики: Техники като торба с думи, n-грами и вграждане на думи за представяне на текст като числени характеристики за използване в модели за машинно обучение.
  3. Сортиране на текст: Техники за класифициране на текст в предварително дефинирани категории, като анализ на настроението и откриване на спам.
  4. Разпознаване на наименувани обекти: Техники за идентифициране и извличане на наименувани обекти от текст, като хора, организации и местоположения.
  5. Маркиране на части от речта: Техники за идентифициране на частите на речта на думите в изречение, като съществителни, глаголи и прилагателни.
  6. Генериране на текст: Техники за генериране на нов текст въз основа на даден вход, като машинен превод и резюмиране на текст.
  7. Текст към говор и говор към текст: Техники за преобразуване на говор в текст и текст в говор.
  8. Разширени концепции като модели, базирани на вниманието, трансформатори и BERT

8. Внедряване на модел за машинно обучение

Повечето работни места в науката за данни изискват високо ниво на умения за разработване на качествени модели за машинно обучение, но доброто разбиране и известен опит в внедряването на модели ще ви даде предимство като учен по данни.

  1. Сервиране на модели:Техники за обслужване на модели за машинно обучение в производствена среда, като например използване на REST API или специален сървър за модели.
  2. Контейнеризация:Техники за опаковане на модели за машинно обучение и зависимости в контейнер, като Docker, за осигуряване на последователни и възпроизводими внедрявания.
  3. Внедряване в облак: Техники за внедряване на модели за машинно обучение в облачни платформи, като AWS SageMaker, Azure Machine Learning и Google Cloud ML Engine.

9. Портфолио проектите

След като научите всички умения, сега е моментът да изградите проекти за портфолио, за да покажете на потенциалните рекрутери своите умения и опит по предмети.

Някои от идеите за проекти, върху които можете да работите:

  1. Прогнозиране на тежестта на пътнотранспортното произшествие
  2. Прогноза за енергийна интензивност
  3. Предсказание за диво синьо зрънце
  4. Прогноза за преживяемостта на пациентите
  5. Откриване на кибертормоз чрез НЛП техники
  6. Проект за предвиждане на следваща дума

10. Подготовка за интервю и кандидатстване за работата

Сега е време да се подготвите за интервюта като учен по данни и да кандидатствате за работни места, които са подходящи за вас.

Ето няколко съвета за интервюта за работа в науката за данни:

  1. Разберете компанията и работата: Проучете компанията и конкретната роля, за която кандидатствате, за да разберете техните цели, ценности и вида работа, която извършват.
  2. Освежете ключови умения: Прегледайте и практикувайте ключовите умения, необходими за работата, като езици за програмиране, статистически анализ и техники за машинно обучение.
  3. Подгответе се за общи въпроси за интервю: Бъдете готови да отговорите на често срещани въпроси за интервю за наука за данни като „какъв е вашият опит с X техниката“ или „как бихте решили този проблем“.
  4. Практикувайте въпроси, базирани на данни: Бъдете готови да отговаряте на въпроси, базирани на данни, и проблеми с анализа на данни, като например „как бихте анализирали този набор от данни“ или „какъв е вашият подход към изграждането на модел“.
  5. Умейте да обяснявате работата си: Умейте да обяснявате миналите си проекти и методите, които сте използвали, по ясен и стегнат начин.
  6. Покажете страстта си: Покажете ентусиазма си за науката за данни и желанието си да учите и да растете в тази област.
  7. Бъдете готови да задавате въпроси: Подгответе списък с обмислени въпроси, които да зададете на интервюиращия за компанията, ролята и екипа, с който ще работите.

Следвайте Ismail LAMAAKAL за повече информация