Мы в Telegram
Добавить новость
103news.com
Работа
Май
2024
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
25
26
27
28
29
30
31

Решение задач по Машинному обучению на Python в Jupiter Notebook

0

Задача 1. Реализация собственных классов и функций


⚠️ Замечание. 1) Нельзя пользоваться готовыми реализациями sklearn; 2) чтобы избежать случая с вырожденной матрицей при оценке параметров добавьте незначительную регуляризацию по умолчанию или используйте lstsq из пакета numpy или др. способ; 3) используйте random_state=0

  1. Реализуйте класс, предназначенный для оценки параметров линейной регрессии с регуляризацией совместимый с sklearn. Передаваемые параметры: 1) коэффициент регуляризации (alpha). Использовать метод наименьших квадратов с регуляризацией.
  2. Реализуйте класс для стандартизации признаков в виде трансформации совместимый с sklearn. Передаваемые параметры: 1) has_bias (содержит ли матрица вектор единиц), 2) apply_mean (производить ли центровку)
  3. Реализуйте функции для расчета MSE и R^2 при отложенной выборке (run_holdout) и кросс-валидации (run_cross_val). Для кросс-валидации используйте только класс KFold. Выходными значениями должны быть MSE и R^2 для обучающей и тестовой частей.

    Шаблон кода:

    def run_holdout(model, X, y, train_size, random_state) -> dict:
        ...
        return scores
    def run_cross_val(model, X, y, n_splits, shuffle, random_state) -> dict:
        ...
        return scores
  4. Используя класс Pipeline, выполнить обучение линейной регрессии с предварительной стандартизацией с коэффициентом регуляризации равным 0 и 0.01. Выведите значения параметров обученной модели. Выведите значения MSE и R^2, полученные посредством функций run_holdout и run_cross_val. Отобразите график предсказание (^) - действительное значение () для разных коэффициентов регуляризации для обучающего и текстового множества. Использовать следующие параметры:

    • train_size=0.75,
    • n_splits=4,
    • shuffle=True,
    • random_state=0
⚠️ Замечание. При формировании исходных данных использовался полином 16 степени одномерных данных.

Задача 2. Классификация и кросс-валидация

⚠️ Замечание:

  • Используйте класс логистической регрессии из sklearn со следующими параметрами:
    • penalty='l2'
    • fit_intercept=True
    • max_iter=100
    • C=1e5
    • solver='liblinear'
    • random_state=12345
  • Разбейте исходные данные на обучающее и тестовое подмножества в соотношении 70 на 30, random_state=0
  • Для выбора гиперпараметров используйте два подхода: 1) с отложенной выборкой, 2) с кросс-валидацией
  • Для кросс-валидации использовать функцию cross_validate из sklearn
  • Параметры разбиения для выбора гиперпараметров используйте те, что в п.4 задачи 1
Дано множество наблюдений (см. набор данных к заданию), классификатор - логистическая регрессия. Найти степень полинома с минимальной ошибкой на проверочном подмножестве. Для лучшего случая рассчитать ошибку на тестовом подмножестве. В качестве метрики использовать долю правильных классификаций. Сделать заключение о влиянии степени полинома на качество предсказания.

Построить:

  • диаграмму разброса исходных данных
  • зависимость доли правильных классификаций от степени полинома для обучающего и проверочного подмножеств (две кривые на одном графике)
  • результат классификации для наилучшего случая (степень полинома) для обучающего и тестового подмножеств с указанием границы принятия решения

Задача 3. Классификация текстовых документов


файл: data/reviews.tsv

  1. Загрузите исходные данные
  2. Разбейте исходные данные на обучающее (train, 80%) и тестовое подмножества (test, 20%)
  3. Используя стратифицированную кросс-валидацию k-folds (=4) для обучающего множество с метрикой Balanced-Accuracy, найдите лучшие гиперпараметры для следующих классификаторов:

    • K-ближайших соседей: количество соседей () из диапазона np.arange(1, 150, 20)
    • Логистическая регрессия: параметр регуляризации () из диапазона np.logspace(-2, 10, 8, base=10)
    • Наивный Байес: сглаживающий параметр модели Бернулли () из диапазона np.logspace(-4, 1, 8, base=10)
    • Наивный Байес: сглаживающий параметр полиномиальной модели () из диапазона np.logspace(-4, 1, 8, base=10)
  4. Отобразите кривые (параметры модели)-(Balanced-Accuracy) при обучении и проверке для каждой классификатора (две кривые на одном графике для каждого классификатора)
  5. Если необходимо, выбранные модели обучите на всём обучающем подмножестве (train) и протестируйте на тестовом (test) по Balanced-Accuracy, R, P, F1. Определите время обучения и предсказания.
  6. Выполните пункты 3-5 для n-gram=1, n-gram=2 и n-gram=(1,2)
  7. Выведите в виде таблицы итоговые данные по всем методам для лучших моделей (метод, n-gram, значение параметра модели, время обучения, время предсказания, метрики (Balanced-Accuracy, R, P, F1))
  8. Сделайте выводы по полученным результатам (преимущества и недостатки методов)
⚠️ Замечание:

  • Для всех объектов/методов/моделей random_state = 123
  • Для выбора гиперпараметров можно использовать стандартные утилиты sklearn


!!!Всё выполнить в Jupiter Notebook, пример выполнения с другими задачами прикреплен!!!




Губернаторы России
Москва

Мэр Собянин: в Москве стартовали испытания первого в РФ беспилотного трамвая





Москва

Театр «Модерн» представит спектакль к 130-летию Олдоса Хаксли


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Собянин: В ТиНАО в программу реновации включили 268 домов



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Кристина Агилера

Певица Кристина Агилера в боди вышла на сцену после похудения




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

В ОЭЗ «Технополис Москва» выпущена серия автомобилей для участия в чемпионате кольцевых гонок

Резидент ОЭЗ «Технополис Москва» выпустил серию автомобилей для кольцевых гонок

«Евро-Футбол.Ру»: «Спартак» никогда не интересовался Сафоновым


Даниил Медведев

Даниил Медведев проиграл Рафаэлю Надалю тренировочный сет на «Ролан Гаррос»



Новости Крыма на Sevpoisk.ru


WTA

Хромачёва и Сизикова пробились в финал турнира WTA в Рабате в парном разряде



Частные объявления в Вашем городе, в Вашем регионе и в России