Державний університет інформаційно-комунікаційних технологій
XS
SM
MD
LG
XL
XXL
Державний університет інформаційно-комунікаційних технологій
Державний університет інформаційно-комунікаційних технологій

Адреса:
03110, Україна
м. Київ, вул. Солом'янська, 7
Контактна інформація:
Приймальна комісія:
Телефон: (044) 249-25-91,
Телефон: (066) 227-46-60
Відділ документаційно-інформаційного забезпечення та контролю
Телефон / факс: (044) 249-25-12
Відділ медіакомунікацій
Телефон: (099) 109-41-23
Державний університет інформаційно-комунікаційних технологій
  
Укр.
 
      
           Пошук    
  
Укр.
 

Що варто знати, щоб стати Intern/Junior Data Scientist

13:25, 31-01-2020

Data Science - це наука про методи аналізу даних і вилучення з них цінної інформації, знань. За останні десять років ми вита робили більше даних, ніж за весь час до цього. Тому нам потрібно аналізувати ці дані і знаходити закономірності за допомогою методів Machine Learning. На кафедрі Комп'ютерних наук ми намагаємося опанувати даною технологією.

Якими навичками повинен володіти початківець Data Scientist?

Data Scientist повинен поєднувати, як знання в області математики, розробки програмного забезпечення (програмування, алгоритми і багато іншого) так і розуміння особливостей сфери проекту, наприклад BioMedical, Finance, Cybersecurity.

Початківцю Data Scientist-у  варто мати 4 основних навичок:

  • Програмування, яке включає в себе: Python (основи, структури даних та розуміння REST); Git; SQL.
  • Математика лежить в основі всіх ML алгоритмів, щоб вивчати ML з розумінням варто згадати / вивчити матеріал за 2 курсу тех. універу: лінійну алгебру; теорію ймовірності; статистику; матаналіз.

1. B Machine Learning і Deep Learning потрібно розібратися з основними моделями і алгоритмами, які завдання вони вирішують і також бібліотеки і фреймворки, які використовуються для цього:

  • numpy (математичні методи);
  • pandas (для роботи з даними);
  • matplotlib і інші бібліотеки для візуалізації даних;
  • sklearn (базові ML алгоритми);
  • xgboost (tree boosting алгоритми);
  • TensorFlow / PyTorch (Deep Learning).

2. * (Бажано) DevOps при прийомі на першу роботу в цій сфері ви можете знати основи docker, docker-compose і трохи про CI / CD, навіщо він потрібен і спробувати, наприклад Travis або Gitlab CI. Але краще заглибитися в цю тему, тому що вона є дуже корисною.

Як і де вивчити все вище перераховане?

Python

Для початку буде достатньо базового курсу з DataCamp або навіть CodeAcademy, курс по структурам даних можна подивитися тут, також рекомендую розібратися з основами REST і бібліотекою flask.

GIT

Розібратися з git допоможе практика і ось цей сайт.

SQL

Потрібно мати базовий рівень SQL, тому пройдіть курс від w3schools, також є варіант від DataCamp. Звичайно ж, попрактикуйтесь самі з СУБД, наприклад MySQL і PostgreSQL.

Також подивіться NoSQL БД, тому що в деяких випадках не потрібні зв'язки між полями і буде досить MongoDB.

Математика

Всі теми з математики охоплені в курсах на ресурсі mathprofi, також можете подивитися курси на stepik або ж знайти собі книги, за якими ви будете розбиратися з перерахованими темами вишмата.

DevOps

Основи docker можна вивчити в цьому відео або на цьому сайті, а про CI / CD з допомогою Gitlab CI ви можете почитати тут.

А що на рахунок вивчення ML і DL?

Приступати до вивчення ML варто після того, як ви вже знаєте Python, GIT, SQL і університетський курс вишмата. Як на мене, одним найкращих варіантів є mlcourse.ai від ODS Community, в яке ви можете вступити заповнивши цю заявку, щоб оточити себе однодумцями і бути в курсі останніх новин.

З курсів по Deep Learning можна пройти dlcourse.ai, який є більш загальним або ж подивитися записи курска який проводила компанія Rails Reactor влітку 2019. Або ж можна пройти більш цілеспрямовані курси від Стенфордського університету, наприклад cs231n по Computer Vision или cs224N по NLP.

Deep Learning фреймворки можна вивчати по курсам на Youtube, Udemy, Udacity, але як на мене більш ефективний спосіб це вивчати їх на практиці, за допомогою офіційний Jupyter Notebooks або туторіали. Особисто я віддаю перевагу PyTorch, але ви можете почати з TensorFlow або розібратися і з ним.

Також, варто читати книги по DS і ML, від себе можу порекомендувати:

Нетехнічні навички (не обов'язкові, але дуже допомагають):

  • Цікавість і інтерес до нового;
  • Розуміння сфери вашого проекту (CyberSecurity, Finance ...);
  • Ефективні комунікативні навички;
  • Робота в команді.

Корисні ресурси

Михайло Шелег, студент групи КНД-21

© При повному чи частковому використанні матеріалів сайту ДУІКТ гіперпосилання на сайт https://duikt.edu.ua/ обов'язкове!
Читайте також
Бажаєте дізнаватись про особливості вступу у 2025 році?
Підписуйтесь на спільноти спеціальності "122 Комп’ютерні науки" кафедри Комп’ютерних наук та першим отримуйте новини, сповіщення про важливі події, підготовчі курси, дні відкритих дверей та багато цікавого.

Абітурієнту

Освітня програма: Комп’ютерні науки

За освітньою програмою Комп’ютерні науки, спеціальність 122 Комп’ютерні науки (англ. Computer Science, CS) готуються фахівці, що здатні виконувати функції розробника-програміста, спеціаліста по мережах, адміністратора баз даних, системного адміністратора, DevOps Engineer, спеціаліста по тестуванню програм, IT-архітектора. Вони володіють навичками алгоритмічного мислення, уявлення інформації, програмування і проектування комп’ютерних систем. Основні розділи: алгоритми і структури даних, мови програмування, архітектура комп'ютерів, операційні системи і комп'ютерні мережі, розробка програмного забезпечення, сервери і бази даних, штучний інтелект та робототехніка, комп'ютерна графіка, взаємодія людини і комп'ютера та ін.

Освітня програма: Комп’ютерні науки

За освітньою програмою Комп’ютерні науки, спеціальність 122 Комп’ютерні науки (англ. Computer Science, CS) готуються фахівці, що здатні виконувати функції розробника-програміста, спеціаліста по мережах, адміністратора баз даних, системного адміністратора, DevOps Engineer, спеціаліста по тестуванню програм, IT-архітектора. Вони володіють навичками алгоритмічного мислення, уявлення інформації, програмування і проектування комп’ютерних систем. Основні розділи: алгоритми і структури даних, мови програмування, архітектура комп'ютерів, операційні системи і комп'ютерні мережі, розробка програмного забезпечення, сервери і бази даних, штучний інтелект та робототехніка, комп'ютерна графіка, взаємодія людини і комп'ютера та ін.

Переглядів: 23 196