Telegram Web Link
🔥 100 упражнений по NumPy с решениями

Делимся с вами полезным GitHub-репозиторием, в котором собраны различные небольшие задачки по библиотеке. Упражнения взяты из NumPy mailing list, Stack Overflow и документации NumPy.

Задачи собраны как в версии с решениями, так и в версии без них. Можете проверить свои знания.

🔗 Ссылка на репозиторий
Если у вас есть числовые признаки, то как работает разбиение узла при бэггинге?

Основу этой ансамблевой модели (которую также можно назвать Случайный лес) составляют деревья решений. В них разбиение работает по следующему алгоритму:
▪️Сначала определяется, какой из признаков лучше всего использовать для разбиения на данном этапе построения дерева. Решение обычно основывается на критерии прироста информации.
▪️Для выбранного числового признака алгоритм ищет оптимальное значение, которое будет использоваться в качестве порога для разбиения. Например, если признак — это возраст, алгоритм может определить, что разбиение на группы меньше 30 лет и >30 лет максимизирует критерий выбора.

В бэггинге каждое дерево строится независимо от других, используя случайное подмножество признаков. Разбиения в деревьях осуществляются таким же образом, как описано выше, но поскольку каждое дерево обучается на разных данных, они могут делать разные разбиения даже для одних и тех же признаков.

#машинное_обучение
Что такое иерархическая кластеризация и когда она используется?

В обычной кластеризации все кластеры равноправны и находятся на одном уровне. В иерархической кластеры бывают вложены друг в друга и образуют древовидную структуру.

Алгоритм, если коротко, такой:
▫️Создаём столько кластеров, сколько у нас объектов в выборке, каждый объект — в своём отдельном кластере.
▫️Повторяем итеративно слияние двух ближайших кластеров, пока не выполнится критерий останова.

В качестве последнего критерия можно использовать либо получение нужного количества кластеров, либо удовлетворений условий, основанных на метриках расстояния между кластерами.

Получившуюся иерархическую структуру анализируют с помощью дендрограммы. Такую кластеризацию можно использовать, когда:
▪️неизвестно количество кластеров.
▪️требуется визуализация структуры данных,
▪️данные обладают естественной иерархической структурой.

#машинное_обучение
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Объясните, почему деревья решений склонны к переобучению

Деревья действительно легко переобучаются и могут идеально подстраиваться под обучающую выборку, поэтому процесс ветвления надо в какой-то момент останавливать.

Дело в том, что этот алгоритм может создавать очень сложные структуры, которые хорошо подходят под обучающие данные. Если дерево разрастается слишком глубоко, оно может захватывать не только основные закономерности, но и шум, который присутствует в обучающем наборе.

В целом, в основе популярных алгоритмов построения дерева решений лежит принцип жадной максимизации прироста информации. Это значит, что на каждом шаге выбирается такой признак, разделение по которому даст наибольший прирост информации. Эта процедура повторяется рекурсивно, пока энтропия не окажется равной нулю или какой-то малой величине.

Для борьбы с переобучением существуют разные методы.

#машинное_обучение
🐼 Задача на знание Pandas

Условие: У вас есть датафрейм df, содержащий два столбца: A и B. Столбец A содержит даты, а столбец B — числовые значения. Как бы вы рассчитали скользящее среднее по столбцу B с окном в 3 дня, предполагая, что значения в столбце A идут подряд и без пропусков?

Решение:
import pandas as pd

data = {
'A': ['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05',
'2023-01-06', '2023-01-07', '2023-01-08', '2023-01-09'],
'B': [18, 71, 13, 57, 7, 8, 69, 83, 27]
}

df = pd.DataFrame(data)

# Убедимся, что столбец A распознан как дата
df['A'] = pd.to_datetime(df['A'])

# Установим столбец дат как индекс датафрейма
df = df.set_index('A')

# Рассчитаем скользящее среднее по столбцу B с окном в 3 дня
df['Moving_Average'] = df['B'].rolling(window=3).mean()

print(df)


#python
#pandas
#программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое отношение шансов (odds ratio) в контексте логистической регрессии?

Отношением шансов называют отношение рассматриваемых исходов к нерассматриваемым. Рассмотрим это на примере:

▶️ Допустим, проводится изучение связи между курением и развитием рака лёгких. Есть две группы: курящие (100 человек, из которых 30 заболели раком лёгких) и некурящие (100 человек, из которых 10 заболели раком лёгких). Так, шансы заболеть раком лёгких для курящих составляют 30/70. Шансы заболеть раком лёгких для некурящих — 10/90. Чтобы получить odds ratio (OR), разделим шансы для курящих на шансы для некурящих. Получим приблизительно 3.86. Это можно интерпретировать так: шансы заболеть раком лёгких у курящих людей почти в 4 раза выше, чем у некурящих.

👉 Отношение шансов может использоваться для моделирования увеличения вероятности события по мере изменения зависимых переменных. Если odds ratio равно единице, это означает, что изменение признака не влияет на вероятность наступления события. Если OR > 1, то увеличение признака ассоциируется с увеличением вероятности события. Если OR < 1, увеличение признака связано с уменьшением вероятности события.

#машинное_обучение
#теория_вероятностей
Каковы различия между моделью, минимизирующей среднеквадратичную ошибку (MSE), и моделью, минимизирующей среднюю абсолютную ошибку (MAE)?

Можно перечислить несколько различий:

