Forwarded from Библиотека собеса по Data Science | вопросы с собеседований
Что произойдёт, если использовать LabelEncoder с линейным алгоритмом?
▶️ Начнём с того, что такое LabelEncoder.
Это один из самых простых способов закодировать категории. Допустим, у вас есть три категории: «Лондон», «Париж» и «Москва». Тогда вы просто заменяете эти строковые значения на 0, 1 и 2.
В документации scikit-learn написано, что LabelEncoder кодирует целевые метки значениями из диапазона от 0 до n_classes-1 (где n_classes — количество классов). То есть алгоритм предлагается использовать в основном для кодирования целевых меток. Технически его, конечно, можно применять для кодирования нецелевых признаков. Но тут могут возникнуть проблемы.
✍️ Сама суть LabelEncoder способствует созданию избыточных зависимостей в данных. Например, после преобразования получилось, что по некоторому признаку значение объекта Volvo равно 6, а BMW — 1. Можно интерпретировать это как то, что Volvo в 6 раз в чём-то превосходит BMW. Однако в исходных данных таких зависимостей не было.
При работе с категориальными переменными для линейных моделей можно, например, использовать One-Hot Encoding.
#машинное_обучение
▶️ Начнём с того, что такое LabelEncoder.
Это один из самых простых способов закодировать категории. Допустим, у вас есть три категории: «Лондон», «Париж» и «Москва». Тогда вы просто заменяете эти строковые значения на 0, 1 и 2.
В документации scikit-learn написано, что LabelEncoder кодирует целевые метки значениями из диапазона от 0 до n_classes-1 (где n_classes — количество классов). То есть алгоритм предлагается использовать в основном для кодирования целевых меток. Технически его, конечно, можно применять для кодирования нецелевых признаков. Но тут могут возникнуть проблемы.
✍️ Сама суть LabelEncoder способствует созданию избыточных зависимостей в данных. Например, после преобразования получилось, что по некоторому признаку значение объекта Volvo равно 6, а BMW — 1. Можно интерпретировать это как то, что Volvo в 6 раз в чём-то превосходит BMW. Однако в исходных данных таких зависимостей не было.
При работе с категориальными переменными для линейных моделей можно, например, использовать One-Hot Encoding.
#машинное_обучение
❤8👏6👍3⚡1🤔1🥱1
Forwarded from Библиотека собеса по Data Science | вопросы с собеседований
Напишите линейную регрессию на Python с нуля
Это один из самых простых алгоритмов. Он включает следующие шаги:
1️⃣ Инициализация параметров.
2️⃣ Вычисление предсказаний.
3️⃣ Вычисление функции потерь.
4️⃣ Обновление параметров с помощью градиентного спуска.
5️⃣ Повторение до сходимости.
#машинное_обучение
#программирование
Это один из самых простых алгоритмов. Он включает следующие шаги:
import numpy as np
class LinearRegression:
def __init__(self, learning_rate=0.01, n_iters=1000):
self.learning_rate = learning_rate
self.n_iters = n_iters
def fit(self, X, y):
n_samples, n_features = X.shape
self.weights = np.zeros(n_features)
self.bias = 0
for _ in range(self.n_iters):
model_preds = self.predict(X)
dw = (1 / n_samples) * np.dot(X.T, (model_preds - y))
db = (1 / n_samples) * np.sum(model_preds - y)
self.weights -= self.learning_rate * dw
self.bias -= self.learning_rate * db
def predict(self, X):
return np.dot(X, self.weights) + self.bias
#машинное_обучение
#программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4
Forwarded from Proglib.academy | IT-курсы
Что вы знаете про критерий Дикки-Фуллера?
Критерий Дикки-Фуллера используется для проверки стационарности временных рядов. Этот тест позволяет определить, есть ли в данных временного ряда единичный корень, что означает наличие тренда или сезонности.
Тест использует регрессионный анализ для оценки автокорреляции и значений критических уровней. Если p-value меньше определённого уровня значимости (например, 0.05), то можно отвергнуть нулевую гипотезу и сделать вывод о стационарности ряда.
Критерий Дикки-Фуллера часто используется в анализе временных рядов, таких как финансовые данные или данные об изменениях температуры, где важно выявить закономерности для прогнозирования будущих значений.
Подтяните свои знания о машинном обучении вместе с нашим курсом:
🔵 Базовые модели ML и приложения
#машинное_обучение
Критерий Дикки-Фуллера используется для проверки стационарности временных рядов. Этот тест позволяет определить, есть ли в данных временного ряда единичный корень, что означает наличие тренда или сезонности.
Тест использует регрессионный анализ для оценки автокорреляции и значений критических уровней. Если p-value меньше определённого уровня значимости (например, 0.05), то можно отвергнуть нулевую гипотезу и сделать вывод о стационарности ряда.
Критерий Дикки-Фуллера часто используется в анализе временных рядов, таких как финансовые данные или данные об изменениях температуры, где важно выявить закономерности для прогнозирования будущих значений.
Подтяните свои знания о машинном обучении вместе с нашим курсом:
#машинное_обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Forwarded from Proglib.academy | IT-курсы
Что такое Бустинг в машинном обучении
Бустинг — это один из мощных методов повышения качества моделей машинного обучения. Его цель — объединение нескольких слабых моделей (обычно простых алгоритмов) для создания одной сильной модели, которая улучшает точность предсказаний.
🌻 Как это работает?
▪️ Итеративное обучение: Модели обучаются поочередно. Каждая следующая модель стремится исправить ошибки предыдущей
▪️ Вес ошибок: Большое внимание уделяется тем данным, на которых предыдущие модели ошибались. Это позволяет концентрироваться на сложных для предсказания примерах
▪️ Комбинирование результатов: Финальный результат формируется путем взвешенного объединения предсказаний всех моделей
🌻 Когда использовать?
Бустинг особенно полезен, когда базовые алгоритмы не дают нужной точности. Например, он широко применяется в задачах классификации и регрессии, а также на соревнованиях по анализу данных, таких как Kaggle
В нашем курсе узнаете подробнее о машинном обучении, в частности, о бустинге:
🔵 Базовые модели ML и приложения
#машинное_обучение
Бустинг — это один из мощных методов повышения качества моделей машинного обучения. Его цель — объединение нескольких слабых моделей (обычно простых алгоритмов) для создания одной сильной модели, которая улучшает точность предсказаний.
▪️ Итеративное обучение: Модели обучаются поочередно. Каждая следующая модель стремится исправить ошибки предыдущей
▪️ Вес ошибок: Большое внимание уделяется тем данным, на которых предыдущие модели ошибались. Это позволяет концентрироваться на сложных для предсказания примерах
▪️ Комбинирование результатов: Финальный результат формируется путем взвешенного объединения предсказаний всех моделей
Бустинг особенно полезен, когда базовые алгоритмы не дают нужной точности. Например, он широко применяется в задачах классификации и регрессии, а также на соревнованиях по анализу данных, таких как Kaggle
В нашем курсе узнаете подробнее о машинном обучении, в частности, о бустинге:
#машинное_обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉5❤3👍2
Forwarded from Библиотека собеса по Data Science | вопросы с собеседований
Как оценивать важность признаков и зачем это делать? Например, для случайного леса
Оценка важности признаков в машинном обучении помогает понять, какие из них больше всего влияют на результат модели. Это полезно, чтобы интерпретировать поведение модели, улучшить её производительность, а также сократить количество признаков, минимизируя вычислительные затраты и предотвращая переобучение.
Вот специфичные для случайного леса методы:
▪️ Оценка количества разбиений по данному признаку.
В процессе построения деревьев случайный лес принимает решения на основе разбиений по различным признакам. Чем чаще признак используется для разбиения, тем более он важен для модели, так как чаще помогает разделять классы или предсказывать значения.
▪️ Суммарный information gain.
Это общая величина уменьшения неоднородности (например, по критерию Джини или энтропии) при разбиениях, основанных на данном признаке. Если признак приводит к большому приросту информации, он считается значимым, так как повышает предсказательную способность модели.
А вот универсальный способ оценки — permutation importance. Этот метод заключается в перемешивании значений одного признака после того, как модель обучена, и последующей оценке влияния этого признака на качество модели. Если, после перемешивания значений, качество модели резко падает, значит, признак был важен. Этот метод хорошо работает для любых моделей, так как он не зависит от внутренней структуры алгоритма.
#машинное_обучение
Оценка важности признаков в машинном обучении помогает понять, какие из них больше всего влияют на результат модели. Это полезно, чтобы интерпретировать поведение модели, улучшить её производительность, а также сократить количество признаков, минимизируя вычислительные затраты и предотвращая переобучение.
Вот специфичные для случайного леса методы:
▪️ Оценка количества разбиений по данному признаку.
В процессе построения деревьев случайный лес принимает решения на основе разбиений по различным признакам. Чем чаще признак используется для разбиения, тем более он важен для модели, так как чаще помогает разделять классы или предсказывать значения.
▪️ Суммарный information gain.
Это общая величина уменьшения неоднородности (например, по критерию Джини или энтропии) при разбиениях, основанных на данном признаке. Если признак приводит к большому приросту информации, он считается значимым, так как повышает предсказательную способность модели.
А вот универсальный способ оценки — permutation importance. Этот метод заключается в перемешивании значений одного признака после того, как модель обучена, и последующей оценке влияния этого признака на качество модели. Если, после перемешивания значений, качество модели резко падает, значит, признак был важен. Этот метод хорошо работает для любых моделей, так как он не зависит от внутренней структуры алгоритма.
#машинное_обучение
❤2👍2
Forwarded from Proglib.academy | IT-курсы
Что вы знаете про критерий Шовене?
Он позволяет найти выбросы в данных. Согласно критерию Шовене, значение p i-ое является выбросом, если выполнено неравенство, указанное на картинке выше.p с чертой — это среднее. А в знаменателе стоит отклонение. n — это объём выборки. Функция erfc является дополнением к функции ошибок (её вид, впрочем, неважен). С возрастанием аргумента, значение функции erfc стремится к нулю. То есть чем меньше значение функции, тем сильнее p i-ое отстоит от среднего значения, а значит является выбросом.
Фактически, использование критерия Шовене представляет собой итерационную процедуру, позволяющую найти все аномалии в данных за несколько шагов.
Подтяните свои знания о машинном обучении вместе с нашим курсом:
🔵 Базовые модели ML и приложения
#машинное_обучение
Он позволяет найти выбросы в данных. Согласно критерию Шовене, значение p i-ое является выбросом, если выполнено неравенство, указанное на картинке выше.
Фактически, использование критерия Шовене представляет собой итерационную процедуру, позволяющую найти все аномалии в данных за несколько шагов.
Подтяните свои знания о машинном обучении вместе с нашим курсом:
#машинное_обучение
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍3