en
Feedback
Библиотека собеса по Data Science | вопросы с собеседований

Библиотека собеса по Data Science | вопросы с собеседований

Open in Telegram

Вопросы с собеседований по Data Science и ответы на них. Учиться у нас: clc.to/GjjbkQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7dfb7235 Для обратной связи: @proglibrary_feeedback_bot

Show more
4 477
Subscribers
+224 hours
-107 days
-1330 days
Posts Archive
Почему удаление высоко коррелированных признаков считается хорошей практикой? Удаление высоко коррелированных признаков считается хорошей практикой по нескольким причинам: ▫️Устранение мультиколлинеарности Когда два или более признаков имеют высокую корреляцию, это может привести к проблеме мультиколлинеарности, особенно в линейных моделях, таких как линейная регрессия и логистическая регрессия. Мультиколлинеарность означает, что признаки не несут дополнительной информации, что приводит к нестабильности коэффициентов модели. Модель может стать чувствительной к малым изменениям в данных, что вызывает большие изменения в оценке параметров. ▫️Снижение размерности Каждый добавленный признак увеличивает размерность пространства признаков, что усложняет модель. Это может привести к проблеме, известной как «проклятие размерности» (curse of dimensionality). В пространствах высокой размерности расстояния между точками увеличиваются, и данные становятся более разреженными. Это затрудняет обучение модели, так как для правильного обобщения данных требуется больше наблюдений, чтобы покрыть все возможные комбинации признаков. Удаление коррелированных признаков помогает уменьшить размерность и улучшить работу модели. ▫️Улучшение интерпретируемости модели Когда признаки высоко коррелированы, интерпретировать влияние каждого признака на итоговый результат модели становится сложно. Например, в линейных моделях трудно определить, какой из коррелированных признаков на самом деле влияет на результат, так как они могут взаимозависимо изменять коэффициенты друг друга. #машинное_обучение

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

🥷 Путь ML-самурая: от школьной математики до передового машинного обучения В новой статье рассказываем, что именно нужно изу
🥷 Путь ML-самурая: от школьной математики до передового машинного обучения В новой статье рассказываем, что именно нужно изучить, чтобы стать ML-специалистом. Начинаем с простого — базовой математики, — а заканчиваем многомерным анализом и нейросетями. О том, как не потерять мотивацию в процессе обучения, тоже написали 🤝 👉 Читать статью

Лучший способ подготовиться к собесу — это...
Anonymous voting

💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры В условиях нехватки опытных специалистов и наплыва джу
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка. Читать статью #почитать

Напишите логистическую регрессию
import numpy as np

class LogisticRegression:
    
    def __init__(self, learning_rate=0.01, n_iters=1000):
        self.learning_rate = learning_rate
        self.n_iters = n_iters
        self.weights = None
        self.bias = None
        
    def fit(self, X, y):
        # initialize weights and bias to zeros
        n_samples, n_features = X.shape
        self.weights = np.zeros(n_features)
        self.bias = 0
        
        # gradient descent optimization
        for i in range(self.n_iters):
            # calculate predicted probabilities and cost
            z = np.dot(X, self.weights) + self.bias
            y_pred = self._sigmoid(z)
            cost = (-1 / n_samples) * np.sum(y * np.log(y_pred) + (1 - y) * np.log(1 - y_pred))
            
            # calculate gradients
            dw = (1 / n_samples) * np.dot(X.T, (y_pred - y))
            db = (1 / n_samples) * np.sum(y_pred - y)
            
            # update weights and bias
            self.weights -= self.learning_rate * dw
            self.bias -= self.learning_rate * db
            
    def predict(self, X):
        # calculate predicted probabilities
        z = np.dot(X, self.weights) + self.bias
        y_pred = self._sigmoid(z)
        # convert probabilities to binary predictions
        return np.round(y_pred).astype(int)
    
    def _sigmoid(self, z):
        return 1 / (1 + np.exp(-z))
#python #машинное_обучение

👨‍🎓📈 Как выбрать специализацию и начать обучение Data Science Рассказываем об этапах обучения, которые необходимо пройти н
👨‍🎓📈 Как выбрать специализацию и начать обучение Data Science Рассказываем об этапах обучения, которые необходимо пройти новичку для начала карьеры в Data Science. Путь от выбора специализации до выработки практических навыков будет непростым. Наш курс по математике для начала карьеры в Data Science: 🔵 Математика для Data Science 🔵 Основы программирования на Python 📎 Читать статью

Как бы вы разработали систему детекции вредоносного контента в соцсетях? Начнём с того, что нужно определить типы вредоносного контента, которые мы хотим отслеживать: это могут быть хейтспич, угрозы насилия, кибербуллинг и др. Затем важно понять объём контента, который предстоит анализировать (например, сотни миллионов постов в день), и то, какие языки должны поддерживаться. Важно организовать сбор данных. Посты пользователей могут быть размечены либо автоматически (через пользовательские жалобы), либо вручную с участием модераторов для более точной оценки. Одним из главных вызовов является разработка мультимодальной модели. Вредоносный контент может быть представлен в разных форматах: текст, изображения, видео, поэтому необходимо эффективно обрабатывать все эти типы данных. Для этого можно использовать методы раннего и позднего слияния данных: либо объединять данные разных типов сразу для единого предсказания, либо обрабатывать их независимо и затем объединять результаты. Для разработки могут использоваться нейронные сети, такие как модели на основе BERT для текстов и модели CLIP для изображений. Важной частью системы также является возможность объяснить пользователю, почему его контент был помечен как вредоносный. Кроме того, в процессе онлайн-тестирования и развёртывания системы необходимо следить за её эффективностью через метрики, такие как процент вредоносных постов и количество успешных апелляций. #машинное_обучение

🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хо
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом. Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций. Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах. 👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.

Опишите процесс предобработки видеоданных для их использования в ML-моделях 🔹Предобработка на уровне кадров Этапы предобработки видеоданных на уровне отдельных кадров включают: ▪️Сэмплирование, то есть выборка ключевых кадров для сокращения объёма данных. ▪️Приведение всех кадров к одинаковому размеру. ▪️Масштабирование и нормализация, то есть корректировка значений пикселей. Чаще всего нормализация осуществляется для приведения значений к диапазону [0, 1] или [-1, 1]. 🔹Видеоэнкодеры ▪️Обработка видео целиком — с помощью 3D-свёрточных сетей (3D-CNN) или трансформеров. Эти модели захватывают как пространственные, так и временные зависимости между кадрами. Такой метод более ресурсоёмкий, но позволяет модели лучше улавливать динамику видеоряда. ▪️Обработка отдельных кадров — каждый кадр обрабатывается отдельно для получения эмбеддингов, которые затем агрегируются (например, с помощью усреднения или рекуррентных сетей). Этот подход быстрее, но может потерять часть информации о временных зависимостях. #машинное_обучение

Как правильно подготовиться к техническому интервью 👀

🐍⚙️ 10 способов оптимизации Python-кода Python ценят за простоту, гибкость и читаемость, но критикуют за невысокую производи
🐍⚙️ 10 способов оптимизации Python-кода Python ценят за простоту, гибкость и читаемость, но критикуют за невысокую производительность. Эта критика не всегда обоснована: есть несколько эффективных способов значительно повысить скорость Python-приложений, предназначенных для выполнения сложных вычислений и обработки больших объёмов данных. Об этих способах читайте в нашей статье 👈

❗Вакансии «Библиотеки программиста» — ждем вас в команде! Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем: 👉контент-менеджеров для ведения телеграм-каналов Подробности тут Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴 Ждем ваших откликов 👾

Почему свёрточные нейросети оказались лучше обычных (MLP, например) именно в задачах классификации изображений? 🔹Количество параметров Представим, что вы решили использовать обычную многослойную сеть с кросс-энтропией для классификации изображений, предварительно развернув каждую картинку в вектор. В таком случае, количество параметров в первом слое будет зависеть от размерности вектора (например, 1920x1080) и числа нейронов. Если количество нейронов слишком мало, мы рискуем потерять важную информацию. Свёрточные нейросети предлагают решение этой проблемы. Их архитектура позволяет значительно сократить количество параметров за счёт использования свёрток и пулинговых слоёв. Это не только уменьшает сложность модели, но и помогает сохранять важные характеристики изображений. 🔹Структура данных Обычная многослойная нейронная сеть должна справляться с инвариантностью к различным преобразованиям изображений, таким как повороты и сдвиги. Это достигается увеличением числа нейронов в скрытых слоях, что нежелательно с точки зрения вычислительных ресурсов и риска переобучения. Свёрточные нейросети, благодаря своей структуре, автоматически учитывают локальные паттерны в изображениях и могут обрабатывать данные иерархически. Это означает, что CNN способны выделять важные признаки на разных уровнях абстракции, что улучшает обобщающую способность модели и её устойчивость к трансформациям. #глубокое_обучение

📊🚀💡Power BI: когда Excel уже не справляется Представьте, что все ключевые показатели вашего бизнеса доступны в один клик.
📊🚀💡Power BI: когда Excel уже не справляется Представьте, что все ключевые показатели вашего бизнеса доступны в один клик. Мы расскажем, как BI-инструменты делают это реальностью и почему без них уже не обойтись. 👉 Читать статью

Какие существуют методы разбиения в алгоритмах построения решающих деревьев? 🔹Индекс Джини (Gini Impurity) Используется для задач классификации. Он измеряет вероятность того, что случайно выбранный объект будет неправильно классифицирован. Чем ниже значение индекса Джини, тем «чище» разбиение. 🔹Информационный прирост (Information Gain) Он измеряет то, как снижается энтропия (степень неопределённости) после разбиения данных. Этот метод помогает выбрать наилучший признак для разбиения в задачах классификации. 🔹Дисперсия (Variance) Для задач регрессии, где целевая переменная является непрерывной, используется метод дисперсии. Цель — минимизировать разброс значений целевой переменной в подмножествах после разбиения. #машинное_обучение

🌐 Преимущества и недостатки работы в ИТ-аутсорсинговой компании В этой статье мы разберемся, какие плюсы и минусы предполага
🌐 Преимущества и недостатки работы в ИТ-аутсорсинговой компании В этой статье мы разберемся, какие плюсы и минусы предполагает в себе работа в аутсорсинговой компании. Вы узнаете, чем привлекательна работа в этой сфере, с какими трудностями вам придется столкнуться и как сделать правильный выбор, чтобы аутсорсинг стал не ловушкой, а трамплином к успеху. Получите основу для дальнейшего изучения более сложных нейронных сетей: 🔵 Базовые модели ML и приложения 🔗 Ссылка на статью

Какую функцию активации использовать для классов, которые не являются взаимоисключающими? В таких случаях предсказание для каждого класса можно рассматривать как отдельную задачу бинарной классификации — задачу предсказания того, принадлежит объект к конкретному классу или нет. Наиболее распространённый подход для такой задачи — это использование сигмоиды в качестве функции активации и бинарной кросс-энтропии в качестве функции потерь. Сигмоида на каждом выходе даёт вероятность принадлежности объекта к классу, а бинарная кросс-энтропия измеряет разницу между предсказанными вероятностями и истинными метками для каждого класса. #машинное_обучение

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

Считаете ли вы нужным как-то готовиться к поведенческому (behavioral) интервью?
Anonymous voting