Схема розділу
-
Життєвий цикл проектів з аналізу даних CRISP DM. Розвідувальний аналіз даних.
Статистичні розподілення. Кореляційно-регресійний аналіз: метод найменших квадратів, коефіцієнти кореляції, діаграма розсіювання.
Основи класифікації: логістична регресія, наївний класифікатор Баєса, дерева рішень, метод k найближчих сусідів, метод опорних векторів.
Основи кластеризації: метод k середніх. Метрики оцінки якості регресії, класифікації, кластеризації. Метод кросвалідації. Засоби мови програмування Python розв’язання задач кореляції, класифікації, кластеризації: бібліотека sklearn.
У практичній частині курсу розв'язуються наступні задачі: класифікація на наборі даних Iris, Mnist. Регресія на наборі даних цін на нерухомість. Навчання з вчителем, без вчителя, з підкріпленням.
Лекційні та лабораторні заняття: доцент кафедри програмної інженерії Кудін Олексій Володимирович
e-mail: alexkudin@znu.edu.ua
Join Zoom Meeting
https://us04web.zoom.us/j/9971262369?pwd=KbnZh7gVBfvt9ukRYJuiYTeohyuLVj.1
Meeting ID: 997 126 2369
Passcode: KdNF4T
Лабораторні заняття: доцент кафедри програмної інженерії Кривохата Анастасія Григорівна
e-mail: krivohata@znu.edu.ua
Інші засоби зв’язку: Telegram (приватні повідомлення починати з номеру Вашої групи, прізвища та імені), Moodle (приватні повідомлення)
Лабораторні заняття з курсу «Основи машинного навчання» відбуватимуться на базі платформи Google Meet відповідно до розкладу.
URL для підключення: https://meet.google.com/muk-hmhq-tmv -
-
-
Для набору даних https://www.kaggle.com/datasets/arashnic/imbalanced-data-practice виконати такі завдання:
1. Виконати описовий аналіз даних. Візуалізувати дані у вигляді гістограм та точкових діаграм
2. Ознайомитись з методами балансування даних SMOTE та ADASYN (https://imbalanced-learn.org/stable/over_sampling.html#from-random-over-sampling-to-smote-and-adasyn)
3. Виконати балансування даних методами SMOTE та ADASYN, візуалізувати дані після балансування
-
-
-
Для набору даних California Housing (https://scikit-learn.org/1.5/modules/generated/sklearn.datasets.fetch_california_housing.html)
1. Побудувати гребневу регресію (https://scikit-learn.org/stable/modules/linear_model.html#ridge-regression-and-classification) залежності ціни від параметрів нерухомості
2. Побудувати Lasso регресійну модель (https://scikit-learn.org/stable/modules/linear_model.html#lasso) залежності ціни від параметрів нерухомості
3. Побудувати регресію Еластична мережа (https://scikit-learn.org/stable/modules/linear_model.html#elastic-net)
4. Порівняти отримані результати. Яка модель точніше наближає дані? У яких випадках буде точніше гребнева, Lasso регресії або Еластична мережа?
-
Для набору даних Fraud detecton (https://www.kaggle.com/datasets/whenamancodes/fraud-detection)
1. Провести описовий аналіз даних.
2. Виконати попередню обробку даних.
3. Побудувати декілька моделей класифікації та порівняти ефективність. Протестувати ефективність моделей з різними варіантами попередньої обробки даних.
-
-
-
Для набору даних https://www.kaggle.com/datasets/uciml/iris
1. Виконати описовий аналіз даних. Візуалізувати дані у вигляді гістограм та точкових діаграм
2. Виконати побудову дерев розв'язків для класифікації.
3. Визначити точність побудованої моделі за такими метриками: Confusion matrix, Accuracy, Precision, Recall, F1 Score, застосувати крос-валідацію.Для набору даних Boston House Prices https://www.kaggle.com/vikrishnan/boston-house-prices виконати такі завдання:
1. Виконати описовий аналіз даних
2. Підготувати дані для моделювання, використовуючи розділення даних на вибірку для навчання та тренування (https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html)
3. Побудувати лінійну регресійну модель (https://scikit-learn.org/stable/modules/linear_model.html#ordinary-least-squares) залежності ціни від параметрів нерухомості із використанням дерев розв'язків регресії.
4. Побудувати нелінійну регресійну модель (https://scikit-learn.org/stable/modules/tree.html ) залежності ціни від параметрів нерухомості
5. Використати крос-валідацію (https://scikit-learn.org/stable/modules/cross_validation.html) для остаточного визначення точності побудованих моделей
6. Порівняти отримані результати. Яка модель (лінійна або нелінійна) точніше наближає дані?
7. Які метрики використовуються для визначення точності моделей регресії?
-
-
Для набору даних https://www.kaggle.com/datasets/uciml/iris
1. Виконати застосування методу опорних векторів для класифікації2. Виконати пошук оптимальних гіперпараметрів класифікатора за допомогою GridSearchCV та RandomizedSearchCV.
3. Визначити точність побудованої моделі за такими метриками: Confusion matrix, Accuracy, Precision, Recall, F1 Score, застосувати крос-валідацію.
-
Задача прогнозування відтоку клієнтів (Churn prediction) полягає у визначенні, які клієнти компанії можуть припинити користуватися її послугами або продуктами протягом певного часу.
Факт відтоку зазвичай кодується міткою (0 або 1) та позначає клієнтів, які припинять користуватися продуктом або послугою протягом певного періоду часу. Клієнти відмовляються від користування послугами з різних причин, таких як погане обслуговування, незадоволення продуктом, чутливість до ціни, кращі альтернативи та зміни обставин, наприклад переїзд. Аналітики даних знаходять ознаки, що можуть впливати на відтік, та будуть відповідні прогнозні моделі машинного навчання.
Для набору даних https://www.kaggle.com/datasets/fridrichmrtn/user-churn-dataset
1. Виконати описовий аналіз даних.
2. На основі описового аналізу даних зробити висновки про необхідні процедури обробки даних та виконати попередню обробку даних.
3. Побудувати моделі класифікації: KNN, Random Forest, SVM, Gradient Boosting.
4. Оцінити якість побудованих моделей за допомогою кросвалідації із використанням метрики https://scikit-learn.org/1.5/modules/generated/sklearn.metrics.matthews_corrcoef.html
-
-
-
Для набору даних https://matbench.materialsproject.org/Leaderboards%20Per-Task/matbench_v0.1_matbench_steels/
1. Побудувати ансамблеві моделі прогнозування використовуючи такі алгоритми: Random Forest, AdaBoost, XGBoost, мета модель StackNet.2. Виконати пошук оптимальних гіперпараметрів класифікатора за допомогою GridSearchCV та RandomizedSearchCV.
3. Визначити точність побудованої моделі за відповідними метриками.
Приклад https://colab.research.google.com/drive/1GgPw9VrCTQBsbDD-iaQ_YTXu4j4vmhLo?usp=sharing
-
-
Для набору даних https://www.kaggle.com/datasets/mehmettahiraslan/customer-shopping-dataset розв'язати задачу сегментації клієнтів. Виконати такі дії.
1. Провести описовий аналіз даних.
2. Виконати попередню обробку даних.
3. Застосувати методи кластеризації: K-means, DBSCAN, спектральна кластеризація.
4. Для методу K-means визначити оптимальну кількість кластерів.
5. Проаналізувати окремо кожний сегмент клієнтів та зробити висновки.
Приклад. https://colab.research.google.com/drive/1NPJbaQI5PCoQWMCXVVidOSStCarsO7Z7?usp=sharing
-
-
-
Завдання та приклади
https://colab.research.google.com/drive/1zxr74Bke4KscuPUtsxu9o9B00HGP83_D?usp=sharing
Виконати моніторинг моделей машинного навчання з Л.р. №8
-