bootg.com »
United States »
Библиотека собеса по Data Science | вопросы с собеседований » Telegram Web
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🃏 Как написать пасьянс на Python
Пасьянс «Косынка» — одна из самых популярных карточных игр.
👍 В этой статье мы разберем, как реализовать «Косынку» с использованием библиотеки Tkinter: детально рассмотрим логику игры, настройки интерфейса, а также визуализацию и обработку перемещений карт.
🤓 Статья
#игрынаPython
Пасьянс «Косынка» — одна из самых популярных карточных игр.
👍 В этой статье мы разберем, как реализовать «Косынку» с использованием библиотеки Tkinter: детально рассмотрим логику игры, настройки интерфейса, а также визуализацию и обработку перемещений карт.
🤓 Статья
#игрынаPython
В чем разница между ошибкой первого рода (Type I) и ошибкой второго рода (Type II)
🔴 Ошибка первого рода (Type I): Модель ошибочно классифицирует объект как положительный, хотя на самом деле он относится к отрицательному классу. Например, алгоритм распознавания спама пометил обычное письмо как спам.
🔵 Ошибка второго рода (Type II): Модель не распознает объект положительного класса и относит его к отрицательному. Например, спам-письмо не было обнаружено и осталось в папке «Входящие».
💡 Простая метафора:
🔴 Ошибка первого рода — сказать мужчине, что он беременен.
🔵 Ошибка второго рода — сказать беременной женщине, что она не ждет ребенка.
⚙️ Почему это важно
Баланс между этими ошибками критичен в задачах классификации, таких как медицинская диагностика или обнаружение мошенничества. Метрики (например, точность, полнота, F1-мера) помогают определить, какой тип ошибки важнее минимизировать в зависимости от задачи.
🔴 Ошибка первого рода (Type I): Модель ошибочно классифицирует объект как положительный, хотя на самом деле он относится к отрицательному классу. Например, алгоритм распознавания спама пометил обычное письмо как спам.
🔵 Ошибка второго рода (Type II): Модель не распознает объект положительного класса и относит его к отрицательному. Например, спам-письмо не было обнаружено и осталось в папке «Входящие».
💡 Простая метафора:
🔴 Ошибка первого рода — сказать мужчине, что он беременен.
🔵 Ошибка второго рода — сказать беременной женщине, что она не ждет ребенка.
⚙️ Почему это важно
Баланс между этими ошибками критичен в задачах классификации, таких как медицинская диагностика или обнаружение мошенничества. Метрики (например, точность, полнота, F1-мера) помогают определить, какой тип ошибки важнее минимизировать в зависимости от задачи.
🔍 Разница между LDA и PCA для уменьшения размерности
LDA (Линейный дискриминантный анализ) и PCA (Метод главных компонент) — это линейные техники преобразования для уменьшения размерности, но у них разные цели и методы работы:
🧑🏫 LDA — это контролируемая техника, которая учитывает метки классов при преобразовании. LDA стремится найти подпространство признаков, которое максимально разделяет классы.
🔄 PCA — это бесконтрольная техника, которая игнорирует метки классов. PCA ищет направления максимальной дисперсии в данных, не учитывая, к какому классу принадлежит объект.
📊 Применение:
- LDA используется для улучшения разделимости классов в задачах классификации.
- PCA используется для уменьшения размерности и улучшения вычислительной эффективности.
LDA (Линейный дискриминантный анализ) и PCA (Метод главных компонент) — это линейные техники преобразования для уменьшения размерности, но у них разные цели и методы работы:
🧑🏫 LDA — это контролируемая техника, которая учитывает метки классов при преобразовании. LDA стремится найти подпространство признаков, которое максимально разделяет классы.
🔄 PCA — это бесконтрольная техника, которая игнорирует метки классов. PCA ищет направления максимальной дисперсии в данных, не учитывая, к какому классу принадлежит объект.
📊 Применение:
- LDA используется для улучшения разделимости классов в задачах классификации.
- PCA используется для уменьшения размерности и улучшения вычислительной эффективности.
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🐜 Как создавать ИИ-агентов, которые реально работают: опыт Anthropic
В лабораториях Anthropic в 2025 году создают новое поколение ИИ-агентов. Они не просто следуют командам — они принимают решения.
🤖 Как написать работающего ИИ-агента? Делимся практическими советами от команды, создавшей Claude.
👉 Статья
#агентыИИ #Claude
В лабораториях Anthropic в 2025 году создают новое поколение ИИ-агентов. Они не просто следуют командам — они принимают решения.
🤖 Как написать работающего ИИ-агента? Делимся практическими советами от команды, создавшей Claude.
👉 Статья
#агентыИИ #Claude
🚀 Реализуйте Non-Maximum Suppression (NMS) максимально эффективно
NMS — это техника, используемая для устранения нескольких детекций одного и того же объекта на изображении.
1. Чтобы решить эту задачу, нужно сначала отсортировать детекции по их оценкам (O(N log N)). 2. Начинаем с детекции с наивысшей оценкой и удаляем те детекции, чье перекрытие (метрика IoU) с текущей детекцией больше заданного порога (O(N^2)).
⚙️ Для оптимизации этого решения можно использовать специальные структуры данных, такие как R-дерево или KD-дерево, для быстрого поиска пересекающихся детекций (O(N log N)).
NMS — это техника, используемая для устранения нескольких детекций одного и того же объекта на изображении.
1. Чтобы решить эту задачу, нужно сначала отсортировать детекции по их оценкам (O(N log N)). 2. Начинаем с детекции с наивысшей оценкой и удаляем те детекции, чье перекрытие (метрика IoU) с текущей детекцией больше заданного порога (O(N^2)).
⚙️ Для оптимизации этого решения можно использовать специальные структуры данных, такие как R-дерево или KD-дерево, для быстрого поиска пересекающихся детекций (O(N log N)).
Что такое методы выбора признаков и какие они бывают
Существует два основных метода для выбора признаков: фильтровые и обертки.
1. Фильтровые методы:
🔹 Линейный дискриминантный анализ (LDA)
🔹 ANOVA (дисперсионный анализ)
🔹 Хи-квадрат
Эти методы направлены на выбор признаков на основе статистических тестов, таких как анализ различий между группами данных.
2. Методы обертки:
🔸 Прямой отбор (Forward Selection): тестируем каждый признак по очереди и добавляем их до тех пор, пока не получим хорошую модель.
🔸 Обратный отбор (Backward Selection): начинаем с всех признаков и последовательно исключаем их, чтобы найти оптимальный набор.
🔸 Рекурсивное исключение признаков (Recursive Feature Elimination): анализирует взаимодействие признаков и исключает наименее важные.
Методы обертки требуют больше вычислительных ресурсов, так как они предполагают многократные прогоны модели с разными наборами признаков.
Существует два основных метода для выбора признаков: фильтровые и обертки.
1. Фильтровые методы:
🔹 Линейный дискриминантный анализ (LDA)
🔹 ANOVA (дисперсионный анализ)
🔹 Хи-квадрат
Эти методы направлены на выбор признаков на основе статистических тестов, таких как анализ различий между группами данных.
2. Методы обертки:
🔸 Прямой отбор (Forward Selection): тестируем каждый признак по очереди и добавляем их до тех пор, пока не получим хорошую модель.
🔸 Обратный отбор (Backward Selection): начинаем с всех признаков и последовательно исключаем их, чтобы найти оптимальный набор.
🔸 Рекурсивное исключение признаков (Recursive Feature Elimination): анализирует взаимодействие признаков и исключает наименее важные.
Методы обертки требуют больше вычислительных ресурсов, так как они предполагают многократные прогоны модели с разными наборами признаков.
Forwarded from Proglib.academy | IT-курсы
Рассказываем об основных терминах, методах и инструментах, которые используются при анализе больших данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❓ Как можно объявить временной ряд стационарным
Временной ряд считается стационарным, когда его дисперсия и среднее значение остаются постоянными во времени.
📈 Пример визуализации:
1️⃣ На первом графике дисперсия постоянна во времени. X — это временной фактор, а Y — переменная. Значение Y проходит через одни и те же точки на графике, что означает, что ряд стационарен.
2️⃣ Графики 2-4 отображают нестационарные ряды. Наблюдается либо возрастающая амплитуда колебаний (дисперсия), либо явный тренд.
📉 Вывод
Если дисперсия и среднее значение остаются стабильными, то временной ряд стационарен. Если они изменяются, то ряд нестационарен.
Временной ряд считается стационарным, когда его дисперсия и среднее значение остаются постоянными во времени.
📈 Пример визуализации:
1️⃣ На первом графике дисперсия постоянна во времени. X — это временной фактор, а Y — переменная. Значение Y проходит через одни и те же точки на графике, что означает, что ряд стационарен.
2️⃣ Графики 2-4 отображают нестационарные ряды. Наблюдается либо возрастающая амплитуда колебаний (дисперсия), либо явный тренд.
📉 Вывод
Если дисперсия и среднее значение остаются стабильными, то временной ряд стационарен. Если они изменяются, то ряд нестационарен.
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
job.proglib.io
Вакансии в медиа «Библиотека программиста»
Количество проектов в редакции постоянно растет, так что нам всегда нужны специалисты
📊 Параметрические и непараметрические модели: в чем разница
🔗 Параметрические модели предполагают заранее заданную форму зависимости между входными и выходными данными. Это упрощает процесс обучения, но ограничивает гибкость модели.
🤖 Непараметрические модели, напротив, не предполагают фиксированной формы зависимости и могут адаптироваться к большему количеству шаблонов в данных. Это делает их более гибкими, но требует большего количества данных для точных прогнозов.
Параметрические модели подходят для задач, где важна скорость обучения, а непараметрические лучше работают с более сложными и разнообразными данными.
🔗 Параметрические модели предполагают заранее заданную форму зависимости между входными и выходными данными. Это упрощает процесс обучения, но ограничивает гибкость модели.
🤖 Непараметрические модели, напротив, не предполагают фиксированной формы зависимости и могут адаптироваться к большему количеству шаблонов в данных. Это делает их более гибкими, но требует большего количества данных для точных прогнозов.
Параметрические модели подходят для задач, где важна скорость обучения, а непараметрические лучше работают с более сложными и разнообразными данными.
Хочешь уверенно проходить IT-интервью?
Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.
💡 Почему Т1 тренажёр — это мастхэв?
• Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше.
• Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
• Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.
Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, нообещаем, что будешь готов!
Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy
#Айти #Собеседование #Т1
Мы понимаем, как сложно подготовиться: стресс, алгоритмы, вопросы, от которых голова идёт кругом. Но с AI тренажёром всё гораздо проще.
💡 Почему Т1 тренажёр — это мастхэв?
• Получишь настоящую обратную связь: где затык, что подтянуть и как стать лучше.
• Научишься не только решать задачи, но и объяснять своё решение так, чтобы интервьюер сказал: "Вау!".
• Освоишь все этапы собеседования, от вопросов по алгоритмам до диалога о твоих целях.
Зачем листать миллион туториалов? Просто зайди в Т1 тренажёр, потренируйся и уверенно удиви интервьюеров. Мы не обещаем лёгкой прогулки, но
Реклама. ООО «Смарт Гико», ИНН 7743264341. Erid 2VtzqwP8vqy
#Айти #Собеседование #Т1
⤵️ Чем отличается метод градиентного спуска от стохастического градиентного спуска?
▪️ Метод градиентного спуска (Gradient Descent) — это оптимизационный алгоритм, который используется для минимизации функции потерь, обновляя параметры модели в направлении отрицательного градиента функции потерь. В каждом шаге используется весь обучающий набор данных для вычисления градиента.
▪️ Стохастический градиентный спуск (SGD) — это модификация, в которой градиент вычисляется только по одному случайно выбранному примеру данных на каждом шаге. Это делает процесс обучения быстрее, но более шумным.
Основное различие: градиентный спуск использует все данные, что делает его более точным, но медленным, а стохастический градиентный спуск быстрее, но может колебаться вокруг минимума из-за случайных обновлений.
▪️ Метод градиентного спуска (Gradient Descent) — это оптимизационный алгоритм, который используется для минимизации функции потерь, обновляя параметры модели в направлении отрицательного градиента функции потерь. В каждом шаге используется весь обучающий набор данных для вычисления градиента.
▪️ Стохастический градиентный спуск (SGD) — это модификация, в которой градиент вычисляется только по одному случайно выбранному примеру данных на каждом шаге. Это делает процесс обучения быстрее, но более шумным.
Основное различие: градиентный спуск использует все данные, что делает его более точным, но медленным, а стохастический градиентный спуск быстрее, но может колебаться вокруг минимума из-за случайных обновлений.
📍 Объясните разницу между параметрами модели и гиперпараметрами
🔸 Параметры модели
Автоматически настраиваются: Параметры модели определяются в процессе обучения на основе данных.
Внутреннее состояние модели: Они представляют собой внутреннее состояние модели, которое позволяет ей делать прогнозы.
Примеры: веса в нейронных сетях, коэффициенты линейной регрессии, опорные векторы в SVM.
🔸 Гиперпараметры
Задаются вручную: Гиперпараметры устанавливаются до начала обучения и влияют на процесс обучения.
Контроль обучения: Они определяют, как модель будет обучаться, а не то, что она будет предсказывать.
Примеры: скорость обучения в нейронных сетях, количество соседей в KNN, параметры ядра в SVM.
🔸 Параметры модели
Автоматически настраиваются: Параметры модели определяются в процессе обучения на основе данных.
Внутреннее состояние модели: Они представляют собой внутреннее состояние модели, которое позволяет ей делать прогнозы.
Примеры: веса в нейронных сетях, коэффициенты линейной регрессии, опорные векторы в SVM.
🔸 Гиперпараметры
Задаются вручную: Гиперпараметры устанавливаются до начала обучения и влияют на процесс обучения.
Контроль обучения: Они определяют, как модель будет обучаться, а не то, что она будет предсказывать.
Примеры: скорость обучения в нейронных сетях, количество соседей в KNN, параметры ядра в SVM.
👀 Что такое эффект мультиколлинеарности и как он может повлиять на модель линейной регрессии?
Мультиколлинеарность — это ситуация, когда два или более признака в модели линейной регрессии сильно коррелируют между собой. Это затрудняет оценку их индивидуального влияния на зависимую переменную, поскольку изменения в одном признаке могут быть связаны с изменениями в другом.
В результате мультиколлинеарности коэффициенты модели могут быть нестабильными и иметь большие стандартные ошибки, что снижает точность прогнозов и интерпретацию модели.
✅ Чтобы избежать этого, можно использовать методы, такие как удаление коррелирующих признаков, регуляризация (Lasso, Ridge) или главные компоненты (PCA) для уменьшения корреляции между признаками.
Мультиколлинеарность — это ситуация, когда два или более признака в модели линейной регрессии сильно коррелируют между собой. Это затрудняет оценку их индивидуального влияния на зависимую переменную, поскольку изменения в одном признаке могут быть связаны с изменениями в другом.
В результате мультиколлинеарности коэффициенты модели могут быть нестабильными и иметь большие стандартные ошибки, что снижает точность прогнозов и интерпретацию модели.
✅ Чтобы избежать этого, можно использовать методы, такие как удаление коррелирующих признаков, регуляризация (Lasso, Ridge) или главные компоненты (PCA) для уменьшения корреляции между признаками.
Модель показывает высокое качество на тесте, но проваливается в реальном мире. Какие шаги помогут исправить ситуацию?
✅ Сравнение распределений данных: анализируется различие между данными обучения и реальными данными для выявления distribution shift. Это помогает понять, видела ли модель похожие примеры.
✅ Анализ feature importance: определяется, какие признаки модель считает важными. Возможно, модель излишне полагается на шумовые или незначимые признаки, отсутствующие в реальных данных.
✅ Сбор реальных данных: организуется процесс сбора данных из продакшена для дообучения модели, чтобы учесть новые паттерны.
✅ Сравнение распределений данных: анализируется различие между данными обучения и реальными данными для выявления distribution shift. Это помогает понять, видела ли модель похожие примеры.
✅ Анализ feature importance: определяется, какие признаки модель считает важными. Возможно, модель излишне полагается на шумовые или незначимые признаки, отсутствующие в реальных данных.
✅ Сбор реальных данных: организуется процесс сбора данных из продакшена для дообучения модели, чтобы учесть новые паттерны.
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
💡 Как получить от нейросети код, работающий в 100 раз быстрее
Интересный эксперимент провели с Claude 3.5 Sonnet: попытались улучшить простой алгоритм на Python, раз за разом прося ИИ «написать код лучше». Задача была несложная — найти разницу между максимальным и минимальным числами в массиве, сумма цифр которых равна 30.
Казалось бы, что тут можно улучшать?
👉 Подробнее в нашей статье
#CodeOptimization
Интересный эксперимент провели с Claude 3.5 Sonnet: попытались улучшить простой алгоритм на Python, раз за разом прося ИИ «написать код лучше». Задача была несложная — найти разницу между максимальным и минимальным числами в массиве, сумма цифр которых равна 30.
Казалось бы, что тут можно улучшать?
👉 Подробнее в нашей статье
#CodeOptimization
Forwarded from Proglib.academy | IT-курсы
🤖 📈 Data Science в 2025 году: 7 главных трендов
Разработчики JetBrains и Python Software Foundation рассказали, как изменится Data Science в ближайшие годы.
➡️ В статье:
▪️ Почему доля Python в анализе данных снижается
▪️ Какие библиотеки набирают популярность вместо pandas
▪️ Что происходит с AutoML, MLOps и визуализацией данных
▪️ И почему Rust и Julia наступают Python на пятки
Подробный разбор, новые инструменты и прогнозы на будущее — всё это читай в нашей статье.
🔵 Тренды меняются, но основы остаются — укрепи базу с нашим курсом «Математика для Data Science»
Разработчики JetBrains и Python Software Foundation рассказали, как изменится Data Science в ближайшие годы.
▪️ Почему доля Python в анализе данных снижается
▪️ Какие библиотеки набирают популярность вместо pandas
▪️ Что происходит с AutoML, MLOps и визуализацией данных
▪️ И почему Rust и Julia наступают Python на пятки
Подробный разбор, новые инструменты и прогнозы на будущее — всё это читай в нашей статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
Разница между символическим и коннекционистским ИИ
Разница между символическим и коннекционистским ИИ заключается в подходах к обработке информации.
📍 Символический ИИ работает на основе чётко заданных правил и логики, где информация представляется в виде символов, связанных между собой через логические операции. Этот подход используется в экспертных системах и решении задач, где важна строгая последовательность шагов.
📍 Коннекционистский ИИ (нейросети) учится на данных, выявляя паттерны и закономерности без явных заранее заданных правил. Он адаптируется через обучение, что делает его подходящим для задач, таких как распознавание изображений, речи и классификация.
В современных системах часто используется комбинация обоих подходов для достижения лучших результатов.
Разница между символическим и коннекционистским ИИ заключается в подходах к обработке информации.
📍 Символический ИИ работает на основе чётко заданных правил и логики, где информация представляется в виде символов, связанных между собой через логические операции. Этот подход используется в экспертных системах и решении задач, где важна строгая последовательность шагов.
📍 Коннекционистский ИИ (нейросети) учится на данных, выявляя паттерны и закономерности без явных заранее заданных правил. Он адаптируется через обучение, что делает его подходящим для задач, таких как распознавание изображений, речи и классификация.
В современных системах часто используется комбинация обоих подходов для достижения лучших результатов.
⚖️ Какова цель масштабирования признаков (feature scaling) в машинном обучении
Цель масштабирования признаков — привести значения всех признаков к единому масштабу.
Это особенно важно для алгоритмов, чувствительных к величине признаков, таких как модели, основанные на градиентном спуске (например, логистическая регрессия) или на расстояниях (k-ближайших соседей, SVM).
Масштабирование улучшает производительность модели и ускоряет её обучение, предотвращая ситуацию, когда признаки с большими значениями доминируют над другими.
Цель масштабирования признаков — привести значения всех признаков к единому масштабу.
Это особенно важно для алгоритмов, чувствительных к величине признаков, таких как модели, основанные на градиентном спуске (например, логистическая регрессия) или на расстояниях (k-ближайших соседей, SVM).
Масштабирование улучшает производительность модели и ускоряет её обучение, предотвращая ситуацию, когда признаки с большими значениями доминируют над другими.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.