Logo
TGCATALOG
Catalog Collections Blog
Data Science - interviews

Data Science - interviews

Data Science interviews.

No ratings
608
29.10.2026
608
29.10.2026
No ratings
608
29.10.2026
Safe redirect via bot
О канале

Data Science interviews.

Подписчиков 4,871
Тематика Technology
Язык English
Ссылка t.me/easy_ds

We also recommend

Kekaton AI | Voiceover and voice clone
Kekaton AI | Voiceover and voice clone
Bot

AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.

Description

Interview questions on Data Science.

Latest posts

Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 Назови пример для мультиклассовой и мультилейбловой задачи Распознавание рукописных цифр (0–9) в задаче MNIST. Входные данные: изображение (28×28 пикселей). Выход: один из 10 классов (0, 1, 2, ..., 9). from sklearn.datasets import load_digits from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # Загружаем данные digits = load_digits() X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.2, random_state=42) # Обучаем модель model = LogisticRegression(max_iter=5000, multi_class='multinomial', solver='lbfgs') model.fit(X_train, y_train) # Делаем предсказание y_pred = model.predict(X_test) print(f'Accuracy: {accuracy_score(y_test, y_pred)}') Пример для мультилейбловой (multilabel) задачи В мультилейбловой классификации у одного объекта может быть несколько меток одновременно. Классификация жанров фильмов на основе описания. Один фильм может относиться сразу к нескольким жанрам: Фильм: "Матрица" Жанры: [боевик, научная фантастика, триллер] Используем MultiLabelBinarizer и OneVsRestClassifier: from sklearn.datasets import make_multilabel_classification from sklearn.linear_model import LogisticRegression from sklearn.multiclass import OneVsRestClassifier from sklearn.preprocessing import MultiLabelBinarizer # Генерируем синтетические мультилейбловые данные X, y = make_multilabel_classification(n_samples=1000, n_classes=5, n_labels=2, random_state=42) # Разделяем данные X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Обучаем мультилейбловую модель model = OneVsRestClassifier(LogisticRegression(max_iter=5000)) model.fit(X_train, y_train) # Делаем предсказание y_pred = model.predict(X_test) # Выводим пример предсказания print(f'Пример реальных меток: {y_test[0]}') print(f'Пример предсказанных меток: {y_pred[0]}') Ставь 👍 и забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 Какие есть усовершенствования бинарной кросс-энтропии? Улучшения бинарной кросс-энтропии включают Focal Loss для фокусировки на сложных примерах, Weighted Binary Cross-Entropy для учета дисбаланса классов, и Label Smoothing для сглаживания меток, что помогает модели обобщать и снижает переобучение. 🟠Focal Loss Была разработана для улучшения обработки несбалансированных данных, когда классы имеют значительное различие в количестве образцов. Эта функция потерь добавляет коэффициент, который уменьшает вес хорошо классифицированных примеров, что позволяет модели больше сосредотачиваться на сложных или ошибочно классифицированных примерах. import tensorflow as tf def focal_loss(gamma=2., alpha=0.25): def focal_loss_fixed(y_true, y_pred): y_true = tf.cast(y_true, tf.float32) alpha_t = y_true * alpha + (tf.ones_like(y_true) - y_true) * (1 - alpha) p_t = y_true * y_pred + (tf.ones_like(y_true) - y_true) * (tf.ones_like(y_pred) - y_pred) fl = - alpha_t * tf.pow((tf.ones_like(y_true) - p_t), gamma) * tf.math.log(p_t) return tf.reduce_mean(fl) return focal_loss_fixed 🟠Weighted Binary Cross-Entropy Позволяет назначать разные веса классам, чтобы сбалансировать вклад каждого класса в общую функцию потерь. Это особенно полезно для работы с несбалансированными наборами данных. import tensorflow as tf def weighted_binary_crossentropy(y_true, y_pred, beta=1.0): y_true = tf.cast(y_true, tf.float32) epsilon = tf.keras.backend.epsilon() y_pred = tf.clip_by_value(y_pred, epsilon, 1. - epsilon) return -beta * y_true * tf.math.log(y_pred) - (1 - beta) * (1 - y_true) * tf.math.log(1 - y_pred) 🟠Hinge Loss Обычно используется для задач бинарной классификации с поддерживающими векторами (SVM). Она также может быть использована с нейронными сетями, когда требуется максимизировать разницу между классами. import tensorflow as tf def hinge_loss(y_true, y_pred): y_true = tf.cast(y_true, tf.float32) y_true = 2 * y_true - 1 # Преобразуем метки 0/1 в -1/1 return tf.reduce_mean(tf.maximum(0., 1. - y_true * y_pred)) 🟠Dice Loss Особенно полезна для задач сегментации, так как она измеряет сходство между предсказанным и истинным набором данных. Это усовершенствование бинарной кросс-энтропии учитывает пересечение и объединение предсказанных и истинных классов. import tensorflow as tf def dice_loss(y_true, y_pred, smooth=1): y_true = tf.cast(y_true, tf.float32) y_pred = tf.cast(y_pred, tf.float32) intersection = tf.reduce_sum(y_true * y_pred) return 1 - (2. * intersection + smooth) / (tf.reduce_sum(y_true) + tf.reduce_sum(y_pred) + smooth) Ставь 👍 и забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 Как обучается модель? Процесс обучения модели машинного обучения включает: 1. Предобработку данных – нормализация, удаление выбросов, кодирование категориальных признаков. 2. Выбор модели – линейная регрессия, дерево решений, нейросети и т. д. 3. Разделение данных – обучение (train), валидация (validation), тестирование (test). 4. Оптимизация параметров – подбор коэффициентов с помощью градиентного спуска или других методов. 5. Оценка качества – использование метрик (MSE, Accuracy, ROC-AUC). Модель обучается за счет минимизации функции потерь и корректировки параметров. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 Если говорить про бизнес, что лучше выбрать линейную модель или дерево? Выбор между линейной моделью и деревом решений зависит от нескольких факторов: 🟠Линейная модель - Данные имеют линейные зависимости между признаками и целевой переменной. - Модель должна быть интерпретируемой (например, в финансовой сфере, где важна прозрачность решений). - Требуется быстрая работа, особенно на больших данных. - Данные не слишком сложные, без сильных взаимодействий между признаками. 🟠Дерево решений - Данные имеют сложные, нелинейные зависимости. - Важна автоматическая обработка пропущенных значений и отсутствие необходимости масштабировать данные. - Нужно учитывать взаимодействия между признаками (например, если один признак влияет на результат только при определённом значении другого признака). - Интерпретация менее важна, но важна высокая точность. 🚩Примеры 🟠Линейная модель: прогноз продаж по цене Допустим, у нас есть зависимость: чем выше цена, тем ниже продажи. Можно использовать линейную регрессию: from sklearn.linear_model import LinearRegression X = [[10], [20], [30], [40]] # Цена товара y = [1000, 800, 600, 400] # Продажи model = LinearRegression() model.fit(X, y) print(model.predict([[25]])) # Прогнозируем продажи при цене 25 🟠Дерево решений: кредитный скоринг Допустим, банк решает, выдавать ли кредит. У клиента есть признаки: доход, возраст, наличие задолженности. Взаимодействия сложные, например: - Если у человека низкий доход и есть задолженность, то отказ. - Если высокий доход, но был просроченный кредит, нужно учитывать другие факторы. from sklearn.tree import DecisionTreeClassifier X = [[25, 30000, 0], [40, 60000, 1], [35, 80000, 0], [50, 50000, 1]] # Возраст, доход, задолженность y = [0, 0, 1, 1] # 0 - отказ, 1 - одобрение model = DecisionTreeClassifier() model.fit(X, y) print(model.predict([[30, 70000, 0]])) # Прогноз для нового клиента Ставь 👍 и забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 В чем отличия между loc и iloc? В pandas `loc` используется для доступа по метке (label) индекса, а `iloc` — для доступа по числовому индексу, независимо от того, как промаркированы индексы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 Как работает градиентный спуск? Это фундаментальный алгоритм оптимизации, используемый для минимизации функции потерь в машинном обучении и статистической оптимизации. Этот метод основан на идее, что если вы хотите найти минимум функции, вы должны двигаться в направлении, противоположном градиенту функции в данной точке. 🚩Основные шаги алгоритма 1⃣Инициализация Начните с случайного значения параметра(ов) \( \theta \) (например, веса в линейной регрессии). 2⃣Вычисление градиента Определите градиент функции потерь в текущей точке \( \theta \). Градиент показывает направление наискорейшего увеличения функции, поэтому для минимизации мы движемся в противоположном направлении. 3⃣Обновление параметра Обновите параметр, двигаясь в направлении, противоположном градиенту: \theta := \theta - \eta \nabla_{\theta} J(\theta) где \( \eta \) — это скорость обучения, которая определяет размер шага. 4⃣Повторение Повторяйте шаги 2 и 3, пока не будет достигнут критерий остановки (например, когда изменение \( \theta \) становится незначительным или количество итераций превышает предел). 🚩Важные аспекты 🟠Скорость обучения \( \eta \) Если скорость обучения слишком велика, может произойти "перепрыгивание" минимума, если слишком мала — процесс обучения будет очень медленным. 🟠Выбор начальной точки Начальная точка может существенно повлиять на то, достигнет ли процесс локального минимума, глобального минимума или застрянет в плато. 🟠Нормализация данных При работе с многомерными данными рекомендуется нормализовать данные, чтобы обеспечить равномерное масштабирование признаков. Это ускоряет сходимость градиентного спуска. import numpy as np def gradient_descent(x, y, lr=0.01, epochs=1000): m, b = 0, 0 # начальные параметры n = len(y) # количество данных for _ in range(epochs): f = y - (m*x + b) # функция потерь # Градиенты по m и b dm = -2 * np.sum(x * f) / n db = -2 * np.sum(f) / n # Обновление параметров m -= lr * dm b -= lr * db return m, b # Пример данных x = np.array([1, 2, 3, 4, 5]) y = np.array([2, 4, 5, 4, 5]) m, b = gradient_descent(x, y, lr=0.01, epochs=1000) print(f"Наклон m: {m}, Пересечение b: {b}") Ставь 👍 и забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 За что мэп штрафует больше: за перепрогноз или недопрогноз? MAP (Mean Average Precision) больше штрафует за недопрогноз (упущенные релевантные элементы), так как метрика ориентирована на точность в верхней части ранжированного списка. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 Как можно классифицировать бинарные картинки фигур? Может быть выполнена с использованием различных методов машинного обучения и глубокого обучения. Бинарные изображения фигур – это изображения, на которых каждый пиксель имеет либо черное, либо белое значение, что упрощает задачи предобработки и классификации. 🟠Предобработка данных Первый шаг включает подготовку данных для обучения модели. 🟠Нормализация и масштабирование Нормализация: Преобразование значений пикселей в диапазон [0, 1]. Масштабирование: Преобразование изображений к единому размеру для обеспечения согласованности данных. 🟠Аугментация данных Ротация, масштабирование, сдвиг: Создание дополнительных данных для улучшения обобщающей способности модели. Пример кода на Python (используя OpenCV и NumPy): import cv2 import numpy as np def preprocess_image(image): # Масштабирование изображения до размера 28x28 image_resized = cv2.resize(image, (28, 28)) # Нормализация значений пикселей image_normalized = image_resized / 255.0 return image_normalized def augment_image(image): # Ротация изображения на случайный угол angle = np.random.randint(-30, 30) M = cv2.getRotationMatrix2D((14, 14), angle, 1.0) augmented_image = cv2.warpAffine(image, M, (28, 28)) return augmented_image 🟠Оценка и улучшение модели Метрики оценки: Точность (accuracy), точность (precision), полнота (recall), F1-score. Кросс-валидация: Для оценки обобщающей способности модели. Ставь 👍 и забирай 📚 Базу знаний
Data Science - interviews
Data Science - interviews
🔒Открыть пост
и посмотреть медиа
🤔 Как делается прунинг деревьев? 1. Pre-pruning: остановка роста дерева по заранее заданным критериям (глубина, минимальный размер листа). 2. Post-pruning: удаление "слабых" ветвей после построения дерева для улучшения обобщения. 3. Метрики, такие как ошибка на валидационной выборке, помогают оценить, какие ветви обрезать. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Data Science - interviews
FAQ

Open Data Science - interviews in Telegram and press the Start button. No separate registration is required.

Yes. The service is designed to be straightforward: open the resource, follow the on-screen instructions and start using it.

No. You can use Data Science - interviews directly in Telegram unless the resource description says otherwise.

Access depends on the resource. Check the current information in Telegram after opening Data Science - interviews.

The exact features depend on the resource. Open Data Science - interviews to see its current functions, content and access conditions.
Subscriber dynamics
+-0.7% last 30 days
Current
4,871
Month ago
4,906
Average growth
+-1 / day
Updated
8 hours ago

Reviews for channel Data Science - interviews

Log in to leave a review

Only registered users can share their opinion.

No reviews yet

Be the first to share your impression of this resource!

Similar resources

Loading
Switch to Light Theme
Home Catalog Collections Blog Login