Logo
TGCATALOG
Catálogo Selecciones Blog
Ciencia de los datos - entrevistas

Ciencia de los datos - entrevistas

Entrevistas de Data Science.

Sin valoraciones
608
29.10.2026
608
29.10.2026
Sin valoraciones
608
29.10.2026
Redirección segura vía bot
О канале

Entrevistas de Data Science.

Подписчиков 4,871
Тематика Tecnología
Язык Español
Ссылка t.me/easy_ds

También te recomendamos

Kekaton AI  Voz en off y clon de voz
Kekaton AI Voz en off y clon de voz
Bot

bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.

Descripción

Preguntas de entrevista sobre ciencia de datos.

Últimas publicaciones

Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 Назови пример для мультиклассовой и мультилейбловой задачи Распознавание рукописных цифр (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]}') Ставь 👍 и забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 Какие есть усовершенствования бинарной кросс-энтропии? Улучшения бинарной кросс-энтропии включают 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) Ставь 👍 и забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 Как обучается модель? Процесс обучения модели машинного обучения включает: 1. Предобработку данных – нормализация, удаление выбросов, кодирование категориальных признаков. 2. Выбор модели – линейная регрессия, дерево решений, нейросети и т. д. 3. Разделение данных – обучение (train), валидация (validation), тестирование (test). 4. Оптимизация параметров – подбор коэффициентов с помощью градиентного спуска или других методов. 5. Оценка качества – использование метрик (MSE, Accuracy, ROC-AUC). Модель обучается за счет минимизации функции потерь и корректировки параметров. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 Если говорить про бизнес, что лучше выбрать линейную модель или дерево? Выбор между линейной моделью и деревом решений зависит от нескольких факторов: 🟠Линейная модель - Данные имеют линейные зависимости между признаками и целевой переменной. - Модель должна быть интерпретируемой (например, в финансовой сфере, где важна прозрачность решений). - Требуется быстрая работа, особенно на больших данных. - Данные не слишком сложные, без сильных взаимодействий между признаками. 🟠Дерево решений - Данные имеют сложные, нелинейные зависимости. - Важна автоматическая обработка пропущенных значений и отсутствие необходимости масштабировать данные. - Нужно учитывать взаимодействия между признаками (например, если один признак влияет на результат только при определённом значении другого признака). - Интерпретация менее важна, но важна высокая точность. 🚩Примеры 🟠Линейная модель: прогноз продаж по цене Допустим, у нас есть зависимость: чем выше цена, тем ниже продажи. Можно использовать линейную регрессию: 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]])) # Прогноз для нового клиента Ставь 👍 и забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 В чем отличия между loc и iloc? В pandas `loc` используется для доступа по метке (label) индекса, а `iloc` — для доступа по числовому индексу, независимо от того, как промаркированы индексы. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 Как работает градиентный спуск? Это фундаментальный алгоритм оптимизации, используемый для минимизации функции потерь в машинном обучении и статистической оптимизации. Этот метод основан на идее, что если вы хотите найти минимум функции, вы должны двигаться в направлении, противоположном градиенту функции в данной точке. 🚩Основные шаги алгоритма 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}") Ставь 👍 и забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 За что мэп штрафует больше: за перепрогноз или недопрогноз? MAP (Mean Average Precision) больше штрафует за недопрогноз (упущенные релевантные элементы), так как метрика ориентирована на точность в верхней части ранжированного списка. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 Как можно классифицировать бинарные картинки фигур? Может быть выполнена с использованием различных методов машинного обучения и глубокого обучения. Бинарные изображения фигур – это изображения, на которых каждый пиксель имеет либо черное, либо белое значение, что упрощает задачи предобработки и классификации. 🟠Предобработка данных Первый шаг включает подготовку данных для обучения модели. 🟠Нормализация и масштабирование Нормализация: Преобразование значений пикселей в диапазон [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. Кросс-валидация: Для оценки обобщающей способности модели. Ставь 👍 и забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Ciencia de los datos - entrevistas
🔒Открыть пост
и посмотреть медиа
🤔 Как делается прунинг деревьев? 1. Pre-pruning: остановка роста дерева по заранее заданным критериям (глубина, минимальный размер листа). 2. Post-pruning: удаление "слабых" ветвей после построения дерева для улучшения обобщения. 3. Метрики, такие как ошибка на валидационной выборке, помогают оценить, какие ветви обрезать. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Ciencia de los datos - entrevistas
Evolución de suscriptores
+-0.7% últimos 30 días
Actuales
4,871
Hace un mes
4,906
Crecimiento medio
+-1 / día
Actualizado
hace 8 horas

Reseñas de canal Ciencia de los datos - entrevistas

Inicia sesión para dejar una reseña

Solo los usuarios registrados pueden compartir su opinión.

Aún no hay reseñas

¡Sé el primero en compartir tu experiencia con este recurso!

Recursos similares

Loading
Cambiar a tema claro
Inicio Catálogo Selecciones Blog Entrar