▫️MSE более чувствительна к выбросам по сравнению с MAE. Дело в том, что среднеквадратичная функция возводит ошибки в квадрат. Из-за этого большие ошибки оказывают на результат большее влияние.
▫️С MSE градиент вычисляется легче. Это может ускорить сходимость алгоритма.

Так, MSE подходит для задач, где важно учитывать большие ошибки, когда необходимо сильно штрафовать значимые отклонения от целевых значений. MAE предпочтителен в ситуациях, когда выбросы присутствуют и их диспропорциональное влияние на результат модели нежелательно.

#машинное_обучение
Что такое прямой и обратный проходы (forward и backward propagation) в нейросетях?

В сущности, нейронная сеть представляет собой граф. А по графу информация может течь в двух направлениях.

🔹Прямым проходом (forward propagation) называют применение нейросети к данным, то есть вычисление выхода по заданному входу. Это прямое движение по графу.
🔹Обратным проходом (backward propagation) называют движение информации от финального представления к исходному через все преобразования. Так, механизм обратного распространения ошибки, применяемый при обучении, предполагает обратное движение по вычислительному графу сети для коррекции весов.

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

#глубокое_обучение
🧮📐 15 гениев, которые изменили мир математики навсегда

В нашей новой статье читайте о том, как 15 величайших математических умов в истории, от древнегреческого гения Фалеса до современного революционера Мандельброта, своими открытиями в алгебре, геометрии, теории чисел и других областях навсегда изменили облик математики и мира.

🔗 Читать статью
🔗 Зеркало
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
В чём разница между частотной вероятностью и байесовской вероятностью?

Это два разных подхода к интерпретации вероятности, которые часто противопоставляются.

🔹Частотная вероятность
Основывается на идее долгосрочной стабильности частот событий. В этой интерпретации вероятность события определяется как предел относительной частоты его наблюдения в серии однородных независимых испытаний. То есть этот подход предполагает, что вероятность может быть объективно измерена путём повторения эксперимента в одинаковых условиях множество раз.
Пример: вы бросаете справедливый шестигранный кубик большое количество раз и подсчитываете, сколько раз выпадает шестёрка. Если вы бросите кубик 600 раз и обнаружите, что шестёрка выпала 100 раз, то по частотному подходу вероятность выпадения шестёрки на этом кубике будет 100/600 или 1/6.

🔹Байесовская вероятность
Байесовский подход рассматривает вероятность как меру уверенности или степени веры в наступление события. Для определения степени уверенности при получении новой информации в байесовской теории используется теорема Байеса.
Пример: допустим, что у вас есть редкая болезнь, которая встречается у 1 из 10000 человек. Тест на эту болезнь имеет чувствительность 99% (вероятность того, что тест окажется положительным у больного человека) и специфичность 99% (вероятность того, что тест окажется отрицательным у здорового человека). Если ваш тест на болезнь оказался положительным, байесовская вероятность того, что вы действительно больны, будет рассчитываться с учётом этих данных и априорной вероятности заболевания (1/10000), что даст вам другое и, возможно, менее интуитивное значение вероятности, чем простая интерпретация результата теста.

#теория_вероятностей
Что такое отчёт о классификации (classification report)? Как его интерпретировать?

По сути, отчёт о классификации — это сводка о производительности модели-классификатора, представляющая различные метрики. Вот эти метрики:

🔹Точность (Precision) — отношение истинно положительных предсказаний к общему числу предсказанных положительных.
Precision = TP/(TP+FP)
🔹Полнота (Recall) — отношение истинно положительных предсказаний к общему числу фактических положительных.
Recall = TP / (TP + FN)
🔹F1-мера — гармоническое среднее точности и полноты.
F1-мера = 2 * (Точность * Полнота) / (Точность + Полнота)

где,
TP = Истинно положительный
TN = Истинно отрицательный
FP = Ложноположительный
FN = Ложноотрицательный

Отчёт о классификации можно создать, например, с помощью библиотеки scikit-learn, используя функцию classification_report. В такой отчёт также включён показатель support, который указывает на количество фактических вхождений класса в наборе данных.

#машинное_обучение
Какова связь между собственными значениями и собственными векторами в PCA (методе главных компонент)?

В PCA собственные значения и собственные векторы играют ключевую роль в преобразовании исходных данных в новую систему координат.

🔹Собственные значения — связаны с каждым собственным вектором и представляют собой величину дисперсии данных вдоль соответствующего собственного вектора.
🔹Собственные векторы — это направления или оси в исходном пространстве признаков, вдоль которых данные изменяются сильнее всего или проявляют наибольшую дисперсию.

Связь между ними определяется как:

A*V = lambda*V, где
A = ковариационная матрица, полученная из исходной матрицы признаков
V = собственный вектор
lambda = собственное значение.

Большее собственное значение означает, что соответствующий собственный вектор захватывает больше дисперсии в данных. Сумма всех собственных значений равна общей дисперсии в исходных данных. Следовательно, долю общей дисперсии, объясняемую каждой главной компонентой, можно вычислить, разделив её собственное значение на сумму всех собственных значений.

#машинное_обучение
#линейная_алгебра
🐍🗺️ Геокодирование для Data Scientists: вводное руководство с примерами

Может возникнуть ситуация, когда набор данных содержит адрес, но широта и долгота отсутствуют. В этом случае первым шагом для дополнения данных будет добавление этой пары координат. Этот процесс преобразования адреса в широту и долготу называется геокодированием.

В новой статье разбираем три различных способа геокодирования с помощью Geopy.

🔗 Читать статью
🔗 Зеркало
2024/09/30 12:13:05
Back to Top
HTML Embed Code: